This object is in archive! 

Inconsistent notification position in full screen - preset apply notification is in the way

Falco shared this problem 4 years ago
Closed

Last year you did introduce a notification for applying presets and some people did complain because of its long display duration.


Every time I get near an unknown junction I switch from dashboard to map view via preset apply feature. Unfortunately on my Sony Z3C it pops up over my current position and I can't see where to go and I have to stop riding do wait until the notification disappear. This sounds like a change request so far, but on my Samsung phone I noticed that the notifications are a lot better placed and are never in the way.

Which means I found inconsistent behavior of the notification positioning.

This is how it should look:

  • expected_behaivor_samsung.png

On my Sony Z3 Compact non fullscreen with visible touch buttons it is already much higher than on my Samsung, but it is not covering my position:

  • broken_but_usable.png

But if I'm in fullscreen mode, it is an issue because the notification is placed right on top of my position and does block the view to my current position:

  • broken_fullscreen1.png
  • broken_fullscreen2.png

Tested Version was 3.44.3 on all devices


Kind Regards

Falco

Best Answer
photo

I already told you that my current solution is Locus Fullscreen: off combined with

adb shell settings put global policy_control immersive.full=menion.android.locus.pro
During removal of locus fullscreen from all my presets I did figure out that we get different notifications between applying via touch in menu and applying via action task. I guess the action task does use a different application context.


Weird but not a problem, both are working fine if we use locus fullscreen: off. Only with locus fullscreen: on it will get an custom offset.


I would suggest to keep the long toast duration for usability and just have a look on locus fullscreen mode to figure out why this setting is adding an large offset to all toasts. Because without the additional offset, the toast will never overlay your current position. Even not on small devices.

Replies (7)

photo
1

Hello Falco,

interesting observation. Not so simple to solve to be true. On my device, it looks correctly even in the full-screen mode, so little harder to test.

Anyway, I've changed the display time from 7 seconds to 4 seconds. Because of this, the app will also use a little different method to display this popup. So let me know in the next version 3.46 (or any Beta before), if it helped, thanks.

Menion

photo
1

It was 7s?

On my devices it is only 4s

photo
1

I found another difference during trying to make a screenshot on my S8. I can't make a screenshot because on my S8 it does disappear immediately on touch.

Samsung S8 Stock Android 9:

  • if you click on a green notification bar, it will disappear
  • if you click anywhere outside a green notification bar, it will disappear too

Samsung S4 mini Custom Android 9:

  • if you click on a green notification bar, it will stay, you have to wait 4 seconds
  • if you click anywhere outside a green notification bar, it will stay, you have to wait 4 seconds

Sony Z3C Android 5:

  • if you click on a green notification bar, it will stay, you have to wait 4 seconds
  • if you click anywhere outside a green notification bar, it will stay, you have to wait 4 seconds

photo
1

The difference is of course possible, every Android brings some changes :).

Anyway please wait on the next version. And yes, it should really be 7 seconds (but on my device, it also looks a shorter).

photo
1

I will try the beta on my 3 devices.


Currently, my S4 Mini is the only device where the notification is low enough to clip the bottom button bar.


Even on S8 landscape mode it is not as low as on my s4mini. And both are running same API version...


@Menion what kind of overlay do you use, I thought it is an custom popup and you controll it's position. Or is it a default android toast?

photo
1

I guess I figured it out. Of course, it is an android ROM specific toast positioning problem...


Only my custom ROM S4 Mini does place toasts very low.

Samsung ROM Toasts are a little bit higher

And old Sony ROM Toasts are ridiculous high placed


Well, I guess it will be not so easy to change this without knowing how the toast design is called to find the default layout xml.


But it is possible to overwrite the default toast margin.

https://developer.android.com/reference/android/widget/Toast#setGravity(int, int, int)

photo
1

@Menion I did test setGravity on all my devices for you.


toast.setGravity(Gravity.BOTTOM, 24, 0);


Does look like my s4 mini.

Would be very nice if you could use setGravity to overwrite ROM specific behaivor.

photo
1

Hello Falco,

as usually, you test it very precisely, nice :). I see one minor problem > I do not use Toasts for these 7 seconds notifications, but using custom version of so called Snackbar.

