Software Android buttons overlap the window #276
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
I have a TCL L7 smartphone which doesn't have hardware buttons for the default Android actions Back, Home, Apps. Instead it reserves a part of the screen for these buttons. When I run EasyEUICC, its windows doesn't take into account that part of the screen is inaccessible, and puts the contents underneath that system bar, making that part of the window barely readable and unreachable for interaction.
When it's just a text, it's more or less a minor inconvenience. However, when I tried to add a profile to my eSIM, on the first screen the Next button is completely hidden under that system area, and I cannot press it. Luckily, when I rotate the screen, the buttons bar remains where it was, so the application buttons become accessible. But still, this is quite a significant UI issue.
I'm using EasyEUICC 1.4.0-unpriv, Android version 10.
Here is the screenshot. You can see that the Back and Next buttons are barely visible through the bottom bar:
android 16 on pixel 8a, this problem cannot be reproduced.
If possible, please tell me how to fix it.
Sorry, I'm not an Android developer, and know next to nothing about how these things are controlled in the code. :-( It's the first app I have on this phone that has this issue. All the other apps behave in one of the following ways:
The same Organic Maps, started on a smartphone with hardware buttons, displays the control buttons closer to the screen edge; so it's not just a lucky coincidence, but an intentional adjustment.
Here are a few illustrative screenshots:
I know this happens occasionally on some OEMs, but unfortunately without a testing device I don't have a good way to debug this. On AOSP this behaves correctly and I can't seem to reproduce it going back a few versions on AOSP.
The "intentional adjustment" you mentioned already exists in Open/EasyEUICC, and it works on AOSP, so it is something about your OEM that's returning the wrong value for these insets.
Waiting for anyone who has a device with this issue and knows about Android development for a fix.
@CaptainFlint Are you able to test the latest commit and see if that fixes your issue? If not, I'm really out of ideas what might be happening on these OEMs.
(You can get a signed APK from Actions, it's currently building as I am writing this but you should see an APK by the time you see this comment)
https://github.com/flutter/flutter/issues/168635 similar issue with Flutter on some OEMs (like Samsung), not sure if/how they ever fixed it, but it really does look like something is weird about how these OEMs report window insets.
May be related as well? https://github.com/streetcomplete/StreetComplete/issues/6030
Window insets might just be broken pre Android 11
Actually, reading the link above gave me another idea -- I've pushed another potential fix, @CaptainFlint are you able to test?
@PeterCxy I installed the app-unpriv-debug.apk from activity 473 (Commit
b7fc164a3f), and it did fix it. In this version the adding profile dialog has the Back and Next buttons above the system buttons area, fully visible and accessible. Although they are drawn on the same background color as the system area, so it looks like it's a part of Android instead of the app, but that's a minor cosmetic issue.Thanks for the work and effort, really appreciate it!
The screenshot of the test version:
resolved
Just in case, only the screenshotted screen was fixed in that build. All the other ones still have the same behavior with overlapping under the buttons area (e.g. the main screen with the big "+" button; the Settings dialog, etc.). I didn't mention it, because I considered it to be just a test, with only that specific dialog changed.
Yes, I didn't fix the rest because I'd like to confirm that it works -- I'll go fix the rest next since I now know what's going on.