3

Since Android 8.0 (Oreo), when the device is rotated to 270° rotation, the navbar will go to the left side of the screen instead of staying to the right (as in 90° rotation):

enter image description here

As humanized as this sounds, it conflicts with some of my launcher/wallpaper mods, and also forces me to use the left hand under 270° rotation, so I don't see the change as beneficial and would like it reverted.

The answer could be decompiling and modifying SystemUI, or even modifying the Android source code and building (I have the know-how for that) - one just have to tell me where and how.

Any ideas?

4
  • 1
    (I hate Google enforcing more and more UI changes I dislike with every Android release...)
    – Andy Yan
    Commented Mar 8, 2018 at 2:29
  • 1
    @beeshyams Not sure if it's a 8.0 or 8.1 trait - LOS is now 8.1. I'll go check some vids to make sure and update the tag accordingly.
    – Andy Yan
    Commented Mar 8, 2018 at 3:01
  • 1
    Looked it up a bit and it seems to be a thing in Nexus/Pixel devices starting as early as 7.1. Manufacturers might've merged the change according to their preferences. For LineageOS, best I could find is this commit which probably is responsible. I'll see if reverting it does the trick, but I bet there will be a lot of conflicts that make it hard if possible at all...
    – Andy Yan
    Commented Mar 8, 2018 at 3:20
  • This seems to be what's calculating and determinating the navbar layout. Will try hands at it when I have time.
    – Andy Yan
    Commented Mar 8, 2018 at 3:35

1 Answer 1

1

As my investigation shows, Google calls it "Seascape Navigation Bar View" and deems it as a feature. This part of the code inside the Android framework determines whether the new left navbar layout should be used if 270° rotation happens. Making it still return NAV_BAR_RIGHT in the case effectively reverts the change. Tested side-by-side on a LineageOS compilation done personally.

Unfortunately for end users without access to source code, I don't know of a way to alter the behaviour yet: on older Android versions this change is supposed to be reflected in /system/framework/services.jar, but since Oreo it has both been split into a new /system/framework/services.jar.prof file and odexed, so currently available tools can't touch it as far as I know.

1
  • For the above reason, I'll leave the question open for now, so anyone with the know-how of altering the new file format can chime in anytime.
    – Andy Yan
    Commented Mar 9, 2018 at 10:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .