Screen dim instead of power off

Krzysztof Antoszek shared this idea 15 months ago
Collecting votes

The feature is that the screen is alwasy on, but the back-light is set to low (user defined level). Everything other works as normal, for example the screen off/on gesture just ramps the back-light up or dims the screen. Less brightness for back-light means less power and with high contrast themes (or high contrast dashboards) some of the locus features are still visible with the screen dimmed.

Comments (22)

photo
2

Good day Krzysztof,

thank you for sharing this idea. I personally can't imagine it's usage to be true. Backlight is quite well automatically handled by Android system itself and if not, I may always quite easy slide top system bar and modify backlight manually by myself.

So why should I need some additional settings directly in Locus Map application? Also how this should be correctly set? By some slider that will setup backlight intensity? If so, then it is just a copy of already existing settings that is directly in Android devices, isn't it?

photo
1

The existing solution on android is great, but its something different that I'm suggesting in locus. For one, it dims the screen and after 2-3 sec it powers it off. I'm thinking the screen should be still on, just dimmed. The slider that is available in the top dropdown menu can be frustrating to use when bicycling or running. And really unusable when having a waterproof pouch for the phone (proximity sensor does not work also in pouches, so gestures are not working also).


What I'm proposing is just add another setting to screen on/off settings which would be something like "Screen power when off: N%" whicn corresponds to 0-100% of screen brightness, 0 when screen is really off, and 100% is the current (at the time the function turns on) screen brightness value (which would work great with light sensors).

photo
photo
1

Good day Krzysztof,

to be true, I still miss the point.


Situation: I sit on bike, attach device on it and start recording in Locus Map ( for example ). Now I see that automatic screen backlight is too shiny, so I slide top system bar, modify backlight and finally start my ride happy with setup.


Now, how may your settings help here? Based on what you wrote "another setting to screen on/off settings which would be something like

"Screen power when off: N%" whicn corresponds to 0-100% of screen

brightness, 0 when screen is really off, and 100% is the current screen brightness value" , I understand that you wants from Locus not to completely turn off screen, but just reduce backlight to your defined value, right?


Does it make really sense? Screen will still be turned on and Locus Map will still draw map and it's content = almost zero battery save, and screen will be a lot darker so I'll see nothing...

photo
1

> but just reduce backlight to your defined value, right


Yes


> Map will still draw map and it's content = almost zero battery save


that is not true, having a brightness level at 20% I almost double the battery time on my Huawei P9 Lite while locus is running and recording


> screen will be a lot darker so I'll see nothing


Thats why I created a high contrast map theme which can be found at locus forum :) (I also have a high contrast dashboard to match)

photo
3

Independently I've been thinking about very similar idea. My idea is to add additional low energy/brightness mode. In this mode user will be able to define screen brightness and maybe some additional settings, but most important is possibility of setting pre-defined panel. Why it will be useful? Because user can define special, high contrast panels (black on white or white on black) with large fonts, which will be visible while screen brightness will be set to minimal or very close to minimal. It will help to conserve phone battery without loosing most important info (speed, distance, battery level, tracking info) displayed all the time. I've attached image with sample panel - screen back light was set almost to minimal value. I've made some tests and using acceptable screen brightness it consumes about 5..7 % battery per hour. Of course using regular screen/panels requires setting of back light to higher level, this minimal level gives possibility of reading only high-contrast items.


802d6ee543ee06b8dc16706a65f37bdd

The separate aspect is how to engage this mode. It could be set manually by some option (which can be placed on some toolbar like other options) but very useful will be setting it automatically. For example when option 'Leave screen on' is set, we should be able to define some delay and after this delay some action could be performed - for example 'Set low energy/brightness mode'.

photo
1

Screen ON to Screen (min %) brighness ON also keeps the touch screen active ! Use case(s) ?

A (workaround) method to keep record functional for those phones with a too agressive power management ?

Or how these stupid too agressive power saving systems becomes totally contraproductive in the end.

photo
1

I like the dashboard idea because if you are in track recording mode it will drain alot more battery then low display brightness.


If you force your phone to stay online with track recording it makes alot of sence too utilize the already active phone by putting a small amount of current into the display.


I can confirm that it doesn't make any meaningfull differenz if you compare display off with min brightness if your GPS is running because GPS will drain alot more then your display.


Display off make only sense if you don't record tracks.


I switched to track recording since I start to work with barometric messurements and experienced the huge drawback of an allways active but not utilized phone.

I did thougt about a tasker profile which get triggered by a spare hardware button or by time because with track recording it doesn't make any more sence for me to actually turn the screen off because it doesn't save much power anyway to turn the screen off. But for tasker it is a little bit difficould to open and close the dashboard. Emulating inputs will have trouble with touchscreen lock especially when a sweaty touchscreen goes crazy.

photo
photo
1

If somebody want to use the acuall power button, an android system wide app for replacing power off with screen dim would be great. But I didn't find anything. I guess this would require root anyway.

But again this will only make sense if you already force your phone to stay online and keep getting data from expensive receivers like GPS for example by track recording or navigation without standby.


