diff --git a/app/src/main/java/me/lucky/wasted/MainActivity.kt b/app/src/main/java/me/lucky/wasted/MainActivity.kt
index e990a06..7278d5f 100644
--- a/app/src/main/java/me/lucky/wasted/MainActivity.kt
+++ b/app/src/main/java/me/lucky/wasted/MainActivity.kt
@@ -64,7 +64,7 @@ open class MainActivity : AppCompatActivity() {
wipeESIM.isChecked = prefs.isWipeESIM
wipeESIM.isEnabled = wipeData.isChecked
maxFailedPasswordAttempts.value = prefs.maxFailedPasswordAttempts.toFloat()
- wipeOnInactiveSwitch.isChecked = prefs.isWipeOnInactive
+ wipeOnInactivitySwitch.isChecked = prefs.isWipeOnInactivity
toggle.isChecked = prefs.isServiceEnabled
}
}
@@ -91,17 +91,17 @@ open class MainActivity : AppCompatActivity() {
maxFailedPasswordAttempts.addOnChangeListener { _, value, _ ->
prefs.maxFailedPasswordAttempts = value.toInt()
}
- wipeOnInactiveSwitch.setOnCheckedChangeListener { _, isChecked ->
- if (!setWipeOnInactiveComponentsState(prefs.isServiceEnabled && isChecked)) {
- wipeOnInactiveSwitch.isChecked = false
+ wipeOnInactivitySwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (!setWipeOnInactivityComponentsState(prefs.isServiceEnabled && isChecked)) {
+ wipeOnInactivitySwitch.isChecked = false
showWipeJobServiceStartFailedPopup()
return@setOnCheckedChangeListener
}
- prefs.isWipeOnInactive = isChecked
+ prefs.isWipeOnInactivity = isChecked
}
- wipeOnInactiveSwitch.setOnLongClickListener {
- showWipeOnInactiveSettings()
+ wipeOnInactivitySwitch.setOnLongClickListener {
+ showWipeOnInactivitySettings()
true
}
toggle.setOnCheckedChangeListener { _, isChecked ->
@@ -113,19 +113,19 @@ open class MainActivity : AppCompatActivity() {
}
}
- private fun showWipeOnInactiveSettings() {
+ private fun showWipeOnInactivitySettings() {
val items = arrayOf("1", "2", "3", "5", "7", "10", "15", "30")
- var days = prefs.wipeOnInactiveDays
+ var days = prefs.wipeOnInactivityDays
var checked = items.indexOf(days.toString())
if (checked == -1) checked = items
- .indexOf(Preferences.DEFAULT_WIPE_ON_INACTIVE_DAYS.toString())
+ .indexOf(Preferences.DEFAULT_WIPE_ON_INACTIVITY_DAYS.toString())
MaterialAlertDialogBuilder(this)
- .setTitle(R.string.wipe_on_inactive_days)
+ .setTitle(R.string.wipe_on_inactivity_days)
.setSingleChoiceItems(items, checked) { _, which ->
days = items[which].toInt()
}
.setPositiveButton(R.string.ok) { _, _ ->
- prefs.wipeOnInactiveDays = days
+ prefs.wipeOnInactivityDays = days
}
.show()
}
@@ -137,7 +137,7 @@ open class MainActivity : AppCompatActivity() {
}
private fun setOn() {
- if (!setWipeOnInactiveComponentsState(prefs.isWipeOnInactive)) {
+ if (!setWipeOnInactivityComponentsState(prefs.isWipeOnInactivity)) {
binding.toggle.isChecked = false
showWipeJobServiceStartFailedPopup()
return
@@ -158,7 +158,7 @@ open class MainActivity : AppCompatActivity() {
private fun setOff() {
prefs.isServiceEnabled = false
setCodeReceiverState(false)
- setWipeOnInactiveComponentsState(false)
+ setWipeOnInactivityComponentsState(false)
shortcut.remove()
admin.remove()
}
@@ -185,7 +185,7 @@ open class MainActivity : AppCompatActivity() {
}
}
- private fun setWipeOnInactiveComponentsState(value: Boolean): Boolean {
+ private fun setWipeOnInactivityComponentsState(value: Boolean): Boolean {
val result = job.setState(value)
if (result) {
setUnlockServiceState(value)
diff --git a/app/src/main/java/me/lucky/wasted/Preferences.kt b/app/src/main/java/me/lucky/wasted/Preferences.kt
index b766302..e8925e2 100644
--- a/app/src/main/java/me/lucky/wasted/Preferences.kt
+++ b/app/src/main/java/me/lucky/wasted/Preferences.kt
@@ -7,7 +7,7 @@ import androidx.security.crypto.MasterKeys
class Preferences(ctx: Context) {
companion object {
- const val DEFAULT_WIPE_ON_INACTIVE_DAYS = 7
+ const val DEFAULT_WIPE_ON_INACTIVITY_DAYS = 7
private const val SERVICE_ENABLED = "service_enabled"
private const val CODE = "code"
@@ -15,12 +15,14 @@ class Preferences(ctx: Context) {
private const val WIPE_DATA = "wipe_data"
private const val WIPE_ESIM = "wipe_esim"
private const val MAX_FAILED_PASSWORD_ATTEMPTS = "max_failed_password_attempts"
- private const val WIPE_ON_INACTIVE = "wipe_on_inactive"
- private const val WIPE_ON_INACTIVE_DAYS = "wipe_on_inactive_days"
+ private const val WIPE_ON_INACTIVITY = "wipe_on_inactivity"
+ private const val WIPE_ON_INACTIVITY_DAYS = "wipe_on_inactivity_days"
private const val FILE_NAME = "sec_shared_prefs"
// migration
private const val DO_WIPE = "do_wipe"
+ private const val WIPE_ON_INACTIVE = "wipe_on_inactive"
+ private const val WIPE_ON_INACTIVE_DAYS = "wipe_on_inactive_days"
}
private val mk = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC)
@@ -56,11 +58,17 @@ class Preferences(ctx: Context) {
get() = prefs.getInt(MAX_FAILED_PASSWORD_ATTEMPTS, 0)
set(value) = prefs.edit { putInt(MAX_FAILED_PASSWORD_ATTEMPTS, value) }
- var isWipeOnInactive: Boolean
- get() = prefs.getBoolean(WIPE_ON_INACTIVE, false)
- set(value) = prefs.edit { putBoolean(WIPE_ON_INACTIVE, value) }
+ var isWipeOnInactivity: Boolean
+ get() = prefs.getBoolean(
+ WIPE_ON_INACTIVITY,
+ prefs.getBoolean(WIPE_ON_INACTIVE, false),
+ )
+ set(value) = prefs.edit { putBoolean(WIPE_ON_INACTIVITY, value) }
- var wipeOnInactiveDays: Int
- get() = prefs.getInt(WIPE_ON_INACTIVE_DAYS, DEFAULT_WIPE_ON_INACTIVE_DAYS)
- set(value) = prefs.edit { putInt(WIPE_ON_INACTIVE_DAYS, value) }
+ var wipeOnInactivityDays: Int
+ get() = prefs.getInt(
+ WIPE_ON_INACTIVITY_DAYS,
+ prefs.getInt(WIPE_ON_INACTIVE_DAYS, DEFAULT_WIPE_ON_INACTIVITY_DAYS),
+ )
+ set(value) = prefs.edit { putInt(WIPE_ON_INACTIVITY_DAYS, value) }
}
diff --git a/app/src/main/java/me/lucky/wasted/RestartReceiver.kt b/app/src/main/java/me/lucky/wasted/RestartReceiver.kt
index 02505da..256a1ca 100644
--- a/app/src/main/java/me/lucky/wasted/RestartReceiver.kt
+++ b/app/src/main/java/me/lucky/wasted/RestartReceiver.kt
@@ -10,7 +10,7 @@ class RestartReceiver : BroadcastReceiver() {
if (intent.action != Intent.ACTION_BOOT_COMPLETED &&
intent.action != Intent.ACTION_MY_PACKAGE_REPLACED) return
val prefs = Preferences(context)
- if (!prefs.isServiceEnabled || !prefs.isWipeOnInactive) return
+ if (!prefs.isServiceEnabled || !prefs.isWipeOnInactivity) return
ContextCompat.startForegroundService(context, Intent(context, UnlockService::class.java))
}
}
diff --git a/app/src/main/java/me/lucky/wasted/WipeJobManager.kt b/app/src/main/java/me/lucky/wasted/WipeJobManager.kt
index 04431db..c4fa4bc 100644
--- a/app/src/main/java/me/lucky/wasted/WipeJobManager.kt
+++ b/app/src/main/java/me/lucky/wasted/WipeJobManager.kt
@@ -18,7 +18,7 @@ class WipeJobManager(private val ctx: Context) {
fun schedule(): Int {
return jobScheduler.schedule(
JobInfo.Builder(JOB_ID, ComponentName(ctx, WipeJobService::class.java))
- .setMinimumLatency(TimeUnit.DAYS.toMillis(prefs.wipeOnInactiveDays.toLong()))
+ .setMinimumLatency(TimeUnit.DAYS.toMillis(prefs.wipeOnInactivityDays.toLong()))
.setBackoffCriteria(0, JobInfo.BACKOFF_POLICY_LINEAR)
.setPersisted(true)
.build()
diff --git a/app/src/main/java/me/lucky/wasted/WipeJobService.kt b/app/src/main/java/me/lucky/wasted/WipeJobService.kt
index 4908178..77ba7a8 100644
--- a/app/src/main/java/me/lucky/wasted/WipeJobService.kt
+++ b/app/src/main/java/me/lucky/wasted/WipeJobService.kt
@@ -6,7 +6,7 @@ import android.app.job.JobService
class WipeJobService : JobService() {
override fun onStartJob(params: JobParameters?): Boolean {
val prefs = Preferences(this)
- if (!prefs.isServiceEnabled || !prefs.isWipeOnInactive) return false
+ if (!prefs.isServiceEnabled || !prefs.isWipeOnInactivity) return false
try {
DeviceAdminManager(this).wipeData()
} catch (exc: SecurityException) {}
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index c147ff0..7b384f6 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -98,17 +98,17 @@
android:layout_marginVertical="8dp" />
+ android:text="@string/wipe_on_inactivity_switch" />
+ android:text="@string/wipe_on_inactivity_description" />
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index c311e1c..b11498d 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -15,12 +15,12 @@
Паниковать
Максимальное количество неудачных попыток ввода пароля.
Количество
- Стереть при неактивности
- Стереть данные когда устройство не разблокируется N дней.
- Дней
+ Стереть при неактивности
+ Стереть данные когда устройство не разблокируется N дней.
+ Дней
Дефолт
OK
- Стереть данные при условии
+ Стереть данные при неактивности
Не удалось запустить службу стирания данных
Получать события разблокировки
Служба Разблокировки
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 243f0ce..450a3f4 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -15,12 +15,12 @@
Panic
Maximum number of failed password attempts.
Count
- Wipe on inactive
- Wipe device when it was not unlocked for N days.
- Days
+ Wipe on inactivity
+ Wipe device when it was not unlocked for N days.
+ Days
Default
OK
- Wipe device on condition
+ Wipe device on inactivity
Failed to start wipe service
Receive unlock events
Unlock Service
diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png
index 2c5c0d3..fa1e516 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