From d11478d92c5de7a56c99763e2be47a2db68fa63a Mon Sep 17 00:00:00 2001 From: Herbert Reiter <4941275-moasda@users.noreply.gitlab.com> Date: Sat, 30 Aug 2025 15:36:20 +0200 Subject: [PATCH] Update minimum supported Android API to 33 --- app/build.gradle | 2 +- .../main/java/net/moasdawiki/app/MainActivity.java | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index f1e76d4..4662781 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,7 +5,7 @@ android { compileSdk = 36 // 36 = Android 16 defaultConfig { applicationId "net.moasdawiki.app" - minSdk = 28 // 28 = Android 9 + minSdk = 33 // 33 = Android 13 Tiramisu targetSdk = 36 // should be same as compileSdk versionCode = 47 versionName = "3.9.5.0" diff --git a/app/src/main/java/net/moasdawiki/app/MainActivity.java b/app/src/main/java/net/moasdawiki/app/MainActivity.java index 89d500a..f9b05f6 100644 --- a/app/src/main/java/net/moasdawiki/app/MainActivity.java +++ b/app/src/main/java/net/moasdawiki/app/MainActivity.java @@ -44,6 +44,8 @@ import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; +import android.window.OnBackInvokedCallback; +import android.window.OnBackInvokedDispatcher; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -61,7 +63,6 @@ import net.moasdawiki.service.repository.RepositoryService; import net.moasdawiki.util.EscapeUtils; import java.io.ByteArrayInputStream; -import java.io.IOException; import java.io.InputStream; import java.net.URLDecoder; import java.util.Arrays; @@ -75,7 +76,7 @@ import java.util.concurrent.Executors; /** * Displays the main window with the embedded wiki browser. */ -public class MainActivity extends AppCompatActivity { +public class MainActivity extends AppCompatActivity implements OnBackInvokedCallback { private static final String TAG = "MainActivity"; private static final String SERVER_BASE_URL = "http://localhost:1/"; @@ -114,6 +115,8 @@ public class MainActivity extends AppCompatActivity { return false; } }); + + getOnBackInvokedDispatcher().registerOnBackInvokedCallback(OnBackInvokedDispatcher.PRIORITY_DEFAULT, this); } /** @@ -263,9 +266,7 @@ public class MainActivity extends AppCompatActivity { super.onRequestPermissionsResult(requestCode, permissions, grantResults); } - @Override - public void onBackPressed() { - // webview.canGoBack() always returns false + public void onBackInvoked() { WebBackForwardList backForwardList = webview.copyBackForwardList(); Log.d(TAG, "Back button pressed, backForwardList index == " + backForwardList.getCurrentIndex()); if (backForwardList.getCurrentIndex() > 0) { @@ -274,7 +275,6 @@ public class MainActivity extends AppCompatActivity { // Close app finish(); } - super.onBackPressed(); } public void onConfigurationHintClicked(@SuppressWarnings("unused") View view) {