From 1c7bbc7508fbfee9abf4b2c92b7f63ae703c3168 Mon Sep 17 00:00:00 2001 From: sspanak Date: Thu, 20 Feb 2025 18:04:42 +0200 Subject: [PATCH] attempt to fix the random zero insets on Android 15 --- .../github/sspanak/tt9/ui/main/BaseMainLayout.java | 12 ++++++++++++ .../github/sspanak/tt9/ui/main/MainLayoutNumpad.java | 2 ++ 2 files changed, 14 insertions(+) diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/main/BaseMainLayout.java b/app/src/main/java/io/github/sspanak/tt9/ui/main/BaseMainLayout.java index ee8729ba..fd34b146 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/main/BaseMainLayout.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/main/BaseMainLayout.java @@ -87,6 +87,18 @@ abstract class BaseMainLayout { } + protected void preventEdgeToEdge() { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.VANILLA_ICE_CREAM || tt9 == null || tt9.isInputLimited()) { + return; + } + + WindowInsets insets = view != null ? view.getRootWindowInsets() : null; + if (insets != null) { + preventEdgeToEdge(view, insets); + } + } + + void requestPreventEdgeToEdge() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM && view != null) { view.requestApplyInsets(); diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutNumpad.java b/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutNumpad.java index b2f1eba8..be846bce 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutNumpad.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutNumpad.java @@ -282,5 +282,7 @@ class MainLayoutNumpad extends BaseMainLayout { for (SoftKey key : getKeys()) { key.render(); } + + preventEdgeToEdge(); } }