Expand emulator compatibility coverage
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user