The Play Store requires app to target sdk 26 at minimum. This is causing a lint error that makes Travis fail. We're not ready to target sdk 26 yet (it requires some changes with the SYSTEM_OVERLAY window type), and Red Moon's Play Store listing has some issues anyway, so it's ok to suppress the error for now; it doesn't affect F-Droid.
Blue light may suppress the production of melatonin, the sleep hormone. Red Moon filters out blue light and dims your screen below the normal minimum, so you can use your phone comfortably at night.
- Schedule Red Moon to run from sunset to sunrise, or at custom times.
- Use the default color profiles, or set custom color, intensity, and dim levels.
- Automatically pause in apps secured against overlays, or those you choose.
- Quickly start, stop, and switch profiles via notification, tile (Android 7.0+), or widget.
Do your part — participate in the community
Communities keep software projects alive. Without them, projects usually fade into obscurity when the primary developer loses interest or becomes busy in other parts of their life. That's where you come in! You can:
- Read through the issues and give a 👍 to the ones you care about most.
- Open new issues with feedback, feature requests, or bug reports.
- Help translate using Weblate.
- Join the chat at , , or
Looking for co-maintainers
Red Moon is still maintained, and I have no plans to change that. I would actually like to do more development and get Red Moon feature-complete. However, it is hard for me to get motivated to do that when I'm the only developer (especially when there are other projects I'm involved in that do have others working on them).
If you're interested in becoming a co-maintainer, I'm willing to spend time walking you through the code base.
Screenshots & translation stats
Screenshots are slightly out of date.
To build the app on GNU+Linux, clone the repository, then, from the root directory, run
To install the app on a connected device or running emulator, run
./gradlew installFdroidDebug or
- We're happy to answer questions if you reach out via an issue, the chat room(s), or email.
- If your change makes the UI more complicated, we suggest checking if we're interested before you implement it.
- Please keep code and translations in separate PRs.
Prioritize legibility over dogmatism. That said, consistency is nice, so here's a short list of what I've been doing.
- 100 characters per line; 80 if you can.
- Indent 4 spaces, or 8 spaces if the previous line ends with
ENUMSuse all caps,
- Form suggests function: Group and align similar actions, and don't align dissimmilar ones, even if you could.
- Good comments explain why something is done; if you find yourself describing what the code does, consider:
- Refactoring into smaller functions with descriptive names
- Converting comments to logs. Code that requires comments probably also requires good logs to debug.
- Always use curly braces with
if(except short val/var one-liners:
val x = if (a) b else c)
Red Moon is a derivative of Shades by Chris Nguyen, used under the MIT License. Red Moon is licensed under the GNU General Public License version 3, or (at your option) any later version by the contributors.
All used artwork is released into the public domain. Some of the icons use cliparts from openclipart.org, which are all released in the public domain, namely:
* Google Play and the Google Play logo are trademarks of Google Inc.