Tideo Auto Brightness
A glass-box replacement for Android's adaptive brightness
faded-penguin021 System
Screenshots
Description
You taught Android your brightness preferences and it is still wrong. Tideo
replaces the opaque on-device ML of stock adaptive brightness with deterministic,
inspectable math: a tunable lux-to-brightness curve you can see and shape, smooth
animated transitions, circadian (time-of-day) scaling, per-context overrides, and
an optional privileged "super dimming" mode that takes the screen below the system
minimum.
To use it, first disable the system's stock Adaptive/Auto Brightness
(Settings > Display), then launch Tideo, complete onboarding, and toggle the main
service on from the Dashboard.
Features:
* Three-zone perceptual brightness curve with a live, editable graph.
* Automatic curve fitting: adjust brightness by hand during normal use and, after
a handful of points across varied lighting, the wizard suggests a fitted curve.
* Reactivity control: per-range dead zones that kill sensor jitter without making
the screen sluggish.
* Smooth animated transitions with override detection: drag the system slider and
Tideo steps aside, then resumes per your rules.
* Circadian scaling synced to local sunrise/sunset, shifting the whole curve
across the day.
* Super dimming (privileged): drives Android's Reduce Bright Colors below the
hardware floor, plus a PWM-flicker-aware software-dimming mode.
* Context automation: load profiles automatically by foreground app, time window,
location, charging state, Wi-Fi SSID, or day of week.
* Profiles: five built-in presets plus save / overwrite / factory-restore and
JSON import/export.
* Live Debug scene: a glass-box readout of every runtime variable and decision.
* Emergency recovery: flip the phone upside-down and shake to force brightness to
max with an SOS vibration.
* Surfaces: foreground-service notification with actions, a Quick Settings tile, a
home-screen widget, and boot-start.
Privilege tiers:
The core pipeline is fully functional at the BASIC tier, which uses only the
user-grantable WRITE_SETTINGS permission. The optional ELEVATED tier unlocks super
dimming and requires a one-time WRITE_SECURE_SETTINGS grant that YOU perform via
adb, Shizuku, or root. It is never granted automatically.
About the permissions Tideo requests:
* Background location and location: used only by the optional location-aware
context rules and the once-a-day sunrise/sunset refresh for circadian scaling.
* Usage access (PACKAGE_USAGE_STATS): used only by per-app context rules to read
the foreground app; granted from a Settings screen, not a runtime dialog.
* Accessibility service: optional and presentation-only. It draws the debug/context
flash overlay system-wide. It does not read screen content and does not consume
input events. With it off, Tideo falls back to a foreground toast.
Privacy:
Tideo is local-first with no analytics, ads, or accounts. It makes one outbound
network request, and only as a last resort: if you opt in and enable circadian
scaling and no on-device location is available, it falls back to a single HTTPS
request to ipwho.is to estimate your city from your public IP. This fallback is off
by default and can be turned off under Circadian > Date & location. Everything else
runs entirely on-device.
Tideo is a ground-up Kotlin/Compose rebuild of the Advanced Auto Brightness Tasker
project, ported with exact behavioural parity. It is not affiliated with Tasker.
What’s new (1.8.1)
Fix "Resume context automation": pressing Resume now immediately re-evaluates your context rules — a matching rule applies at once, and with no match it reverts to your last manually-loaded profile — instead of leaving the settings screens showing the old profile while the label flipped to "Default".
Versions
Permissions
What the app asks the system for. Android only grants sensitive access after you confirm it.
- System settingsChange system settings.
- WRITE_SECURE_SETTINGS
- NotificationsShow notifications.
- Foreground serviceKeep running in the background, visible in the status bar.
- FOREGROUND_SERVICE_SPECIAL_USE
- Run at startupStart automatically after the device is switched on.
- PACKAGE_USAGE_STATS
- Approximate locationDetermine the location via the network.
Show 9 more permissions
- Precise locationDetermine the location via GPS.
- Location in backgroundDetermine the location while the app is not open.
- VibrationControl the vibration alert.
- Internet accessSend and receive data over the internet.
- Network stateCheck whether and how the device is connected.
- DUMP
- Prevent sleepingKeep the device from going to sleep.
- autobrightness.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
- permission.API_V23
Comments