mirror of https://github.com/x13a/Wasted.git
47 lines
1.7 KiB
Kotlin
47 lines
1.7 KiB
Kotlin
package me.lucky.wasted.trigger.panic
|
|
|
|
import android.content.pm.PackageManager
|
|
import android.os.Bundle
|
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
|
|
|
import info.guardianproject.panic.PanicResponder
|
|
import me.lucky.wasted.MainActivity
|
|
import me.lucky.wasted.R
|
|
|
|
class PanicConnectionActivity : MainActivity() {
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
super.onCreate(savedInstanceState)
|
|
if (PanicResponder.checkForDisconnectIntent(this)) {
|
|
finish()
|
|
return
|
|
}
|
|
val sender = PanicResponder.getConnectIntentSender(this)
|
|
val packageName = PanicResponder.getTriggerPackageName(this)
|
|
if (sender != "" && sender != packageName) {
|
|
showOptInDialog()
|
|
}
|
|
}
|
|
|
|
private fun showOptInDialog() {
|
|
var app: CharSequence = getString(R.string.panic_app_unknown_app)
|
|
val packageName = callingActivity?.packageName
|
|
if (packageName != null) {
|
|
try {
|
|
app = packageManager
|
|
.getApplicationLabel(packageManager.getApplicationInfo(packageName, 0))
|
|
} catch (exc: PackageManager.NameNotFoundException) {}
|
|
}
|
|
MaterialAlertDialogBuilder(this)
|
|
.setTitle(R.string.panic_app_dialog_title)
|
|
.setMessage(getString(R.string.panic_app_dialog_message, app))
|
|
.setNegativeButton(R.string.allow) { _, _ ->
|
|
PanicResponder.setTriggerPackageName(this@PanicConnectionActivity)
|
|
setResult(RESULT_OK)
|
|
}
|
|
.setPositiveButton(android.R.string.cancel) { _, _ ->
|
|
setResult(RESULT_CANCELED)
|
|
finish()
|
|
}
|
|
.show()
|
|
}
|
|
} |