Go to file
Stephen Michel b456cc50bb Suppress ExpiredTargetSdkVersion lint error (temp)
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.
2019-02-02 20:32:15 -05:00
.github Add thank you to issue template 2019-01-29 12:02:21 -05:00
app Suppress ExpiredTargetSdkVersion lint error (temp) 2019-02-02 20:32:15 -05:00
art Add F-Droid/Play Store metadata & new banner image 2019-02-02 20:30:08 -05:00
gradle/wrapper Update gradle, kotlin, and android support libs 2019-02-02 20:30:08 -05:00
.gitignore Clean up .gitignore 2019-01-29 16:10:53 -05:00
.travis.yml fix travis for updated sdk 2019-02-02 20:30:08 -05:00
COPYING Add detailed license information 2016-04-03 12:53:40 +02:00
COPYING.GPL Add detailed license information 2016-04-03 12:53:40 +02:00
COPYING.MIT Add detailed license information 2016-04-03 12:53:40 +02:00
LICENSE.spdx change to spdx identifiers 2017-08-10 18:37:10 -04:00
README.md readme formatting 2018-11-05 14:18:31 -05:00
build.gradle Update external library dependencies 2019-02-02 20:30:08 -05:00
gradle.properties Created empty project. 2015-06-19 11:15:21 -06:00
gradlew Rebrand from "Shades" to "Red moon" 2016-03-14 21:51:55 +01:00
gradlew.bat Created empty project. 2015-06-19 11:15:21 -06:00
settings.gradle Created empty project. 2015-06-19 11:15:21 -06:00


Red Moon Icon

Red Moon Translation status License Commits (since latest release)

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.

Get it on F-Droid Download from Google Play Direct download

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 Matrix, IRC, or Gitter

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

Translation status

Screenshots are slightly out of date.

Development Build Status


To build the app on GNU+Linux, clone the repository, then, from the root directory, run

./gradlew build

To install the app on a connected device or running emulator, run

./gradlew installFdroidDebug or ./gradlew installPlaystoreDebug

Pull requests

  • 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 =.
  • CONSTANTS and ENUMS use all caps, variableNames use camelCase.
  • 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)


GNU GPLv3 Image

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.