graphefruit / Beanconqueror

An open source project for coffee enthusiasts.
https://beanconqueror.com/
GNU General Public License v3.0
481 stars 67 forks source link

System navigation bar overlaps app on Android 15 (SDK level 35) #823

Open RagingCactus opened 1 month ago

RagingCactus commented 1 month ago

On Android 15 (SDK level 35) the develop branch is currently unusable as the system navigation bar overlaps the Beanconqueror navigation bar.

It isn't that bad (but still looking terrible) using gesture navigation:

But with the classic navigation bar, the app is unusable:

9ac7a353bcc5a83019e25f547c0c49a123c4dc6b changed the target API level to 35 on Android without any further compatibility changes. One of the API level 35 changes is that edge-to-edge mode is enforced, meaning the app has to handle insets for the navigation bar and status bar itself. See https://developer.android.com/about/versions/15/behavior-changes-15#window-insets for more information.

Issues like https://github.com/ionic-team/capacitor/issues/6823 suggest that this is currently not handled by Capacitor itself. Plugins such as https://github.com/capacitor-community/safe-area are suggested.

RagingCactus commented 1 month ago

As a workaround for my personal phone, I have temporarily changed the targetSdkVersion back down to 34 as a stopgap measure. If I or anyone else can't find the time to implement the proper fix, I'd recommend going back down to 34 for now until this is resolved.

diff --git a/android/variables.gradle b/android/variables.gradle
index cc47cb32..94e900b3 100644
--- a/android/variables.gradle
+++ b/android/variables.gradle
@@ -1,7 +1,7 @@
 ext {
     minSdkVersion = 26
     compileSdkVersion = 35
-    targetSdkVersion = 35
+    targetSdkVersion = 34
     androidxActivityVersion = '1.8.0'
     androidxAppCompatVersion = '1.6.1'
     androidxCoordinatorLayoutVersion = '1.2.0'
graphefruit commented 1 month ago

Thanks for the hint, I'll change it backwards.