LibreShift / red-moon

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

Show a notification icon in the status bar #141

Open willemw12 opened 7 years ago

willemw12 commented 7 years ago

There is no notification icon in the status bar to indicate that the filter is on.

LineageOS 14.1. Android 7.1.2. Red Moon (F-Droid) 2.10.2.

Is this a bug?

Or a missing feature? In that case, the feature request I like to propose is:

Display a notification icon in the status bar when the filter is on. Have it as a permanent feature or as an option in the settings.

smichel17 commented 7 years ago

At the moment, it is intended that there is no status bar icon, since most of the time it's obvious whether the screen is filtered or not. (I added the bug label because I misread this at first and thought the notification itself was not showing up.)

Could you give an example of a time when / reason why you'd like an icon there?

willemw12 commented 7 years ago

I have the display's adaptive brightness enabled. And have a filter app (Red Moon) for extra dimming, for example, for late in the evening and early in the morning.

If the screen is very dim it is not always immediately obvious to me if the filter is on. To check this, you have to go through all the notifications and try to find the Red Moon notification.

Also, I am used to seeing a notification icon when the filter is on (Giraffine's Dimmer app). It seems good design practice to me to display a notification icon when a system like setting is turned on.

It does not have to be default behavior.

smichel17 commented 7 years ago

Long thoughts. If you'd rather just skip to my conclusion, it's below the line.

It does not have to be default behavior.

Settings are a great way to add flexibility, so you can serve a wider audience, but they're often a trap. Each setting is a decision the user has to make. If the vast majority of users would make the same choice, we're just wasting their time and distracting them from the important questions. As a developer, it's tempting to add settings because it's easy. You don't have to figure out if there's a right way to do things.

Take Microsoft Word (or LibreOffice, or GIMP; there's plenty of examples). It's got every setting under the sun, to fit a bunch of different people's obscure use cases. But how many do you actually look at? How many would you use if you knew about them? I'd guess: not many; at least a few. By trying to support anyone, Word creates a worse experience for most everyone.

Although Red Moon is nowhere near that scale, it's almost exclusively settings. Nobody opens the UI on a regular basis (or shouldn't have to); you install, configure, and forget. If people don't enable a setting the first time they open the app, they probably never will. Even more important, the most useful features (sun times, pause in secure apps) require the user to grant permissions before they'll work, so we need to turn them off by default. To get the best experience, it's important that people look at every single setting.

That's a really long way of saying, I don't think we should add a setting for this. Let's figure out whether showing an icon is the right thing to do, and do that for everyone.

Also, I am used to seeing a notification icon when the filter is on (Giraffine's Dimmer app). It seems good design practice to me to display a notification icon when a system like setting is turned on.

Wifi affects whether we use our data plan. Some apps need location services. Maybe we don't want that song we're embarrassed we like to play over the bluetooth speaker. They all affect battery life.

I definitely want to know about these things in the status bar -- because they affect how I use my phone. So the question is, does Red Moon?

I have the display's adaptive brightness enabled. And have a filter app (Red Moon) for extra dimming, for example, for late in the evening and early in the morning.

If the screen is very dim it is not always immediately obvious to me if the filter is on. To check this, you have to go through all the notifications and try to find the Red Moon notification.

This make sense; there's definitely a case for a status icon.

There's also a flip side: If you didn't have as many notifications, it wouldn't be so hard to find the Red Moon one. (Aside: Red Moon sets the notification at minimum priority, so it should usually appear near the bottom of the list.)

I'm not saying you should uninstall those apps (although I personally do; I can't stand notification clutter), but it also goes in the other direction: to people on the other side of the fence, Red Moon's icon/notification is the clutter making it hard to find what they care about.


Okay, that was long. Time for a solid conclusion: I'm willing to add it, but first I'd like to see if we can solve your issue in a different way.

Specifically, I'm thinking about #106, #122, and maybe #79. Combined, they would give you a lot more control over the backlight (in my opinion, the 'lower backlight' setting is not very useful right now). If you're controlling the backlight through Red Moon in addition to the dim level, then if your screen is still dark in the morning, you know Red Moon is still on.

willemw12 commented 7 years ago

I might get used to having no icon in the status bar. If, however, the notification would have more controls (e.g. a pause filter button), then an (optional) icon in the status bar would be more useful.

You are not proposing to disable the display's "adaptive brightness" system setting?

For my use case, I am only interested for Red Moon to dim the screen, not to apply its color filter. The current app settings controls are fine: filter and dim settings are controlled by separate sliders and I don't use the lower brightness setting.

I don't think that for my use case I will need more complex or intelligent settings/features. The app should not change any of the system setting, for example, it should not change the brightness level slider in the system settings.

smichel17 commented 7 years ago

I might get used to having no icon in the status bar. If, however, the notification would have more controls (e.g. a pause filter button), then an (optional) icon in the status bar would be more useful.

The notification, when expanded, should have actions to pause/resume and to switch to the next profile.

You are not proposing to disable the display's "adaptive brightness" system setting?

The app should not change any of the system setting, for example, it should not change the brightness level slider in the system settings.

Android used to have fully automatic brightness (adjust between minimum and maximum brightness), rather than adaptive brightness (adjust in a range around the set brightness). It's further complicated because different phones handle adaptive brightness differently. On a nexus, it's in your settings. On a touchwiz (samsung) rom, you can also toggle it from the notification dropdown.

On some phones (like my galaxy s6), adaptive brightness prevents the backlight from reaching its minimum level. In other words, if I go into a pitch dark room and turn the system brightness slider all the way down, turning adaptive brightness on and off will change my backlight level (brighter when adaptive brightness is on).

That's why we have the Lower brightness setting, which disables adaptive/automatic brightness and sets your backlight brightness to the minimum. We know this isn't for everyone, so it will always stay optional.


In a totally ideal world, Red Moon would just replace the system brightness slider so that it turned down the backlight brightness more quickly and then turned on the filter after it reached the minimum backlight. I don't know of any good way to do that, so the next best thing would be not to touch the system brightness at all. But then some screens can't reach their minimum brightness, as discussed above, so we're stuck where we are today.

In some sense, it's not really in the scope of what Red Moon is trying to do, and the real solution is to improve Android's backlight controls. I'm not convinced today's Lower brightness setting is actually very useful most of the time. #122 isn't necessarily about making things more complex -- I'd rather do the opposite -- it's about figuring out how we should actually tackle this annoying problem.

smichel17 commented 7 years ago

I accidentally clicked the edit button on your comment instead of starting a new comment, then got distracted by something else and forgot I did that, and ended up writing my response as an edit to your comment. Fortunately I had another tab open with the original, which I restored. (Just in case someone's wondering why it says I edited the comment above.)

I edit my own comments for phrasing pretty frequently (content, less so) and am still getting used to there being an edit button next to other people's comments, too :P

willemw12 commented 7 years ago

The notification, when expanded, should have actions to pause/resume and to switch to the next profile.

OK. The "Turn off" button title may have confused me. "Pause", "Start" button titles may be more clear.

smichel17 commented 7 years ago

OK. The "Turn off" button title may have confused me. "Pause", "Start" button titles may be more clear.

See #121 for some history. Since then, I made a couple changes and I agree that pause/resume would make sense. I need to figure out how to make it work with Pause in secure apps.

Madis0 commented 6 years ago

In Nougat, this is possible to do by adjusting the notification settings (might need to enable system UI tuner).

In Oreo though, we need notification channels to change their priority, plus it has become a bigger issue due to the

X apps are running in the background

notification, which therefore pushes this notification down and hides it's controls by default.

hamishmb commented 2 years ago

Happened across this today, but on my device at least there is an icon there (Android 11). Fixed?