diff --git a/app/build.gradle b/app/build.gradle
index 9be6d6f..78f20c4 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -10,8 +10,8 @@ android {
applicationId "me.lucky.wasted"
minSdk 23
targetSdk 31
- versionCode 9
- versionName "1.1.2"
+ versionCode 10
+ versionName "1.1.3"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
diff --git a/app/src/main/java/me/lucky/wasted/CodeReceiver.kt b/app/src/main/java/me/lucky/wasted/CodeReceiver.kt
index 50600f8..43ec5be 100644
--- a/app/src/main/java/me/lucky/wasted/CodeReceiver.kt
+++ b/app/src/main/java/me/lucky/wasted/CodeReceiver.kt
@@ -1,6 +1,5 @@
package me.lucky.wasted
-import android.app.admin.DevicePolicyManager
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
@@ -17,10 +16,10 @@ class CodeReceiver : BroadcastReceiver() {
code == "" ||
intent.action != TRIGGER ||
intent.getStringExtra("code") != code) return
- val dpm = context.getSystemService(Context.DEVICE_POLICY_SERVICE) as DevicePolicyManager
+ val admin = DeviceAdmin(context)
try {
- dpm.lockNow()
- if (prefs.doWipe) dpm.wipeData(Utils.getWipeDataFlags())
+ admin.dpm.lockNow()
+ if (prefs.doWipe) admin.wipeData()
} catch (exc: SecurityException) {}
}
}
diff --git a/app/src/main/java/me/lucky/wasted/DeviceAdmin.kt b/app/src/main/java/me/lucky/wasted/DeviceAdmin.kt
index da4e38c..d0f2ebe 100644
--- a/app/src/main/java/me/lucky/wasted/DeviceAdmin.kt
+++ b/app/src/main/java/me/lucky/wasted/DeviceAdmin.kt
@@ -3,6 +3,7 @@ package me.lucky.wasted
import android.app.admin.DevicePolicyManager
import android.content.ComponentName
import android.content.Context
+import android.os.Build
class DeviceAdmin(ctx: Context) {
val dpm by lazy {
@@ -12,4 +13,9 @@ class DeviceAdmin(ctx: Context) {
fun remove() = dpm.removeActiveAdmin(deviceAdmin)
fun isActive(): Boolean = dpm.isAdminActive(deviceAdmin)
+
+ fun wipeData() {
+ dpm.wipeData(if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
+ DevicePolicyManager.WIPE_SILENTLY else 0)
+ }
}
diff --git a/app/src/main/java/me/lucky/wasted/MainActivity.kt b/app/src/main/java/me/lucky/wasted/MainActivity.kt
index 23b621e..fb7196d 100644
--- a/app/src/main/java/me/lucky/wasted/MainActivity.kt
+++ b/app/src/main/java/me/lucky/wasted/MainActivity.kt
@@ -9,9 +9,8 @@ import android.os.Bundle
import android.widget.Toast
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity
-import java.util.*
-
import me.lucky.wasted.databinding.ActivityMainBinding
+import java.util.*
open class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
diff --git a/app/src/main/java/me/lucky/wasted/PanicResponderActivity.kt b/app/src/main/java/me/lucky/wasted/PanicResponderActivity.kt
index 62179c4..7950436 100644
--- a/app/src/main/java/me/lucky/wasted/PanicResponderActivity.kt
+++ b/app/src/main/java/me/lucky/wasted/PanicResponderActivity.kt
@@ -1,7 +1,5 @@
package me.lucky.wasted
-import android.app.admin.DevicePolicyManager
-import android.content.Context
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
@@ -10,9 +8,7 @@ import info.guardianproject.panic.PanicResponder
class PanicResponderActivity : AppCompatActivity() {
private val prefs by lazy { Preferences(this) }
- private val dpm by lazy {
- getSystemService(Context.DEVICE_POLICY_SERVICE) as DevicePolicyManager
- }
+ private val admin by lazy { DeviceAdmin(this) }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -21,9 +17,9 @@ class PanicResponderActivity : AppCompatActivity() {
return
}
try {
- dpm.lockNow()
+ admin.dpm.lockNow()
if (PanicResponder.receivedTriggerFromConnectedApp(this) &&
- prefs.doWipe) dpm.wipeData(Utils.getWipeDataFlags())
+ prefs.doWipe) admin.wipeData()
} catch (exc: SecurityException) {}
finish()
}
diff --git a/app/src/main/java/me/lucky/wasted/QSTileService.kt b/app/src/main/java/me/lucky/wasted/QSTileService.kt
index 3233497..e792ad5 100644
--- a/app/src/main/java/me/lucky/wasted/QSTileService.kt
+++ b/app/src/main/java/me/lucky/wasted/QSTileService.kt
@@ -40,7 +40,7 @@ class QSTileService : TileService() {
timer?.schedule(timerTask {
try {
admin.dpm.lockNow()
- admin.dpm.wipeData(Utils.getWipeDataFlags())
+ admin.wipeData()
} catch (exc: SecurityException) {}
}, 2000)
}
diff --git a/app/src/main/java/me/lucky/wasted/Utils.kt b/app/src/main/java/me/lucky/wasted/Utils.kt
deleted file mode 100644
index 26250b1..0000000
--- a/app/src/main/java/me/lucky/wasted/Utils.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package me.lucky.wasted
-
-import android.app.admin.DevicePolicyManager
-import android.os.Build
-
-class Utils {
- companion object {
- fun getWipeDataFlags(): Int {
- return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
- DevicePolicyManager.WIPE_SILENTLY else 0
- }
- }
-}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index fba4cda..f276a06 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -6,7 +6,7 @@
Admin service unavailable
Wipe data
Confirm Panic App
- Are you sure that you want to allow %1$s to trigger destructive panic actions?
+ Are you sure that you want to allow %1$s to trigger destructive panic actions\?
an unknown app
Allow
Cancel
diff --git a/fastlane/metadata/android/en-US/changelogs/10.txt b/fastlane/metadata/android/en-US/changelogs/10.txt
new file mode 100644
index 0000000..5d45bf6
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/10.txt
@@ -0,0 +1 @@
+under the hood improvements
diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png
index ea8b0e6..e335dea 100644
Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png and b/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png differ