Like @0709 already ask for, please don't vote for this idea if you search for an power saving issue workarround. You will find the solution for these things here: http://docs.locusmap.eu/doku.php?id=manual:faq:gps_lost_fix_android6

And if you search for BT GPS related issues, you will need even more stupid exceptions in your power management: http://help.locusmap.eu/topic/create-faq-entry-for-solving-bt-sleep-issues

photo
1

I'm not sure why the user 0709 gave such interpretation of my and/or Krzysztof's proposal. It isn't in any way connected to gps/power saving issues - my Locus track saving works even when screen is powered off. My initial idea was to have something similar to simple bike computer with basic parameters with power consumption as small as possible. And I would like to have this feature enabled automatically - without manual setting screen brightness and special panel.

photo
1

I agree with your usecase, especially if you do already force your screen off phone to stay active with GPS recording. It's painfull for me to see battery draining without any display activity.

And your idea is the best, it will utilize the already active phone and will work with minimum brightness.


Black Background would be great for OLED and we already know that always on OLED solutions will work fine.

White Background would be great for LCD because it's better readable, at least for me if I test small fonts. And I can tell that at least my Z3 Compact LCD doesn't consume a noticeable amount of current.


Would be nice to have this or at least an api to implement this with tasker.

photo
1

@ Daniel & Krzysztof , I was not commenting your specific use case.

But I saw an opportunity by your dim proposal for a possible temporary workaround solution for that other BIG issue UNTIL hopefully solved.

@ Falco. No no, no definitive solution.

Our developer has probably spent many hours, days, weeks on that issue, at the expense of other interesting ideas.

By reading the forum pse notice the problem for some hardware still keeps unsolved ! (New A update = more new troubles).

Personally I do not need the dim function. Real screen on/off by my young oldtimer (LCD) (A 4.4.2) hardware still a perfect solution.

Info: Energy usage over the last minute in Joule. In house test & minimum brightness: Screen hardly readable in daylight.

LCD max lum: 53.1 J GPS: 26.1 J CPU: 1,4 J Wifi: 0 J 3G: 0 J Audio: 0 J

LCD min lum: 17.9 J GPS: 26.1 J CPU: 1.4 J Wifi: 0 J 3G: 0 J Audio: 0 J

photo
photo
1

This idea could be solved with tasker. After I did learn that my phone does have an even larger gap between min and max LCD (12 hours screen on time vs 45 hours) I did start to implement this idea in tasker.

I did change it a little bit. Instead of automatically dim based on time, I like to control it direcly.

Good to have a 2-step camera button on my phone :)

half click will loop through 3-step display brightness:

  • lowest useable brightness
  • normal brightness for normal use
  • max brightness for difficult to read map sections.

full click will show dashboard and min brightness


  • set lowest useable brightness
  • open high contrast dashboard with white backgrund for best LCD screen usage
  • dashboard get disabled by half click


Is there an API or any kind of import simulation for tasker to enable dashboard? I don't like simulating touch screen inputs because they would not work during screenlock.

photo
1

Hi Falco,

just in latest Locus Map version was added support for set "Presets" over API: https://github.com/asamm/locus-api/wiki/Action-tasks-(Broadcasts)

So the solution: set a Preset that only enable wanted dashboard (in presets screen, enable advanced mode in the top toolbar) and activate it over tasker with mentioned API. Should work.

photo
1

I did expect that you already support it, I was just unable to find the correct api call. Thank you for pointing to presets.


But I do worry about the scope of preset change. Will touchscreen lock be maintained during a preset change, or would it be get reset as well? I guess nobody did try it because without API you can't change preset during touchscreen lock anyway.

photo
1

http://docs.locusmap.eu/doku.php?id=manual:user_guide:settings:presets

I see that we have a preset settings selection there, thats even better, it doesn't reset everthing it just apply settings which get selected in "preset settings selection"

That is great because I don't have to worry about resetting to much on each screen brightness change button klick.

By the way, this page is still marked as beta on the last line of the documentation.

photo
1

Yes, this is correct. Only selected list of options is changed, so you may simply create one preset that only turn on the dashboard and no other settings changes.

And "beta" ... probably time to remove it, thanks :)

photo
photo
1

Here is an System Dim instead of power off for Sony Z3 Compact with 2-Step Camera+Focus button.

You need to use AutoInput to get access to Focus Button and Camera Button Events. And you may need to disable one of Sony Camera App Services depending on your ROM.


BrightSelect_Toggle.prf.xml loop through as many brightness levels as you like to enter there.

