Wasted/app/src/main/java/me/lucky/wasted/PanicConnectionActivity.kt

46 lines
1.6 KiB
Kotlin
Raw Normal View History

2021-12-19 16:08:21 -07:00
package me.lucky.wasted
import android.content.pm.PackageManager
import android.os.Bundle
2022-01-06 20:08:07 -07:00
import com.google.android.material.dialog.MaterialAlertDialogBuilder
2021-12-19 16:08:21 -07:00
import info.guardianproject.panic.PanicResponder
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 {
2022-01-06 18:51:24 -07:00
app = packageManager
.getApplicationLabel(packageManager.getApplicationInfo(packageName, 0))
2021-12-19 16:08:21 -07:00
} catch (exc: PackageManager.NameNotFoundException) {}
}
2022-01-06 20:08:07 -07:00
MaterialAlertDialogBuilder(this)
2022-01-08 18:31:06 -07:00
.setTitle(R.string.panic_app_dialog_title)
.setMessage(String.format(getString(R.string.panic_app_dialog_message), app))
.setNegativeButton(R.string.allow) { _, _ ->
2021-12-19 16:08:21 -07:00
PanicResponder.setTriggerPackageName(this@PanicConnectionActivity)
setResult(RESULT_OK)
}
2022-01-27 06:50:46 -07:00
.setPositiveButton(android.R.string.cancel) { _, _ ->
2021-12-19 16:08:21 -07:00
setResult(RESULT_CANCELED)
finish()
}
.show()
2021-12-19 16:08:21 -07:00
}
}