diff --git a/app/src/main/java/me/lucky/wasted/DeviceAdminReceiver.kt b/app/src/main/java/me/lucky/wasted/DeviceAdminReceiver.kt index 993c10f..f48ddf4 100644 --- a/app/src/main/java/me/lucky/wasted/DeviceAdminReceiver.kt +++ b/app/src/main/java/me/lucky/wasted/DeviceAdminReceiver.kt @@ -5,6 +5,7 @@ import android.content.Context import android.content.Intent import android.os.Build import android.os.UserHandle +import android.widget.Toast import androidx.annotation.RequiresApi class DeviceAdminReceiver : DeviceAdminReceiver() { @@ -20,6 +21,17 @@ class DeviceAdminReceiver : DeviceAdminReceiver() { onPasswordFailedInternal(context) } + override fun onDisabled(context: Context, intent: Intent) { + super.onDisabled(context, intent) + if (Preferences(context).isServiceEnabled) { + Toast.makeText( + context, + context.getString(R.string.service_unavailable_popup), + Toast.LENGTH_SHORT, + ).show() + } + } + private fun onPasswordFailedInternal(ctx: Context) { val prefs = Preferences(ctx) if (!prefs.isServiceEnabled || prefs.maxFailedPasswordAttempts == 0) return diff --git a/app/src/main/java/me/lucky/wasted/MainActivity.kt b/app/src/main/java/me/lucky/wasted/MainActivity.kt index 741b78e..288de5b 100644 --- a/app/src/main/java/me/lucky/wasted/MainActivity.kt +++ b/app/src/main/java/me/lucky/wasted/MainActivity.kt @@ -111,10 +111,10 @@ open class MainActivity : AppCompatActivity() { } private fun setOff() { - admin.remove() + prefs.isServiceEnabled = false setCodeReceiverState(this, false) shortcut.remove() - prefs.isServiceEnabled = false + admin.remove() } private fun requestAdmin() = requestAdminPolicy.launch(admin.makeRequestIntent())