Size: a a a

OsmAnd Public Chat #RU

2020 April 27

L

Lans in OsmAnd Public Chat #RU
Если пользоваться стравой над спутником, как Вы делаете, и хочется видеть при этом что под ней...
Берём страву.. быстрым действием (два клика), - и ставим вместо основной карты. Ставим её как основную.
Щас скрины сделаю...
И всё :))))
Ползунок, никуда не слетая, начинает управлять яркостью стравы, под которой больше ничего не мешает, и показывать начисто дорожки и дороги.
Так как страва стала основным слоем - ползунок управляет именно ей.
Вся красота.
Насмотрелись, - быстрым же действием возвращаем основную карту на место, и ползунок опять же в порядке и в меню лазить вообще не надо.
Я думаю, что многие так и пользуются.
Щас скрины.
источник

L

Lans in OsmAnd Public Chat #RU
источник

L

Lans in OsmAnd Public Chat #RU
источник

L

Lans in OsmAnd Public Chat #RU
источник

L

Lans in OsmAnd Public Chat #RU
То есть цена вопроса под Вашу задачу:
- два клика чтоб включить;
Смотреть и регулировать яркость...
- два клика чтоб вернуть всё назад.
И ползунок остаётся на месте.
источник

DC

Daniil Chubiy in OsmAnd Public Chat #RU
Евгений
самсунг а5 андроид8, включение этой функции приводит к неотключению экрана и при навигации и в обычном режиме  ...однозначный баг
но еще позволяет показывать Osmand — после выключения экрана кнопкой  и повторного включения кнопкой — вместо экрана блокировки
источник

Е

Евгений in OsmAnd Public Chat #RU
Lans
Если пользоваться стравой над спутником, как Вы делаете, и хочется видеть при этом что под ней...
Берём страву.. быстрым действием (два клика), - и ставим вместо основной карты. Ставим её как основную.
Щас скрины сделаю...
И всё :))))
Ползунок, никуда не слетая, начинает управлять яркостью стравы, под которой больше ничего не мешает, и показывать начисто дорожки и дороги.
Так как страва стала основным слоем - ползунок управляет именно ей.
Вся красота.
Насмотрелись, - быстрым же действием возвращаем основную карту на место, и ползунок опять же в порядке и в меню лазить вообще не надо.
Я думаю, что многие так и пользуются.
Щас скрины.
о боже, что Вы курите? при чем здесь слои, если целый день идет обсуждение отключения экрана?
источник

L

Lans in OsmAnd Public Chat #RU
Спасибо. 😁😁
-----
Значит, - я бы сформулировал проблему сейчас так:
Активированная функция включения экрана (при отсутствии включённой навигации) блокирует использование приложением системного таймаута на некоторых устройствах, в том числе разновидности Самсунг и Honor.
источник

L

Lans in OsmAnd Public Chat #RU
Как-то так..
источник

AR

Alex Rybakov in OsmAnd Public Chat #RU
Вот это поток сознания... Пол дня...
источник

DC

Daniil Chubiy in OsmAnd Public Chat #RU
Lans
Спасибо. 😁😁
-----
Значит, - я бы сформулировал проблему сейчас так:
Активированная функция включения экрана (при отсутствии включённой навигации) блокирует использование приложением системного таймаута на некоторых устройствах, в том числе разновидности Самсунг и Honor.
Ну это симптомы. Реально проблемы две: одна из них баг а вторая - отсутствие фичи.
Баг: настройки отрисовки поверх экрана блокировки применяются постоянно для основного вью, даже при отключенной навигации.
Отсутствует фича отключения отрисовки поверх экрана блокировки вне режима навигации (но работает из-за указанного выше бага)
источник

DC

Daniil Chubiy in OsmAnd Public Chat #RU
Еще нашел кое-что. У меня  этот переключатель (Включить экран) влияет на работу screen timeout только если применяется через кнопку навигации. Если зайти в настройки навигации через настройки -> профили -> соотв. профиль и поменять там то не влияет
источник

DC

Daniil Chubiy in OsmAnd Public Chat #RU
по крайней мере моментально не применяется
источник

