You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Stephen Michel e6ee241d4e Bump version code and name for release v4.0.0 1 day ago
.github Upgrade Github Actions 4 months ago
app Bump version code and name for release v4.0.0 1 day ago
art Add F-Droid/Play Store metadata & new banner image 4 years ago
gradle/wrapper Bump timepickerpreference SDK 4 months ago
timepickerpreference Bump timepickerpreference SDK 4 months ago
.gitignore Ignore keystore files 3 months ago
LICENSE.md Remove MIT license for clarity 3 years ago
LICENSE.spdx Update spdx identifier. Closes #239 2 years ago
README.md Add privacy policy to the README 3 months ago
build.gradle Update to Android 12 4 months ago
gradle.properties Android Studio refactor to API 28 and AndroidX 3 years ago
gradlew Update gradle to v6.7.1 2 years ago
gradlew.bat Update gradle to v6.7.1 2 years ago
settings.gradle Add new library module with Android studio 2 years ago

README.md

Low Maintenance Mode

Red Moon is currently maintained to the level of "works on my device". Pull Requests are still accepted and if you're interested in becoming a co-maintainer, I'm willing to spend time walking you through the code base. Read More


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 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.
  • Come chat at Matrix, IRC, or Gitter
Translation status

Screenshots

Screenshots are slightly out of date.

Privacy Policy

Red Moon collects data only when it is necessary for functionality. These features are all disabled by default. If you enable them, the data never leaves your device. Specifically:

  • If you use the "Sunrise to Sunset" feature, Red Moon will store your location (lattitude & longitude, you can see them in the preference). Used in order to calculate sunrise and sunset times.
  • If you use the excluded apps feature, then while Red Moon is running, it will monitor what app is in the foreground and which screen of that app is open (currently it polls once per second). This is checked against the list of excluded apps to determine whether Red Moon should pause, and then is immediately discarded.
    • If you choose to exclude an app, then it's stored to the list of excluded apps, until you remove it.
    • In the debug version of the app, these are logged to the Android system log ("logcat"). These logs are not accessible to other apps on the device. On most versions of android, they're cleared after 1-7 days.

Development Build Status

Building

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 installDebug

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.

Style

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 dissimilar 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)

License

GNU GPLv3 Image

Red Moon is licensed under the GNU General Public License version 3 or (at your option) any later version by the contributors. It is a derivative of Shades by Chris Nguyen, used under the MIT License.

All used artwork is released into the public domain. Some of the icons use clip art from openclipart.org, which are all released in the public domain, namely:


* Google Play and the Google Play logo are trademarks of Google Inc.