Neamar / KISS

Lightning fast, open-source, < 250kb Android launcher
https://kisslauncher.com/
GNU General Public License v3.0
2.98k stars 582 forks source link

System navigation bar is shown in wrong orientation #2149

Open DPGLuke opened 1 year ago

DPGLuke commented 1 year ago

Describe the bug This bug effects the system gesture navigation bar shown in other apps when the laucher is set to KISS - the issue does not occur with other launchers I have tested.

There are various situations where the system navigation bar renders in the wrong orientation. For example, the app is in landscape, but the navigation bar renders as if it were in portrait - that is to say, the navigation bar renders on the right-hand-side of the screen (relative to the viewer), instead of at the bottom of the screen (where it should be).

This is very confusing behaviour, as this rendered navigation bar does not behave as expected. In fact, the gesture navigation works as expected for the orientation - so swiping up from the bottom of the screen (relative to the viewer) performs the Home action, even though the position of the navigation bar indicates that the Home action should be performed by swiping from the side.

The problem goes further - due to the position of the navigation bar at the side, the Back action, which would usually be performed by swiping from the side of the screen (relative to the viewer), is completely blocked, and there is actually no way to perform the Back action.

Finally, due to the position of the navigation bar at the side, any buttons or clickable actions underneath the rendered bar are also blocked.

These issues in combination lead to situations where users get stuck in an app and can no longer navigate within other apps. This situation can usually only be exited by completely killing the app from the Task Switcher.

To Reproduce Steps to reproduce the behavior. Note that this issue is not reproducable 100% of the time, but it does occur very commonly. If the issue doesn't immediately trigger when trying these steps, try it again. It can often be triggered by 'confusing' the navigation bar by switching between apps in different orientations.

  1. Set KISS as the launcher
  2. Enable gesture navigation in the device settings
  3. Disable auto-rotate
  4. Open the Youtube app
  5. Start playing any video
  6. Press the fullscreen button on the playing video - the app will move to landscape to play the video, but the system navigation bar may not properly position itself in landscape orientation
  7. If the bug is triggered, observe that the navigation bar renders at the side of the screen, instead of at the bottom
  8. Try to perform Back navigation by swiping from the side - the action will be blocked
  9. Try to click a button at the side of the screen (under the navigation bar) - for example the exit fullscreen button - the action will be blocked
  10. Swipe up from the bottom - observe that the Home action is performed

Expected behavior The system navigation bar positions itself according to the orientation of the app.

Screenshots Here is a screen recording of the issue. I have setup the device to show clicks, so that you can see where I am clicking and how the clicks are being blocked.

https://github.com/Neamar/KISS/assets/116077769/996aff3e-9468-4ca1-891d-9b9beaaab73e

Additional information

Additional context I'm using the Youtube app as an example, but the same issue is seen in other apps. I would assume that it affects any app that changes orientation dynamically, such as any app that plays full screen video.

It seems strange that a launcher should be causing this issue, but I've tested the exact same steps on other launchers, and the issue doesn't occur.

Additionally, while researching this issue, I found a report from someone else who also ran into this issue. They were also using a 3rd party launcher (not KISS), and reported that when switching back to the stock launcher the issue was resolved: https://forums.lenovo.com/t5/motorola-edge-20-pro/Gesture-bar-gets-stuck-in-the-last-position/m-p/5111098

licaon-kter commented 1 year ago

Does "Force Portait mode" help in KISS Settings?

I've seen this, rarely and randomly.

DPGLuke commented 1 year ago

Thanks for the quick reply. I wasn't previously using "Force Portait mode". I've just tested it by:

Unfortunately it didn't help, the issue immediately occured again.

In general this issue doesn't occur 100% of the time, but it does happen very often - maybe 70% of the time when opening fullscreen videos.