From 3e5101aab82e481fe52f689bc34fcfa361b972d6 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 17 Jul 2025 16:50:39 +0200 Subject: [PATCH] Also support lower android version --- app/build.gradle | 4 +-- app/src/main/AndroidManifest.xml | 3 +- .../java/org/mapcomplete/MainActivity.java | 31 ++++++++++++++----- 3 files changed, 28 insertions(+), 10 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index cb92a36e..06e24348 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,8 +5,8 @@ android { compileSdk rootProject.ext.compileSdkVersion defaultConfig { applicationId "org.mapcomplete" - minSdkVersion rootProject.ext.minSdkVersion - targetSdkVersion rootProject.ext.targetSdkVersion + minSdk 30 + targetSdkVersion targetSdkVersion versionCode 9 versionName "debug" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 817307d1..1bebc67d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,5 +1,6 @@ - + + { - System.out.println("Back button pressed"); - if (this.backbutton != null) { - Databridge.sendAnswerTo(this.backbutton, "backbutton pressed"); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + getOnBackInvokedDispatcher().registerOnBackInvokedCallback(OnBackInvokedDispatcher.PRIORITY_OVERLAY, + () -> { + System.out.println("Back button pressed"); + if (this.backbutton != null) { + Databridge.sendAnswerTo(this.backbutton, "backbutton pressed"); + } } - } - ); + ); + } } + @Override + public void onBackPressed() { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) { + System.out.println("Back button pressed (old)"); + if (this.backbutton != null) { + Databridge.sendAnswerTo(this.backbutton, "backbutton pressed"); + } + }else{ + super.onBackPressed(); + } + + } + + private boolean hasGeolocationPermission() { return ContextCompat.checkSelfPermission(