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

47 lines
1.7 KiB
Kotlin
Raw Normal View History

2022-07-06 18:15:25 -06:00
package me.lucky.wasted.trigger.panic
2021-12-19 16:08:21 -07:00
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
2022-07-06 18:15:25 -06:00
import me.lucky.wasted.MainActivity
import me.lucky.wasted.R
2021-12-19 16:08:21 -07:00
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)
2022-02-16 02:31:45 -07:00
.setMessage(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
}
2022-07-06 18:15:25 -06:00
}