mirror of https://github.com/x13a/Wasted.git
escape question char in strings
This commit is contained in:
parent
afce3f24df
commit
ee3a0f4d89
|
@ -10,8 +10,8 @@ android {
|
||||||
applicationId "me.lucky.wasted"
|
applicationId "me.lucky.wasted"
|
||||||
minSdk 23
|
minSdk 23
|
||||||
targetSdk 31
|
targetSdk 31
|
||||||
versionCode 9
|
versionCode 10
|
||||||
versionName "1.1.2"
|
versionName "1.1.3"
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package me.lucky.wasted
|
package me.lucky.wasted
|
||||||
|
|
||||||
import android.app.admin.DevicePolicyManager
|
|
||||||
import android.content.BroadcastReceiver
|
import android.content.BroadcastReceiver
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
@ -17,10 +16,10 @@ class CodeReceiver : BroadcastReceiver() {
|
||||||
code == "" ||
|
code == "" ||
|
||||||
intent.action != TRIGGER ||
|
intent.action != TRIGGER ||
|
||||||
intent.getStringExtra("code") != code) return
|
intent.getStringExtra("code") != code) return
|
||||||
val dpm = context.getSystemService(Context.DEVICE_POLICY_SERVICE) as DevicePolicyManager
|
val admin = DeviceAdmin(context)
|
||||||
try {
|
try {
|
||||||
dpm.lockNow()
|
admin.dpm.lockNow()
|
||||||
if (prefs.doWipe) dpm.wipeData(Utils.getWipeDataFlags())
|
if (prefs.doWipe) admin.wipeData()
|
||||||
} catch (exc: SecurityException) {}
|
} catch (exc: SecurityException) {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package me.lucky.wasted
|
||||||
import android.app.admin.DevicePolicyManager
|
import android.app.admin.DevicePolicyManager
|
||||||
import android.content.ComponentName
|
import android.content.ComponentName
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.os.Build
|
||||||
|
|
||||||
class DeviceAdmin(ctx: Context) {
|
class DeviceAdmin(ctx: Context) {
|
||||||
val dpm by lazy {
|
val dpm by lazy {
|
||||||
|
@ -12,4 +13,9 @@ class DeviceAdmin(ctx: Context) {
|
||||||
|
|
||||||
fun remove() = dpm.removeActiveAdmin(deviceAdmin)
|
fun remove() = dpm.removeActiveAdmin(deviceAdmin)
|
||||||
fun isActive(): Boolean = dpm.isAdminActive(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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,9 +9,8 @@ import android.os.Bundle
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import java.util.*
|
|
||||||
|
|
||||||
import me.lucky.wasted.databinding.ActivityMainBinding
|
import me.lucky.wasted.databinding.ActivityMainBinding
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
open class MainActivity : AppCompatActivity() {
|
open class MainActivity : AppCompatActivity() {
|
||||||
private lateinit var binding: ActivityMainBinding
|
private lateinit var binding: ActivityMainBinding
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package me.lucky.wasted
|
package me.lucky.wasted
|
||||||
|
|
||||||
import android.app.admin.DevicePolicyManager
|
|
||||||
import android.content.Context
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
|
||||||
|
@ -10,9 +8,7 @@ import info.guardianproject.panic.PanicResponder
|
||||||
|
|
||||||
class PanicResponderActivity : AppCompatActivity() {
|
class PanicResponderActivity : AppCompatActivity() {
|
||||||
private val prefs by lazy { Preferences(this) }
|
private val prefs by lazy { Preferences(this) }
|
||||||
private val dpm by lazy {
|
private val admin by lazy { DeviceAdmin(this) }
|
||||||
getSystemService(Context.DEVICE_POLICY_SERVICE) as DevicePolicyManager
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
@ -21,9 +17,9 @@ class PanicResponderActivity : AppCompatActivity() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
dpm.lockNow()
|
admin.dpm.lockNow()
|
||||||
if (PanicResponder.receivedTriggerFromConnectedApp(this) &&
|
if (PanicResponder.receivedTriggerFromConnectedApp(this) &&
|
||||||
prefs.doWipe) dpm.wipeData(Utils.getWipeDataFlags())
|
prefs.doWipe) admin.wipeData()
|
||||||
} catch (exc: SecurityException) {}
|
} catch (exc: SecurityException) {}
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@ class QSTileService : TileService() {
|
||||||
timer?.schedule(timerTask {
|
timer?.schedule(timerTask {
|
||||||
try {
|
try {
|
||||||
admin.dpm.lockNow()
|
admin.dpm.lockNow()
|
||||||
admin.dpm.wipeData(Utils.getWipeDataFlags())
|
admin.wipeData()
|
||||||
} catch (exc: SecurityException) {}
|
} catch (exc: SecurityException) {}
|
||||||
}, 2000)
|
}, 2000)
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -6,7 +6,7 @@
|
||||||
<string name="service_unavailable_toast">Admin service unavailable</string>
|
<string name="service_unavailable_toast">Admin service unavailable</string>
|
||||||
<string name="wipe_data_check_box">Wipe data</string>
|
<string name="wipe_data_check_box">Wipe data</string>
|
||||||
<string name="panic_app_dialog_title">Confirm Panic App</string>
|
<string name="panic_app_dialog_title">Confirm Panic App</string>
|
||||||
<string name="panic_app_dialog_message">Are you sure that you want to allow %1$s to trigger destructive panic actions?</string>
|
<string name="panic_app_dialog_message">Are you sure that you want to allow %1$s to trigger destructive panic actions\?</string>
|
||||||
<string name="panic_app_unknown_app">an unknown app</string>
|
<string name="panic_app_unknown_app">an unknown app</string>
|
||||||
<string name="allow">Allow</string>
|
<string name="allow">Allow</string>
|
||||||
<string name="cancel">Cancel</string>
|
<string name="cancel">Cancel</string>
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
under the hood improvements
|
Binary file not shown.
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 72 KiB |
Loading…
Reference in New Issue