LibreShift / red-moon

Android screen filter app for night time phone use.
GNU General Public License v3.0
642 stars 80 forks source link

UI Auto Dark and Light Mode base on system settings (dark mode state, battery saver, etc.) #327

Open itsmeralph09 opened 1 year ago

itsmeralph09 commented 1 year ago

Is your feature request related to a problem? Please describe. Auto dark and light mode base on system settings and filter state seems to be a good addition to the ease of use of the app.

Describe the solution you'd like When global dark mode is toggled in device system settings, the app UI should also become dark, or when the blue light filter is enabled, the app UI should also be set to dark mode.

Describe alternatives you've considered Dark mode toggle can be base on system dark mode state or battery saver mode.

Additional context For reference, a proprietary app "Twilight" does have this feature.

smichel17 commented 1 year ago

Thanks for the suggestion!

Overall seems like a good UX improvement. I would merge a PR implementing this. Specifically:

The reason Light should be the backup is the same reason it is currently the default: although the app is intended to be used at night, you don't actually have to open the app very much, and it's much easier to see the effect of the filter over a white background than dark gray. For a similar reason, I would rather not switch the theme of the app when enabling the filter. It's cool, but you can't really compare before/after, so it hurts usability.

Implementation-wise:

I haven't looked in to how to get/set the system theme, whoever implements the feature will need to do that.

itsmeralph09 commented 1 year ago

That's great Sir. I also have a tablet running Android 7.0. A few third-party apps are available that can enable dark mode (only works for apps that have auto light and dark mode base on system state) for this android device. So it is best to add the auto mode(base on system state or settings) for all devices even though the device doesn't have this feature.