DC

Daniil Chubiy in OsmAnd Public Chat #RU
Я так понял основная логика этого процесса описана в Osmand/OsmAnd/src/net/osmand/plus/activities/MapActivity.java:2139

Вызов changeKeyguardFlags() проверяет настройки. Возможны три состояния:

Если включен settings.TURN_SCREEN_ON_ENABLED и TURN_SCREEN_ON_TIME_INT больше нуля, то включается  и keepScreeenOn и отрисовка поверх блокированного экрана

Если TURN_SCREEN_ON_TIME_INT=никогда или settings.TURN_SCREEN_ON_ENABLED выключен, а USE_SYSTEM_SCREEN_TIMEOUT включен то и keepScreeenOn и отрисовка поверх блокированного экрана отключается

Если TURN_SCREEN_ON_TIME_INT=никогда или settings.TURN_SCREEN_ON_ENABLED выключен, а USE_SYSTEM_SCREEN_TIMEOUT выключен то keepScreenOn включается а отрисовка поверх блокированного экрана отключается
источник

DC

Daniil Chubiy in OsmAnd Public Chat #RU
есть отслеживание состояния настройки USE_SYSTEM_SCREEN_TIMEOUT при изменении состояния этой настройки вызывается именно что не смена keepScreeenOn а тот самый changeKeyguardFlags() который имеет три состояния и какраз зависит от настроек навигации
источник

DC

Daniil Chubiy in OsmAnd Public Chat #RU
еще он в updateApplicationModeSettings() дергается а он в свою очередь в stopNavigationWithoutConfirm возможно из-за этого мы видим моментальную смену настройки при входе через кнопку навигации
источник

DC

Daniil Chubiy in OsmAnd Public Chat #RU
ну и закономерно не видим при входе через настройки профиля потому что сами по себе настройки TURN_SCREEN_ON_TIME_INT и settings.TURN_SCREEN_ON_ENABLED в режиме карты не отслеживаются
источник

DC

Daniil Chubiy in OsmAnd Public Chat #RU
В общем как описано так и работает. Вот как это переделать по-человечески я затрудняюсь сказать
источник

DC

Daniil Chubiy in OsmAnd Public Chat #RU
updateApplicationModeSettings() и при переключении режима карты тоже вызывается. И по наблюдениям соответсвенно настройки через профиль -> нафигация ->включить экран также применяются при смене режима, например с пешехода на автомобиль и обратно
источник

DC

Daniil Chubiy in OsmAnd Public Chat #RU
Daniil Chubiy
Я так понял основная логика этого процесса описана в Osmand/OsmAnd/src/net/osmand/plus/activities/MapActivity.java:2139

Вызов changeKeyguardFlags() проверяет настройки. Возможны три состояния:

Если включен settings.TURN_SCREEN_ON_ENABLED и TURN_SCREEN_ON_TIME_INT больше нуля, то включается  и keepScreeenOn и отрисовка поверх блокированного экрана

Если TURN_SCREEN_ON_TIME_INT=никогда или settings.TURN_SCREEN_ON_ENABLED выключен, а USE_SYSTEM_SCREEN_TIMEOUT включен то и keepScreeenOn и отрисовка поверх блокированного экрана отключается

Если TURN_SCREEN_ON_TIME_INT=никогда или settings.TURN_SCREEN_ON_ENABLED выключен, а USE_SYSTEM_SCREEN_TIMEOUT выключен то keepScreenOn включается а отрисовка поверх блокированного экрана отключается
Надо как-то разделять включение экрана при навигации и отрисовку поверх блокировки (FLAG_DISMISS_KEYGUARD и FLAG_SHOW_WHEN_LOCKED). Для последней отдельный пункт делать в настройках профиля. Отдельно выставлять параметры keepScreenOn после изменения USE_SYSTEM_SCREEN_TIMEOUT или хотя бы проверять включена ли навигация при вызове changeKeyguardFlags() . Да и саму настройку use system screen timeout тоже в профиль перенести, не вижу причины почему его только глобально можно включать
источник