diff --git a/android/res/values-be/strings.xml b/android/res/values-be/strings.xml index 05b421b5f4..00b3ee40fd 100644 --- a/android/res/values-be/strings.xml +++ b/android/res/values-be/strings.xml @@ -670,6 +670,9 @@ Дазволіць экрану засынаць Дазваляе экрану засынаць пасля перыяда бездзеяння. + Паказваць Organic Maps на экране блакіроўкі + + Калі ўключана, вам не трэба разблакіраваць прыладу кожны раз падчас працы дадатку. Пажарная частка diff --git a/android/res/values-pl/strings.xml b/android/res/values-pl/strings.xml index 1b8e80db94..50f2572102 100644 --- a/android/res/values-pl/strings.xml +++ b/android/res/values-pl/strings.xml @@ -662,6 +662,9 @@ Pozwól ekranowi spać Po włączeniu ekran będzie mógł spać po okresie bezczynności. + Pokazuj Organic Maps na ekranie blokady + + Po włączeniu nie musisz odblokowywać urządzenia za każdym razem, gdy aplikacja jest uruchomiona. Transport linowy diff --git a/android/res/values-ru/strings.xml b/android/res/values-ru/strings.xml index 0abb799814..1a068b0559 100644 --- a/android/res/values-ru/strings.xml +++ b/android/res/values-ru/strings.xml @@ -680,6 +680,9 @@ Разрешить экрану спать При включении экран может переходить в спящий режим после периода бездействия. + Показывать Organic Maps на экране блокировки + + Если эта функция включена, вам не нужно каждый раз разблокировать устройство во время работы приложения. Канатная дорога diff --git a/android/res/values-uk/strings.xml b/android/res/values-uk/strings.xml index 9cdec9d772..b74122f1cb 100644 --- a/android/res/values-uk/strings.xml +++ b/android/res/values-uk/strings.xml @@ -663,6 +663,9 @@ Дозволити екрану вимкнутись При включенні екран може переходити в сплячий режим після певного періоду бездіяльності + Показувати Organic Maps на заблокованому екрані + + Якщо ввімкнено, вам не потрібно щоразу розблоковувати пристрій під час роботи програми. Канатна дорога diff --git a/android/res/values/donottranslate.xml b/android/res/values/donottranslate.xml index a0235e33b0..0cc1e1741d 100644 --- a/android/res/values/donottranslate.xml +++ b/android/res/values/donottranslate.xml @@ -38,6 +38,7 @@ Transliteration PowerManagment ScreenSleep + ShowOnLockScreen %1$s: %2$s %2$s :%1$s diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml index 9c412c4842..78188be2a2 100644 --- a/android/res/values/strings.xml +++ b/android/res/values/strings.xml @@ -694,6 +694,9 @@ Allow screen to sleep When enabled the screen will be allowed to sleep after a period of inactivity. + Show Organic Maps on the lock screen + + When enabled, you don\'t need to unlock your device every time while the app is running. Aerialway diff --git a/android/res/xml/prefs_main.xml b/android/res/xml/prefs_main.xml index 4b64e686c9..a318bbf5ea 100644 --- a/android/res/xml/prefs_main.xml +++ b/android/res/xml/prefs_main.xml @@ -76,6 +76,13 @@ android:summary="@string/enable_screen_sleep_description" android:defaultValue="false" android:order="16"/> + + + { + boolean newVal = (Boolean) newValue; + if (isShowOnLockScreenEnabled != newVal) + { + Config.setShowOnLockScreenEnabled(newVal); + Utils.showOnLockScreen(newVal, getActivity()); + } + return true; + }); + } + private void removePreference(@NonNull String categoryKey, @NonNull Preference preference) { PreferenceCategory category = findPreference(categoryKey); + // TODO: check whether it's needed #2049 if (category == null) return; diff --git a/android/src/com/mapswithme/util/Config.java b/android/src/com/mapswithme/util/Config.java index aec882d311..d902eb1ebf 100644 --- a/android/src/com/mapswithme/util/Config.java +++ b/android/src/com/mapswithme/util/Config.java @@ -39,6 +39,7 @@ public final class Config private static final String KEY_MISC_USE_MOBILE_DATA_ROAMING = "UseMobileDataRoaming"; private static final String KEY_MISC_AD_FORBIDDEN = "AdForbidden"; private static final String KEY_MISC_ENABLE_SCREEN_SLEEP = "EnableScreenSleep"; + private static final String KEY_MISC_SHOW_ON_LOCK_SCREEN = "ShowOnLockScreen"; private Config() {} @@ -186,6 +187,16 @@ public final class Config setBool(KEY_MISC_ENABLE_SCREEN_SLEEP, enabled); } + public static boolean isShowOnLockScreenEnabled() + { + return getBool(KEY_MISC_SHOW_ON_LOCK_SCREEN, false); + } + + public static void setShowOnLockScreenEnabled(boolean enabled) + { + setBool(KEY_MISC_SHOW_ON_LOCK_SCREEN, enabled); + } + public static boolean useGoogleServices() { return getBool(KEY_PREF_USE_GS, true); diff --git a/android/src/com/mapswithme/util/Utils.java b/android/src/com/mapswithme/util/Utils.java index f5ae471c3c..dc9aca68aa 100644 --- a/android/src/com/mapswithme/util/Utils.java +++ b/android/src/com/mapswithme/util/Utils.java @@ -18,6 +18,7 @@ import android.text.style.AbsoluteSizeSpan; import android.util.AndroidRuntimeException; import android.view.View; import android.view.Window; +import android.view.WindowManager; import android.widget.TextView; import android.widget.Toast; @@ -100,6 +101,16 @@ public class Utils w.clearFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } + public static void showOnLockScreen(boolean enable, Activity activity) + { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) + activity.setShowWhenLocked(enable); + else if (enable) + activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); + else + activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); + } + public static void showSnackbar(@NonNull View view, @NonNull String message) { Snackbar snackbar = Snackbar.make(view, message, Snackbar.LENGTH_LONG); diff --git a/data/strings/strings.txt b/data/strings/strings.txt index b2cc29f536..fec2b3fb57 100644 --- a/data/strings/strings.txt +++ b/data/strings/strings.txt @@ -21759,6 +21759,23 @@ zh-Hans = 启用后,屏幕将在一段时间不活动后进入休眠状态。 zh-Hant = 啟用後,螢幕將在一段時間不活動後進入休眠狀態。 + [enable_show_on_lock_screen] + tags = android + en = Show Organic Maps on the lock screen + be = Паказваць Organic Maps на экране блакіроўкі + pl = Pokazuj Organic Maps na ekranie blokady + ru = Показывать Organic Maps на экране блокировки + uk = Показувати Organic Maps на заблокованому екрані + + [enable_show_on_lock_screen_description] + tags = android + comment = Description in preferences + en = When enabled, you don't need to unlock your device every time while the app is running. + be = Калі ўключана, вам не трэба разблакіраваць прыладу кожны раз падчас працы дадатку. + pl = Po włączeniu nie musisz odblokowywać urządzenia za każdym razem, gdy aplikacja jest uruchomiona. + ru = Если эта функция включена, вам не нужно каждый раз разблокировать устройство во время работы приложения. + uk = Якщо ввімкнено, вам не потрібно щоразу розблоковувати пристрій під час роботи програми. + [whats_new_auto_update_title] comment = Autoupdate dialog on start tags = ios