An automatic brightness feature has been present on nearly every Android device for years now. Before Android 5.0 Lollipop, the auto-brightness feature changed your phone's brightness based on the ambient light sensor readings, but the quick scaling up and down was bothersome. Auto-brightness evolved into adaptive brightness with Android Lollipop, which combines auto-brightness with a manual brightness level set by the user, so the brightness level stays generally around what the user wants it to be.

Android's adaptive brightness has worked well for years and has undergone few tweaks to its algorithm. There are a few apps like Lux that allow you to adjust the auto-brightness curve on your own, but few dare to stray from the tried-and-true automatic brightness algorithm that relies on the ambient light sensor. That's exactly what a new application called Underburn does. It re-imagines the way your device's brightness level is calculated in an effort to improve your late night Reddit/Instagram/Facebook sessions.

Underburn was developed by XDA Senior Member out386 who was kind enough to provide us some details about his application. The concept behind Underburn is pretty simple: instead of changing brightness based on ambient light conditions, it changes it based on the contents of the screen.

Imagine that you're on your phone or tablet while laying in bed. You've set up a dark theme on your device using Substratum, so most of your apps are comfortably dark. However, not every app can be themed, so if you come across a link that you have to open in Google Chrome you may experience a brief period of blinding white light when the page opens up. And then continue to suffer as the entire page background is usually a bright white color.

Underburn was developed to combat precisely this problem. If a predominantly white screen appears, the screen will be dimmed in an attempt to avoid eye strain while using your smartphone at night. Conversely, if a dark image appears, the brightness will be slightly raised so it can be comfortably read. The app recognizes when a screen is predominantly white or dark by using the Android Media Projection API to take 4 screenshots per second and then analyzing points of each image for their color value.

This might seem pretty battery heavy on the surface, but the developer assures us that the processing involved requires very little CPU time and no wakelock is being held while the screen is off. Performance impact should also be insignificant. The application does not require root permissions, so everyone can take advantage of it provided your device is on Android 5.0+. Keep in mind though that this application is mainly intended for prolonged nighttime usage and is not meant to totally replace your phone's adaptive brightness feature.

Underburn screenshots showing the set-up and options

This application features 4 brightness levels, with a 5th to be added in a future update. The user only has to set two of them, minimum and maximum levels, while the app will dynamically calculate the other 2.

If you want to try it out, the app is available on the Google Play Store for $0.99 with no hidden in-app purchases or subscriptions. The app makes use of the bare minimum amount of permissions that it needs to function, and it doesn't even use analytics or require internet access permissions.

[appbox googleplay com.out386.underburn]