package expo.modules.rebreakprotection.admin

import android.app.admin.DeviceAdminReceiver
import android.content.Context
import android.content.Intent
import android.util.Log

/**
 * Minimal Device-Admin-Receiver.
 *
 * Zweck: Allein das Vorhandensein eines aktiven Device-Admins verhindert, dass
 * das System die App direkt deinstallieren kann. Keine weiteren Policies werden
 * angewendet — kein Passwort-Zwang, kein Wipe, kein Kamera-Block.
 *
 * Deaktivierung geschieht ausschliesslich via `removeDeviceAdmin()` im
 * RebreakProtectionModule, das aus dem JS-Cooldown-Resolve-Pfad (forceDisable)
 * aufgerufen wird. Dadurch ist sichergestellt, dass der User nach einem
 * abgelaufenen Cooldown die App deinstallieren kann.
 */
class RebreakDeviceAdminReceiver : DeviceAdminReceiver() {

    override fun onEnabled(context: Context, intent: Intent) {
        Log.i(TAG, "Device-Admin aktiviert")
    }

    override fun onDisabled(context: Context, intent: Intent) {
        Log.i(TAG, "Device-Admin deaktiviert")
    }

    companion object {
        private const val TAG = "RebreakDeviceAdmin"
    }
}
