|
|
|
@@ -1,11 +1,13 @@
|
|
|
|
|
# StatusBarTweak
|
|
|
|
|
|
|
|
|
|
StatusBarTweak is an Xposed/LSPosed module for Samsung SystemUI. It focuses on
|
|
|
|
|
making the status bar, lockscreen, and Always On Display more configurable while
|
|
|
|
|
still keeping Samsung's own icons and visual style where possible.
|
|
|
|
|
StatusBarTweak is an Xposed/LSPosed module originally built for Samsung
|
|
|
|
|
SystemUI. It focuses on making the status bar, lockscreen, and Always On
|
|
|
|
|
Display more configurable while still keeping the system's own icons and visual
|
|
|
|
|
style where possible.
|
|
|
|
|
|
|
|
|
|
The project is currently tested only on a Samsung Galaxy Z Fold5 running One UI
|
|
|
|
|
8.0 / Android 16. Expect device- and One UI-version-specific behaviour.
|
|
|
|
|
The project is physically tested only on a Samsung Galaxy Z Fold5 running One UI
|
|
|
|
|
8.0 / Android 16. Other SystemUI builds have emulator-tested support as shown
|
|
|
|
|
in the compatibility matrix.
|
|
|
|
|
|
|
|
|
|
## AI Assistance
|
|
|
|
|
|
|
|
|
@@ -14,7 +16,8 @@ decisions, physical device testing, and final behaviour are still manually revie
|
|
|
|
|
|
|
|
|
|
## What It Does
|
|
|
|
|
|
|
|
|
|
- Custom status bar layout for the unlocked screen, lockscreen, and AOD.
|
|
|
|
|
- Custom status bar layout for the unlocked screen, lockscreen, and AOD where
|
|
|
|
|
supported by the SystemUI build.
|
|
|
|
|
- Independent placement of clock, carrier text, notification icons, status
|
|
|
|
|
icons, and Samsung status chips.
|
|
|
|
|
- Separate notification display handling for Samsung's cards, icons, and dot
|
|
|
|
@@ -52,15 +55,16 @@ The in-app clock page has the full syntax help and examples.
|
|
|
|
|
|
|
|
|
|
## Requirements
|
|
|
|
|
|
|
|
|
|
- A rooted Android device or emulator.
|
|
|
|
|
- A rooted Android 14+ device or emulator. Actual feature support depends on
|
|
|
|
|
the SystemUI implementation; see the compatibility matrix.
|
|
|
|
|
- A modern Xposed implementation such as LSPosed or another libxposed-compatible runtime.
|
|
|
|
|
- Xposed API 101 or newer.
|
|
|
|
|
- SystemUI access for the module scope.
|
|
|
|
|
|
|
|
|
|
The module is currently developed and manually tested on a Samsung Galaxy Z
|
|
|
|
|
Fold5 running One UI 8.0 / Android 16. Other Android versions and non-Samsung
|
|
|
|
|
SystemUI builds are being investigated, but should be treated as experimental
|
|
|
|
|
until the compatibility matrix says otherwise.
|
|
|
|
|
The module is developed and manually tested on a Samsung Galaxy Z Fold5 running
|
|
|
|
|
One UI 8.0 / Android 16. Non-Samsung builds have emulator-tested support as
|
|
|
|
|
shown below, but hardware-dependent behavior remains experimental unless it has
|
|
|
|
|
also been verified on physical hardware.
|
|
|
|
|
|
|
|
|
|
## Device Compatibility
|
|
|
|
|
|
|
|
|
@@ -74,35 +78,35 @@ expose the required hardware or state for real verification.
|
|
|
|
|
|
|
|
|
|
| Feature | Galaxy Z Fold5<br>One UI 8 / Android 16 | AOSP API 34<br>Android 14 | AOSP API 35<br>Android 15 | AOSP API 36<br>Android 16 | Google APIs API 35<br>Android 15 | Google APIs API 36<br>Android 16 | LineageOS 22<br>Android 15 | LineageOS 23<br>Android 16 |
|
|
|
|
|
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
|
|
|
| Module loads in SystemUI | ✅ | Untested | Untested | ✅ | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Settings app opens and writes settings | ✅ | Untested | Untested | ✅ | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Custom unlocked statusbar layout | ✅ | Untested | Untested | ✅ | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Custom lockscreen statusbar layout | ✅ | Untested | Untested | ✅ | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Custom AOD statusbar layout | ✅ | Untested | Untested | ⚠️ Experimental | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Notification icons mode | ✅ | Untested | Untested | ✅ AOD experimental | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Notification cards mode | ✅ | Untested | Untested | ❌ | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Notification dot mode and read-state behavior | ✅ | Untested | Untested | ❌ | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Hide notification icons by app | ✅ | Untested | Untested | ✅ AOD experimental | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Hide status icons | ✅ | Untested | Untested | ✅ AOD experimental | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Dual-SIM status icon handling | ✅ | Untested | Untested | ⚠️ Experimental | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Samsung status chips: media/navigation/call | ✅ | Untested | Untested | ❌ | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Samsung charging chip handling | ✅ | Untested | Untested | ❌ | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Privacy indicator stability | ✅ | Untested | Untested | ✅ | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Custom statusbar clock text | ✅ | Untested | Untested | ✅ | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Custom drawer clock/date text | ✅ | Untested | Untested | ✅ | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Stored clock pattern previews | ✅ | Untested | Untested | ✅ | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Battery bar: base statusbar modes | ✅ | Untested | Untested | ✅ | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Battery bar: fullscreen and transparent statusbar modes | ✅ | Untested | Untested | ✅ | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Battery bar: curved top-edge geometry | ✅ | Untested | Untested | ⚠️ Experimental | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Battery bar threshold colours and colour math | ✅ | Untested | Untested | ✅ | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Camera cutout and under-display-camera handling | ✅ | Untested | Untested | ⚠️ Experimental | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Rotation and fold/unfold handling | ✅ | Untested | Untested | ✅ rotation verified | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Drawer scrolling and background-work performance | ✅ | Untested | Untested | ✅ | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Debug visualizers and debug notifications | ✅ | Untested | Untested | ✅ | Untested | Untested | Untested | Untested |
|
|
|
|
|
| Module loads in SystemUI | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
|
|
|
| Settings app opens and writes settings | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
|
|
|
| Custom unlocked statusbar layout | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
|
|
|
| Custom lockscreen statusbar layout | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
|
|
|
| Custom AOD statusbar layout | ✅ | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental |
|
|
|
|
|
| Notification icons mode | ✅ | ✅ AOD experimental | ✅ AOD experimental | ✅ AOD experimental | ✅ AOD experimental | ✅ AOD experimental | ✅ AOD experimental | ✅ AOD experimental |
|
|
|
|
|
| Notification cards mode | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
|
|
|
|
| Notification dot mode and read-state behavior | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
|
|
|
|
| Hide notification icons by app | ✅ | ✅ AOD experimental | ✅ AOD experimental | ✅ AOD experimental | ✅ AOD experimental | ✅ AOD experimental | ✅ AOD experimental | ✅ AOD experimental |
|
|
|
|
|
| Hide status icons | ✅ | ✅ AOD experimental | ✅ AOD experimental | ✅ AOD experimental | ✅ AOD experimental | ✅ AOD experimental | ✅ AOD experimental | ✅ AOD experimental |
|
|
|
|
|
| Dual-SIM status icon handling | ✅ | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental |
|
|
|
|
|
| Samsung status chips: media/navigation/call | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
|
|
|
|
| Samsung charging chip handling | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
|
|
|
|
| Privacy indicator stability | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
|
|
|
| Custom statusbar clock text | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
|
|
|
| Custom drawer clock/date text | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
|
|
|
| Stored clock pattern previews | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
|
|
|
| Battery bar: base statusbar modes | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
|
|
|
| Battery bar: fullscreen and transparent statusbar modes | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
|
|
|
| Battery bar: curved top-edge geometry | ✅ | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental |
|
|
|
|
|
| Battery bar threshold colours and colour math | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
|
|
|
| Camera cutout and under-display-camera handling | ✅ | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental | ⚠️ Experimental |
|
|
|
|
|
| Rotation and fold/unfold handling | ✅ | ✅ rotation verified | ✅ rotation verified | ✅ rotation verified | ✅ rotation verified | ✅ rotation verified | ✅ rotation verified | ✅ rotation verified |
|
|
|
|
|
| Drawer scrolling and background-work performance | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
|
|
|
| Debug visualizers and debug notifications | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
|
|
|
|
|
|
|
|
Current emulator targets use rooted LSPosed snapshots in a local test lab. They
|
|
|
|
|
are useful for compatibility work, but the matrix above is intentionally not
|
|
|
|
|
optimistic: until a target has been tested, it remains `Untested`.
|
|
|
|
|
Current emulator targets use rooted LSPosed snapshots. They are useful for
|
|
|
|
|
compatibility work, but hardware-specific entries remain marked as experimental
|
|
|
|
|
when the emulator cannot expose the required state.
|
|
|
|
|
|
|
|
|
|
## Build
|
|
|
|
|
|
|
|
|
|