AI summary
Xposed/LSPosed module that restores the 3-button navigation bar layout inversion (swapped back and recent buttons) on LineageOS 23.2, where the native Settings toggle was removed and the underlying code is dead. Hooks Launcher3QuickStep to re-enable the feature on any LOS 23.x / Android 16 device.
Generated by AI. May contain inaccuracies.
About this app
Launcher NavButton Invert An Xposed/LSPosed module that restores 3-button nav bar layout inversion ("back" and "recent" swapped) on LineageOS 23.2, where the classic Settings toggle for it was removed and its backing mechanism turned out to be dead code entirely.
Built for a BlackBerry Key2 (lineage_athena, sdm660), but the root cause and fix should generalize to any LOS 23.x / Android-16-based device using Launcher3QuickStep as the default launcher.
The problem LOS 22.2 had a working Buttons -> Navigation bar -> Invert layout toggle. After upgrading to LOS 23.2, that toggle disappeared from Settings entirely, with no equivalent replacement.
What didn't work (and why) This took a full investigation to nail down, documented here so nobody else has to redo it:
Direct settings key (settings put system sysui_nav_bar_inverse 1) -- the key still exists and persists, but nothing reads it anymore. Runtime Resource Overlay replacing config_navBarLayout (and its Quickstep/Handle siblings) in SystemUI -- installed and enabled cleanly by OverlayManagerService, zero visual effect. Xposed hooks on every classic nav-bar class in SystemUI -- NavigationBarInflaterView, NavigationBarView, ContextualButtonGroup, DeadZone. All resolved cleanly via reflection, all hooked without error (constructors and every declared method, confirmed working correctly by cross-checking against notification-shade buttons that did fire), and none of them ever executed -- confirmed dead code on this build. Full binary replacement of SystemUI.apk -- decompiled with apktool against the device's actual framework-res.apk, patched all three layout strings, resigned with the AOSP platform test keys (matching the original's signature exactly, confirmed via apksigner verify), installed as a Magisk systemless module replacing the real system file. Booted clean. Still zero effect. That last result was the one that mattered: it ruled out every remaining doubt about overlay allowlists, classloader mismatches, boot timing, and signing. If a full correctly-signed binary swap does nothing, the mechanism you're patching is not the mechanism in control.
About this version
- Version
- 1.1 (1)
- Size
- 601.22 KB
- Requires Android
- 8.1
- Target SDK
- 27
- Architecture
- universal
- Downloads
- 2
- Updated
- Aug 28, 2026
- Package
- com.kgr.launchernavinvert
Similar apps
Ratings & reviews
- 50
- 40
- 30
- 20
- 10