diff --git a/apps/rebreak-native/lib/protection.ts b/apps/rebreak-native/lib/protection.ts index 9895b82..e9d7912 100644 --- a/apps/rebreak-native/lib/protection.ts +++ b/apps/rebreak-native/lib/protection.ts @@ -129,8 +129,17 @@ export const protection = { return RebreakProtection.activateFamilyControls(); }, - /** Schaltet alle Layer ab. NUR aufrufen wenn JS-Layer Cooldown verifiziert. */ - forceDisable() { + /** Schaltet alle Layer ab + disarmed den Tamper-Lock. NUR aufrufen wenn JS-Layer Cooldown verifiziert. */ + async forceDisable() { + // Tamper-Lock ZUERST disarmen — sonst setzt der AccessibilityService den Schutz + // nach dem Cooldown weiter durch (blockt z.B. das Ausschalten des a11y-Service in den + // System-Settings) → der User kommt nicht aus dem Schutz raus, obwohl der Cooldown + // abgelaufen ist. (Android-Bug-Fix.) + try { + await RebreakProtection.disarmTamperLock(); + } catch (e) { + console.warn("[protection] disarmTamperLock failed:", e); + } return RebreakProtection.disable(); },