https://github.com/xLexip/Adaptive-Theme
π‘ Auto dark mode based on ambient light for Android. Get it on Google Play!
https://github.com/xLexip/Adaptive-Theme
adaptive-theme android android-app android-customization android-foss auto-dark-mode automation customization dark-mode dark-theme foss google-play google-play-store jetpack-compose kotlin material-3 material-design night-mode shizuku theme-switcher
Last synced: 10 days ago
JSON representation
π‘ Auto dark mode based on ambient light for Android. Get it on Google Play!
- Host: GitHub
- URL: https://github.com/xLexip/Adaptive-Theme
- Owner: xLexip
- License: gpl-3.0
- Created: 2024-10-27T19:15:34.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-12-30T13:55:52.000Z (11 days ago)
- Last Synced: 2025-12-30T22:14:00.677Z (11 days ago)
- Topics: adaptive-theme, android, android-app, android-customization, android-foss, auto-dark-mode, automation, customization, dark-mode, dark-theme, foss, google-play, google-play-store, jetpack-compose, kotlin, material-3, material-design, night-mode, shizuku, theme-switcher
- Language: Kotlin
- Homepage: https://play.google.com/store/apps/details?id=dev.lexip.hecate&referrer=utm_source%3Dgithub%26utm_medium%3Drepolink
- Size: 2.21 MB
- Stars: 21
- Watchers: 1
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Funding: FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-android-root - Adaptive Theme: Auto Dark Mode by Ambient Light - Automatically switches between Light and Dark mode using the ambient light sensor. `FOSS` | [βΆοΈ](https://play.google.com/store/apps/details?id=dev.lexip.hecate) (Screen and Display / Root Hiding and Play Integrity)
README
[](https://play.google.com/store/apps/details?id=dev.lexip.hecate&referrer=utm_source%3Dgithub%26utm_medium%3Dreadme_banner)
# Adaptive Theme: Auto Dark Mode by Ambient Light
Adaptive Theme automatically switches between Light and **Dark mode**
using the **ambient light sensor** β not a fixed schedule.
It adapts to real lighting conditions to optimize **readability**, **eye comfort**, and **battery
life**.
## π Quick Start (2 minutes)
1. **Install** Adaptive Theme.
2. **Grant the permission** with our [web-tool](https://lexip.dev/setup), Shizuku, or other methods
below.
3. **Pick your lux threshold** and youβre done. β
## π Table of Contents
- [β¨ Features & Highlights](#-features--highlights)
- [π οΈ One-Time Setup](#%EF%B8%8F-one-time-setup)
- [βοΈ How it Works](#%EF%B8%8F-how-it-works)
- [β
Safety](#-safety)
- [β FAQ](#-faq)
- [β€οΈ Support the Project](#%EF%B8%8F-support-the-project)
- [ποΈ Architecture & Tech Stack](#%EF%B8%8F-architecture--tech-stack)
## β¨ Features & Highlights
* π€οΈ **Smart Detection:** Uses your devices physical light sensor to switch the system
theme.
* βοΈ **Custom brightness threshold:** Choose exactly when Light β Dark should flip.
* π **Battery Friendly:** The app is passive. Its event-driven architecture only checks the sensor
when you turn on the screen β zero battery drain in the background.
* ποΈ **No Root Required:** Root access is not required (but is supported as an alternative setup
method).
* π± **Shizuku Support:** One of multiple setup options is
using [Shizuku](https://github.com/RikkaApps/Shizuku).
* π **Modern & Native:** Built with best-practices using Kotlin, Jetpack Compose and Material You
for a smooth and solid experience.
* π **Transparent:** Free, open-source, no-ads.
## π οΈ One-Time Setup
Android restricts apps from changing system themes by default. To unlock this feature, the
permission (`WRITE_SECURE_SETTINGS`) has to be granted.
The app comes with an easy step-by-step setup process, that lets you choose one of the following
methods to do so:
* Web Tool (Recommended) β Use our browser-based setup tool on a secondary device (Computer, Tablet,
or Phone). No code or ADB
installation required (WebADB).
π **[lexip.dev/setup](https://lexip.dev/setup)**
* **Shizuku** β If you have **[Shizuku](https://github.com/RikkaApps/Shizuku)** installed and
configured, you can
grant the permission directly within the Adaptive Theme app.
* **Root** β If your device is rooted, you can grant the permission with one tap inside the app.
* **Manual ADB** β If you have ADB installed on your computer, you can run the ADB grant
command manually via your
terminal.
## βοΈ How it Works
**Wondering why the theme didn't change immediately?**
To avoid screen flicker and unnecessary background work, Adaptive Theme follows strict rules:
- **Event-driven:** It checks the light sensor only immediately after the screen turns on.
- **Validity check:** It verifies that the sensor is not obstructed (e.g., by a hand or pocket).
- **Seamless switch:** It switches the theme instantly, ensuring the UI is ready before you start
interacting with it.
## β
Safety
The required permission only allows the app to change system settings such as the dark mode. This is
absolutely safe and
completely reversible by uninstalling the app. It does **not** grant root access or read any user
data.
## β FAQ
**Does this require root?**
* No. It works on stock devices. However, if you have Root, it can optionally be used to set up the
service faster.
**Does it work with custom Android skins (Xiaomi MIUI, Samsung OneUI, etc.)?**
* In most cases, yes. It works with any system that respects the native Android Dark Mode
implementation.
**My theme doesnβt change β what should I check?**
- Keep in mind that the theme only switched immediately after the screen is turned on, to optimize
sensor usage and to not interrupt
your device usage.
- Check that your sensor isnβt covered when you turn the screen on.
- Adjust your lux threshold and test in clearly bright/dim conditions.
### Support & Feedback
If Adaptive Theme doesnβt work for you β or if you have any questions or ideas β please open an
issue here or send feedback via the app.
## β€οΈ Support the Project
Adaptive Theme is **completely free**, **ad-free**, **open source**, and developed in my free time.
If you enjoy using the app, there are simple ways you can support the project:
β **Star on GitHub:** Give this repository a star to help others find it.
π **Rate on Google Play:**
A [5-star rating](https://play.google.com/store/apps/details?id=dev.lexip.hecate)
is the best way to boost the ranking.
β **Buy me a Coffee:** If you are feeling generous, you can
also [buy me a coffee](https://buymeacoffee.com/lexip).
π£ **Spread the Word:** Share the app to help the project grow.
## ποΈ Architecture & Tech Stack
[](https://developer.android.com/)
[](https://kotlinlang.org/)
[](https://developer.android.com/compose)
[](https://source.android.com/docs/core/display/material)
[](https://gradle.org/)
[](https://sonarcloud.io/)
Adaptive Theme is built with modern Android engineering standards to ensure a lightweight,
maintainable, and production-ready codebase.
**Modern Codebase:** Written entirely in Kotlin with Jetpack Compose and Material 3 (Material You).
**Architecture:** Follows the MVVM pattern with a Single-Activity architecture.
**Reactive Data:** ViewModels expose data via Kotlin Flows and manage concurrency with Coroutines.
**Persistence:** Type-safe settings storage with Jetpack DataStore.
**Background Work:** Sensor operations run event-driven β only upon screen-on
broadcasts β ensuring zero unnecessary battery drain in the background.
### **Made with π₯¨ in Germany.**
> ~~> Keywords: theme switcher Β· android automation Β· night mode Β· dark sense Β· automatic dark
mode Β·
brightness-based Β·
light-based Β· based on lux Β· google pixel Β· auto dark theme Β· shizuku apps Β· android 14 Β· android
15 Β· android 16 Β·
android 17 <~~