summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-11-11 19:11:30 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-11-30 13:24:42 +0000
commit792e0832c79ed13ea8fe2caefb183a08f7937b4a (patch)
treec371d160dba3a759d1bc32ce8ec8f1148dce737c
parente0ef514fb74d9a15bc7c42318c1405df539b1121 (diff)
downloadmullvadvpn-792e0832c79ed13ea8fe2caefb183a08f7937b4a.tar.xz
mullvadvpn-792e0832c79ed13ea8fe2caefb183a08f7937b4a.zip
Allow intercepting back button presses
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt10
1 files changed, 10 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt
index a7a6f3dbef..44996b55b8 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt
@@ -77,6 +77,8 @@ class MainActivity : FragmentActivity() {
}
}
+ var backButtonHandler: (() -> Boolean)? = null
+
override fun onCreate(savedInstanceState: Bundle?) {
if (deviceIsTv) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE)
@@ -122,6 +124,14 @@ class MainActivity : FragmentActivity() {
setVpnPermission(resultCode == Activity.RESULT_OK)
}
+ override fun onBackPressed() {
+ val handled = backButtonHandler?.invoke() ?: false
+
+ if (!handled) {
+ super.onBackPressed()
+ }
+ }
+
override fun onStop() {
android.util.Log.d("mullvad", "Stoping main activity")
isUiVisible = false