New in version 1.9.0
Reliability and safety release.
Privileged Display now reads the device state and checks Android's Night Light and always-on display capabilities before writing. Disable HDR remains an Android 14+ experimental preference control; applying or clearing it may need a reboot, and display-mode changes may briefly blank the screen.
Emergency Reset now vibrates its S.O.S. confirmation. At debug level 8, ignored control commands say why.
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. Automatic lookup
runs at most once per day, and the resolved coordinates are saved only on-device;
the user-triggered Use current location action can make an additional request after
on-device location fails. 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.
Donate
Versions
Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.
Download F-Droid
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 12 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
access location in the background
This app can access location at any time, even while the app is not in use.
-
access approximate location only in the foreground
This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
-
access precise location only in the foreground
This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
-
view network connections
Allows the app to view information about network connections such as which networks exist and are connected.
-
android.permission.DUMP
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "specialUse"
Allows the app to make use of foreground services with the type "specialUse"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
android.permission.PACKAGE_USAGE_STATS
-
show notifications
Allows the app to show notifications
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
control vibration
Allows the app to control the vibrator.
-
prevent phone from sleeping
Allows the app to prevent the phone from going to sleep.
-
android.permission.WRITE_SECURE_SETTINGS
-
modify system settings
Allows the app to modify the system's settings data. Malicious apps may corrupt your system's configuration.
-
com.tideo.autobrightness.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
-
moe.shizuku.manager.permission.API_V23
Download APK
23 MiB
PGP Signature
|
Build Log
New in version 1.8.2
Maintenance and safety release.
Updated the Android build toolchain while preserving F-Droid reproducibility. Profile imports now reject oversized or unreadable files, and a system restart respects the service-off setting.
Stopping restores Android's brightness mode and clears leftover Extra Dim state. Emergency Reset continues its recovery steps if one system setting fails, and Extra Dim activation no longer risks applying a stale level.
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 12 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
access location in the background
This app can access location at any time, even while the app is not in use.
-
access approximate location only in the foreground
This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
-
access precise location only in the foreground
This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
-
view network connections
Allows the app to view information about network connections such as which networks exist and are connected.
-
android.permission.DUMP
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "specialUse"
Allows the app to make use of foreground services with the type "specialUse"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
android.permission.PACKAGE_USAGE_STATS
-
show notifications
Allows the app to show notifications
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
control vibration
Allows the app to control the vibrator.
-
prevent phone from sleeping
Allows the app to prevent the phone from going to sleep.
-
android.permission.WRITE_SECURE_SETTINGS
-
modify system settings
Allows the app to modify the system's settings data. Malicious apps may corrupt your system's configuration.
-
com.tideo.autobrightness.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
-
moe.shizuku.manager.permission.API_V23
Download APK
23 MiB
PGP Signature
|
Build Log
New in version 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".
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 12 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
access location in the background
This app can access location at any time, even while the app is not in use.
-
access approximate location only in the foreground
This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
-
access precise location only in the foreground
This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
-
view network connections
Allows the app to view information about network connections such as which networks exist and are connected.
-
android.permission.DUMP
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "specialUse"
Allows the app to make use of foreground services with the type "specialUse"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
android.permission.PACKAGE_USAGE_STATS
-
show notifications
Allows the app to show notifications
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
control vibration
Allows the app to control the vibrator.
-
prevent phone from sleeping
Allows the app to prevent the phone from going to sleep.
-
android.permission.WRITE_SECURE_SETTINGS
-
modify system settings
Allows the app to modify the system's settings data. Malicious apps may corrupt your system's configuration.
-
com.tideo.autobrightness.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
-
moe.shizuku.manager.permission.API_V23
Download APK
22 MiB
PGP Signature
|
Build Log