Document compatibility test matrix
This commit is contained in:
@@ -7,6 +7,11 @@ still keeping Samsung'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.
|
||||
|
||||
## AI Assistance
|
||||
|
||||
This project was developed with help from AI-assisted coding tools. The design
|
||||
decisions, physical device testing, and final behaviour are still manually reviewed.
|
||||
|
||||
## What It Does
|
||||
|
||||
- Custom status bar layout for the unlocked screen, lockscreen, and AOD.
|
||||
@@ -41,31 +46,62 @@ It also supports lightweight markup:
|
||||
- Pipe alignment with `|`, useful for aligning split clock rows around a camera
|
||||
cutout.
|
||||
- Colour variants and reverse Polish notation colour math for light/dark status
|
||||
bar states, for example `color(#batterybar 1.2 * ; invRGB 0.5 *RGB)`.
|
||||
bar states, for example `color(#batterybar 1.2 *RGB ; #batterybar 0.5 *RGB)`, which uses the batterybar's dynamic colour as its base. For the bright tint, it brightens it up some more, while for the dark tint, it is darkened.
|
||||
|
||||
The in-app clock page has the full syntax help and examples.
|
||||
|
||||
## Requirements
|
||||
|
||||
- A rooted Samsung device.
|
||||
- A modern Xposed implementation such as LSPosed.
|
||||
- A rooted Android device or emulator.
|
||||
- A modern Xposed implementation such as LSPosed or another libxposed-compatible runtime.
|
||||
- Xposed API 101 or newer.
|
||||
- A Samsung/One UI version close to One UI 8.0 / Android 16.
|
||||
- SystemUI access for the module scope.
|
||||
|
||||
This module hooks Samsung SystemUI internals. It is not expected to work on
|
||||
non-Samsung SystemUI, and updates to One UI may require fixes.
|
||||
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.
|
||||
|
||||
## Device Compatibility
|
||||
|
||||
StatusBarTweak is Samsung-specific in its current form. Some lower-level ideas,
|
||||
such as drawing a custom battery bar or parsing custom clock text, could be
|
||||
ported elsewhere. The layout engine itself depends on Samsung's SystemUI,
|
||||
lockscreen, AOD service, notification display modes, status icons, and status
|
||||
chip implementation.
|
||||
Some behavior cannot be fully verified on emulators. In particular, smooth
|
||||
transitions between AOD, lockscreen, unlocked mode, and fullscreen apps may need
|
||||
physical-device testing. Emulator testing can still verify whether hooks load,
|
||||
whether SystemUI stays stable, whether settings apply, whether excessive
|
||||
background work appears in logs, and whether the steady state looks the way it
|
||||
should.
|
||||
|
||||
Plain Android or other OEM skins would need separate hooks and probably a
|
||||
different source-collection layer. They should be treated as unsupported rather
|
||||
than untested-compatible.
|
||||
| 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 | Untested |
|
||||
| Settings app opens and writes settings | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Custom unlocked statusbar layout | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Custom lockscreen statusbar layout | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Custom AOD statusbar layout | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Notification icons mode | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Notification cards mode | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Notification dot mode and read-state behavior | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Hide notification icons by app | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Hide status icons | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Dual-SIM status icon handling | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Samsung status chips: media/navigation/call | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Samsung charging chip handling | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Privacy indicator stability | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Custom statusbar clock text | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Custom drawer clock/date text | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Stored clock pattern previews | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Battery bar: base statusbar modes | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Battery bar: fullscreen and transparent statusbar modes | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Battery bar: curved top-edge geometry | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Battery bar threshold colours and colour math | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Camera cutout and under-display-camera handling | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Rotation and fold/unfold handling | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Drawer scrolling and background-work performance | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
| Debug visualizers and debug notifications | ✅ | Untested | Untested | Untested | Untested | Untested | Untested | Untested |
|
||||
|
||||
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`.
|
||||
|
||||
## Build
|
||||
|
||||
@@ -80,9 +116,3 @@ Release builds require local signing configuration:
|
||||
```bash
|
||||
./gradlew assembleRelease
|
||||
```
|
||||
|
||||
## Development Note
|
||||
|
||||
This project has been coded with the help of AI as an implementation aid. The
|
||||
design decisions, device testing, and final behaviour are still manually
|
||||
reviewed.
|
||||
|
||||
Reference in New Issue
Block a user