From bdbf5511323675428307fe4f30ad43864a304539 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Mon, 21 Jul 2025 22:14:07 +0200 Subject: [PATCH] Disable insets unless android >= 15 --- .../java/org/mapcomplete/MainActivity.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/org/mapcomplete/MainActivity.java b/app/src/main/java/org/mapcomplete/MainActivity.java index 85b61c6c..eae6d9b3 100644 --- a/app/src/main/java/org/mapcomplete/MainActivity.java +++ b/app/src/main/java/org/mapcomplete/MainActivity.java @@ -67,18 +67,20 @@ public class MainActivity extends BridgeActivity { }); super.onCreate(savedInstanceState); - WindowCompat.setDecorFitsSystemWindows(getWindow(), false); - Databridge.addResponder("insets", (responder) -> { - var view = getWindow().getDecorView(); - var insets = view.getRootWindowInsets(); - var topInsetPxSize= insets.getInsetsIgnoringVisibility(WindowInsets.Type.statusBars()).top; - var bottomInsetPxSize= insets.getInsetsIgnoringVisibility(WindowInsets.Type.navigationBars()).bottom; - - var json = "{ \"top\": "+topInsetPxSize+", \"bottom\":"+bottomInsetPxSize+"}"; - Log.i("insets","Inset sizes are:"+topInsetPxSize+" bottom:"+ bottomInsetPxSize); - Databridge.sendAnswerTo(responder, json); - }); + var useInsets = Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE; + WindowCompat.setDecorFitsSystemWindows(getWindow(), useInsets); + if(useInsets) { + Databridge.addResponder("insets", (responder) -> { + var view = getWindow().getDecorView(); + var insets = view.getRootWindowInsets(); + var topInsetPxSize = insets.getInsetsIgnoringVisibility(WindowInsets.Type.statusBars()).top; + var bottomInsetPxSize = insets.getInsetsIgnoringVisibility(WindowInsets.Type.navigationBars()).bottom; + var json = "{ \"top\": " + topInsetPxSize + ", \"bottom\":" + bottomInsetPxSize + "}"; + Log.i("insets", "Inset sizes are:" + topInsetPxSize + " bottom:" + bottomInsetPxSize); + Databridge.sendAnswerTo(responder, json); + }); + } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { getOnBackInvokedDispatcher().registerOnBackInvokedCallback(OnBackInvokedDispatcher.PRIORITY_OVERLAY,