diff --git a/README.md b/README.md
index 5093965..61de508 100644
--- a/README.md
+++ b/README.md
@@ -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
One UI 8 / Android 16 | AOSP API 34
Android 14 | AOSP API 35
Android 15 | AOSP API 36
Android 16 | Google APIs API 35
Android 15 | Google APIs API 36
Android 16 | LineageOS 22
Android 15 | LineageOS 23
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.