From 69f577769d41dbc8fceec62d438e757d4db56b7e Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Mon, 30 May 2022 09:56:07 -0700 Subject: [PATCH] Fix back button handling --- .../main/java/org/traccar/manager/MainActivity.kt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/traccar/manager/MainActivity.kt b/app/src/main/java/org/traccar/manager/MainActivity.kt index 945b108..1f97061 100644 --- a/app/src/main/java/org/traccar/manager/MainActivity.kt +++ b/app/src/main/java/org/traccar/manager/MainActivity.kt @@ -1,5 +1,5 @@ /* - * Copyright 2016 - 2021 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2022 Anton Tananaev (anton@traccar.org) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ package org.traccar.manager import android.os.Build import android.os.Bundle +import android.webkit.WebViewFragment import androidx.annotation.RequiresApi import androidx.appcompat.app.AppCompatActivity import androidx.preference.PreferenceManager @@ -44,6 +45,16 @@ class MainActivity : AppCompatActivity() { override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) { val fragment = fragmentManager.findFragmentById(android.R.id.content) fragment?.onRequestPermissionsResult(requestCode, permissions, grantResults) + super.onRequestPermissionsResult(requestCode, permissions, grantResults) + } + + override fun onBackPressed() { + val fragment = fragmentManager.findFragmentById(android.R.id.content) as? WebViewFragment + if (fragment?.webView?.canGoBack() == true) { + fragment.webView.goBack(); + } else { + super.onBackPressed() + } } companion object {