Anyway in yesterday published version is set interval to 4 seconds and this shorter notification now use Toast system, so give it a short try. Unfortunately I do not want to apply your "gravity" hack. As you may see, toast moved down cover buttons at the bottom of the screen. And like you do not like current situation, this change may cause different problems to other users (for example in the list of points, tracks etc where is bottom panel with buttons).

Give a try to the new version and if result will be still negative, let me know and I'll try to improve this particular notification (about active preset).

photo
1

Sony Z3


  • 3.44.3 notification is 4s long
  • 3.45.0 notificiation is 7s long

Samsung S4


  • 3.44.3 notification is 4s long
  • 3.45.0 notificiation is 3s long

But both behaive the same.

  • placed to high on a device with touch screen buttons
  • does not disappear on click

But what is happening on the Z3? it doesn't make any sense. I did double check, default toasts with long duration flag will only stay for 4s

I don't know why it does stay 7s on the locus map preset apply notification.


But doesn't matter, you don't need to finetune the duration. 4s and 7s are both long if you need to wait for this time to see where you are.


You don't need to use a gravaty offset which does move the notification as low as my s4mini rom, but it would be nice if the position get adjusted in fullscreen mode. It would be much better if the fullscreen and the non fullscreen version has the same hight, because currently the fullscreen version is twice as high (relativ to locus screen) as the non fullscreen version and a little bit higher absolut

photo
1

The slightly absolute difference between fullscreen and non fullscreen mode looks like something did try to adjust the height.


I did extend my testing and use my own fullscreen mode. Instead of enabling locus fullscreen I did set global immersive.full mode

adb shell settings put global policy_control immersive.full=*

And the result was the expected behaivor, no weird offset.


Could it be that something is try to compansate the layout hight in your locus fullscreen mode? Because the android fullscreen mode works fine.

Expacted android fullscreen behaivor

  • adb_immersive.png

Locus full screen behaivor:

  • locus_fullscreen.png


I will avoid locus full screen mode and use immersive.full mode as an workarround :)

photo
1

I already told you that my current solution is Locus Fullscreen: off combined with

adb shell settings put global policy_control immersive.full=menion.android.locus.pro
During removal of locus fullscreen from all my presets I did figure out that we get different notifications between applying via touch in menu and applying via action task. I guess the action task does use a different application context.


Weird but not a problem, both are working fine if we use locus fullscreen: off. Only with locus fullscreen: on it will get an custom offset.


I would suggest to keep the long toast duration for usability and just have a look on locus fullscreen mode to figure out why this setting is adding an large offset to all toasts. Because without the additional offset, the toast will never overlay your current position. Even not on small devices.

photo
1

Falco, I give up. I've tried to disable all possible hacks and modifications I did over the years to achieve +- usable full-screen system, but none has an effect on your problem. It seems it works correctly on Android 10 in all cases.

So only what I may offer (and I've already changed it), is to set visibility of this notification to "Toast > SHORT", so Toast with duration to 2 seconds. It is little below the necessary time to read it, but I believe that it will be enough.

I'm aware of some new options on how to create a correct full-screen experience and I plan to invest some time into it during the next months, so hopefully, it will solve this problem as well. Thanks for understanding.

photo
1

Be careful with 2 seconds, last year you got already feedback that this is too short to read anything.


I would suggest keeping the long duration and if somebody asks for toast position, just tell him the workaround. Especially because you can't reproduce it on android 10, we should use the workaround for people with older phones. On some default ROMs you don't even need adb, for example my S8 settings have an option to use fullscreen on android 9 without needing to use locus fullscreen mode.

photo
1

We will see. This notification had only one reason > confirm that something happens. It may work even with 2 seconds because it's green, it says "Something set" ... should be ok.

As I wrote, I also do not consider these confirmation texts as a happy solution, but it was never so hot, to invest more time to invent a better solution. Later ...

photo
1

I can confirm that on Stock Android 9 Samsung ROM from S8 Locus Toasts look equal on application fullscreen and non fullscreen.


If you disable the navigation bar with in stock Samsung settings, it will move the locus toasts down like on my Z3 in immersive mode.


But we should keep in mind that new phones will never have small screens and GPS Position placed at 15% will never be clipped by toasts. This is just another argument why no more time should be spend on this as long as we have existing workarrounds.

Files: S8.png

Replies have been locked on this page!