# 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. The project is mainly built for personal Samsung devices and is still evolving. Expect device- and One UI-version-specific behaviour. ## What It Does - Custom status bar layout for the unlocked screen, lockscreen, and AOD. - 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 modes. - Configurable icon sizes, vertical offsets, ordering, spacing, truncation, and cutout handling. - Hide selected notification icons by app, separately for AOD, lockscreen, and unlocked mode. - Hide selected status icons such as NFC, Bluetooth, hotspot, location, VPN, battery, and similar SystemUI indicators. - Optional custom clock text with multi-line formatting, colours, font families, and cutout-aware split alignment. - Battery bar with configurable position, alignment, thickness, colours, and threshold colours. - Controls for Samsung status chips such as media, navigation, and call chips. - Debug tools for generating test notifications, visualizing layout containers, and restarting SystemUI during development. ## Custom Clock Text The custom clock uses Java-style date/time patterns such as `HH:mm`, `EEE d MMM HH:mm`, or `HH:mm:ss`. It also supports lightweight markup: - HTML-like tags: ``, ``, ``, ``, and ``. - Shorthand blocks such as `{#FA0 big @sans-serif-condensed}HH:mm`. - Multi-line text using `\n` or `{\\n12}`. - Pipe alignment with `|`, useful for aligning split clock rows around a camera cutout. - Colour variants and simple colour math for light/dark status bar states. The in-app clock page has the full syntax help and examples. ## Requirements - A rooted Samsung device. - A modern Xposed implementation such as LSPosed. - Android/One UI versions close to the versions this module is tested on. This module hooks Samsung SystemUI internals. It is not expected to work on non-Samsung SystemUI, and updates to One UI may require fixes. ## Build The project is a standard Gradle Android project: ```bash ./gradlew assembleDebug ``` For local release builds, `build.sh` uses the Android SDK and JDK available on the machine, writes `local.properties`, builds a release APK, and copies it to a local sync folder if present. ## 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.