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
|
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.
|
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
|
## 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.
|
||||||
@@ -41,31 +46,62 @@ It also supports lightweight markup:
|
|||||||
- Pipe alignment with `|`, useful for aligning split clock rows around a camera
|
- Pipe alignment with `|`, useful for aligning split clock rows around a camera
|
||||||
cutout.
|
cutout.
|
||||||
- Colour variants and reverse Polish notation colour math for light/dark status
|
- 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.
|
The in-app clock page has the full syntax help and examples.
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- A rooted Samsung device.
|
- A rooted Android device or emulator.
|
||||||
- A modern Xposed implementation such as LSPosed.
|
- A modern Xposed implementation such as LSPosed or another libxposed-compatible runtime.
|
||||||
- Xposed API 101 or newer.
|
- 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
|
The module is currently developed and manually tested on a Samsung Galaxy Z
|
||||||
non-Samsung SystemUI, and updates to One UI may require fixes.
|
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
|
## Device Compatibility
|
||||||
|
|
||||||
StatusBarTweak is Samsung-specific in its current form. Some lower-level ideas,
|
Some behavior cannot be fully verified on emulators. In particular, smooth
|
||||||
such as drawing a custom battery bar or parsing custom clock text, could be
|
transitions between AOD, lockscreen, unlocked mode, and fullscreen apps may need
|
||||||
ported elsewhere. The layout engine itself depends on Samsung's SystemUI,
|
physical-device testing. Emulator testing can still verify whether hooks load,
|
||||||
lockscreen, AOD service, notification display modes, status icons, and status
|
whether SystemUI stays stable, whether settings apply, whether excessive
|
||||||
chip implementation.
|
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
|
| 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 |
|
||||||
different source-collection layer. They should be treated as unsupported rather
|
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
||||||
than untested-compatible.
|
| 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
|
## Build
|
||||||
|
|
||||||
@@ -80,9 +116,3 @@ Release builds require local signing configuration:
|
|||||||
```bash
|
```bash
|
||||||
./gradlew assembleRelease
|
./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