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(