Profile: BrightSelect Toggle (6)
Event: AutoInput Key [ Configuration:Keys: Focus
Key Action: Key Up
Manual Key Codes: 80, ]
State: Not Task Running [ Name:Locus Idle Toggle ]
Enter: BrightSelect (7)
<enter needed brightness levels>
A1: Array Set [ Variable Array:%BRIGHT_ARR Values:0 130 255 Splitter: ] If [ %BRIGHT_ARR(#) < 1 ]
A2: Array Pop [ Variable Array:%BRIGHT_ARR Position:1 To Var:%new_bright ]
A3: Display Brightness [ Level:%new_bright Disable Safeguard:Off Ignore Current Level:Off Immediate Effect:Off ] 
Locus_Dashboard_Toggle.prf.xml does call 2 presets alternating, one for power saving and one for active usage.
Profile: Locus Dashboard Toggle (8)
Application: Locus Map
Event: AutoInput Key [ Configuration:Keys: Camera
Key Action: Key Down
Manual Key Codes: 27, ]
Enter: Locus Idle Toggle (9)
Abort Existing Task
A1: If [ %LOCUS_PRESET neq Dashboard ]
A2: Variable Set [ Name:%OLD_BRIGHT To:%BRIGHT Recurse Variables:Off Do Maths:Off Append:Off ]
A3: Display Brightness [ Level:0 Disable Safeguard:Off Ignore Current Level:Off Immediate Effect:Off ]
<enter idle preset>
A4: Variable Set [ Name:%LOCUS_PRESET To:Dashboard Recurse Variables:Off Do Maths:Off Append:Off ]
A5: Else
A6: Display Brightness [ Level:%OLD_BRIGHT Disable Safeguard:Off Ignore Current Level:Off Immediate Effect:Off ]
<enter active preset>
A7: Variable Set [ Name:%LOCUS_PRESET To:Bike Recurse Variables:Off Do Maths:Off Append:Off ]
A8: End If
A9: Send Intent [ Action:com.asamm.locus.ACTION_TASK Cat:None Mime Type: Data: Extra:tasks: { preset: { action: "start", name: "%LOCUS_PRESET" } } Extra: Extra: Package:menion.android.locus.pro Class: Target:Broadcast Receiver ]
<keep running to skip brightselect task>
A10: Wait [ MS:0 Seconds:3 Minutes:0 Hours:0 Days:0 ]
Because a 2-step would click trigger both profiles, the BrightSelect loop does look for running Locus Dashboard Toggle Tasks. Feel free to implement timers instead of button triggers or if you are crazy enoght, overwrite Android power button with root access :D

photo
1

I guess this can't be implemented in Locus, even if the Android APIs would be capable becuase we have so many different requirements which would result into a painfull configuration UI:

- replace android power button

- auto dim after time X + don't turn screen off

- open dashboad and dim screen on power toogle

- open dashboard and dim after time X

- open dashboard and dim on any hardware key

- switch screen brightness with any hardware key

- prevent multible action execution if 2 hardware keys are presset (2-step buttons)


I guess tasker is the only tool to handle all of it.

Should we add an advise to use automation software to combine timebased and hardware key based events with locus preset usage over action task to knowlage base as idea solution? Maybe add examples for some usecases like I did. It would help if any adjustet tasker configurations for all the other usecases could be shared too.

photo
1

And here is the tasker solution with power btn overwrite:

Locus_PwrBtn_ScreenDim

Profile: Locus PwrBtn ScreenDim (2)
Event: Display Off
Application: Locus Map
Enter: ScreenOn and DimToggle (3)
Abort Existing Task, Stay Awake
<turn screen back on>
A1: Send Intent [ Action:com.asamm.locus.ACTION_TASK Cat:None Mime Type: Data: Extra:tasks: { screen_on_off: { action: "on" } } Extra: Extra: Package:menion.android.locus.pro Class: Target:Broadcast Receiver ]
<set the bright level for dimed screen>
A2: Variable Set [ Name:%dimlevel To:0 Recurse Variables:Off Do Maths:Off Append:Off ]
<if it was dimmed>
A3: If [ %BRIGHT = %dimlevel ]
A4: Display Brightness [ Level:%OLD_BRIGHT Disable Safeguard:Off Ignore Current Level:Off Immediate Effect:Off ]
<was not dimmed>
A5: Else
A6: Variable Set [ Name:%OLD_BRIGHT To:%BRIGHT Recurse Variables:Off Do Maths:Off Append:Off ]
A7: Display Brightness [ Level:%dimlevel Disable Safeguard:On Ignore Current Level:Off Immediate Effect:Off ]
A8: End If 
If the task is fast enoght, it would turn screen back on before the non removeable action "enter sleep on power button press" put the device into sleep mode. Then it does trigger an screen dim toggle to dim screen on power botton press and will undim on another power botton press. This solution doesn't need root, but switich from screen dim to screen active can't be triggered by a touch action because global touch action event listening would require root, you need to hit power btn again to switch from screen dim to screen bright.

photo
1

I will try to use Tasker as you suggest - I didn't know that it is possible. Do you think that using proximity sensor (instead of power button) to change brightness and Locus presets is imaginable?

photo
1

Sure, but maybe difficoult to use. At least eveything is possible. Would be nice if you could share your proximity setup.

photo
photo
1

If you don't have anoght hardware buttons to trigger screen dim instead of power off, you could try something like "Mi Key" for less then 1$ to have another input for tasker plugin "auto input" if your device does support headphone buttons.