Süre başlatıldığı anda telefonu kullanılamaz hale getiren Android odaklanma uygulaması. Oturum, uygulama kapatılsa ya da telefon yeniden başlatılsa bile süre dolana kadar sonlandırılamaz.
- Kilit: Süre başlayınca ekranı kaplayan engelleyici katman devreye girer; başka bir uygulamaya geçiş erişilebilirlik servisiyle yakalanıp bloklanır.
- Yeniden başlatmaya dayanır: Oturum diskte tutulur, açılışta geri kurulur.
- Saat oynamasına dayanır: Duvar saati ve
elapsedRealtimebirlikte izlenir; sistem saatini değiştirmek kalan süreyi etkilemez. - Çıkış yok: Vazgeçme ya da erken kilit açma diye bir yol yoktur; native taraf süre dolmadan gelen bitirme isteğini reddeder.
- Tek istisna telefon görüşmesi: Acil durum numarası ve rehberden seçilen en fazla üç güvenilir kişi aranabilir; gelen çağrılardan da yalnızca onlarınki geçer, diğerleri reddedilir.
- Sessizlik: Oturum boyunca tüm bildirimler susturulur, eski ayarlar bitişte geri yüklenir.
Mimarinin ayrıntısı: KILIT.md
Ebeveyn ve çocuk telefonları 6 haneli bir eşleşme koduyla, kendi barındırdığınız
bir senkronizasyon sunucusu üzerinden haberleşir — Firebase kullanılmaz. Sunucu
server/ altındadır; Dokploy kurulumu: DOKPLOY.md
Oturum başlatılabilmesi için kullanıcının vermesi gerekenler — uygulama içindeki "Kilit Kurulumu" ekranından tek tek yönlendirilir:
| İzin | Neden |
|---|---|
| Diğer uygulamaların üzerinde göster | Engelleyici katmanı çizmek |
| Erişilebilirlik servisi | Uygulama geçişlerini yakalamak |
| Rahatsız etmeyin erişimi | Bildirimleri susturmak |
| Çağrı tarama rolü (Android 10+) | İstenmeyen çağrıları elemek |
Rehber izni istenmez — güvenilir kişi sistem seçicisiyle seçilir, yalnızca seçilen kayıt okunur.
npm install
npm run androidRelease APK üretmek için (sürüm android/app/build.gradle içindeki
versionName değerinden okunur, dosya adı otomatik olarak onu takip eder):
./build-apk.shÇıktılar: v.<sürüm>.apk (arm64), v.<sürüm>-x86_64.apk (emülatör),
v.<sürüm>-universal.apk.
Sürüm yükseltirken versionCode ve versionName birlikte artırılmalı; aksi
halde telefon yeni APK'yı güncelleme olarak kabul etmez.
Erken sürüm, kişisel kullanım için. Yapılacaklar:
- Release keystore (şu an debug anahtarıyla imzalanıyor)
- Premium/ödeme akışı — arayüzü kaldırıldı, gerçek Google Play Billing ile bağlanacak
- Play Store yayını (erişilebilirlik servisi beyanı gerekir)
Sideload edilen APK'lar Play Protect tarafından engellenebilir; Android 13+ erişilebilirlik servisini açmak için "Kısıtlı ayarlara izin ver" gerekir.