From 37ebd30a4d8009d8e26de1c1efd0c0fb2a257701 Mon Sep 17 00:00:00 2001 From: SUPERYAO Date: Fri, 24 Sep 2021 20:33:57 +0800 Subject: [PATCH 1/2] Keep the screen on when watching the entry --- .../java/com/kunzisoft/keepass/activities/EntryActivity.kt | 7 +++++++ .../java/com/kunzisoft/keepass/settings/PreferencesUtil.kt | 7 +++++++ app/src/main/res/values-zh-rTW/strings.xml | 2 ++ app/src/main/res/values/donottranslate.xml | 2 ++ app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/xml/preferences_application.xml | 5 +++++ 6 files changed, 25 insertions(+) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt index eb03b76da..c9937db75 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt @@ -282,6 +282,13 @@ class EntryActivity : DatabaseLockActivity() { } } } + + // Keep the screen on + if (PreferencesUtil.isKeepScreenOnEnabled(this)) { + window.addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) + } else { + window.clearFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) + } } override fun onPause() { diff --git a/app/src/main/java/com/kunzisoft/keepass/settings/PreferencesUtil.kt b/app/src/main/java/com/kunzisoft/keepass/settings/PreferencesUtil.kt index c2059d234..36efc093e 100644 --- a/app/src/main/java/com/kunzisoft/keepass/settings/PreferencesUtil.kt +++ b/app/src/main/java/com/kunzisoft/keepass/settings/PreferencesUtil.kt @@ -278,6 +278,12 @@ object PreferencesUtil { context.resources.getBoolean(R.bool.enable_auto_save_database_default)) } + fun isKeepScreenOnEnabled(context: Context): Boolean { + val prefs = PreferenceManager.getDefaultSharedPreferences(context) + return prefs.getBoolean(context.getString(R.string.enable_keep_screen_on_key), + context.resources.getBoolean(R.bool.enable_keep_screen_on_default)) + } + fun isAdvancedUnlockEnable(context: Context): Boolean { return isBiometricUnlockEnable(context) || isDeviceCredentialUnlockEnable(context) } @@ -595,6 +601,7 @@ object PreferencesUtil { context.getString(R.string.delete_entered_password_key) -> editor.putBoolean(name, value.toBoolean()) context.getString(R.string.enable_read_only_key) -> editor.putBoolean(name, value.toBoolean()) context.getString(R.string.enable_auto_save_database_key) -> editor.putBoolean(name, value.toBoolean()) + context.getString(R.string.enable_keep_screen_on_key) -> editor.putBoolean(name, value.toBoolean()) context.getString(R.string.omit_backup_search_key) -> editor.putBoolean(name, value.toBoolean()) context.getString(R.string.auto_focus_search_key) -> editor.putBoolean(name, value.toBoolean()) context.getString(R.string.subdomain_search_key) -> editor.putBoolean(name, value.toBoolean()) diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 789f53b15..d3adbc7ea 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -286,6 +286,8 @@ 教學提示 重設教學提示 自動儲存資料庫 + 螢幕常亮 + 當正在閱讀條目時,保持螢幕常亮 刪除密碼 阻止自動填入 網域名稱黑名單 diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml index 1d7cbf25e..0efc3422b 100644 --- a/app/src/main/res/values/donottranslate.xml +++ b/app/src/main/res/values/donottranslate.xml @@ -67,6 +67,8 @@ false enable_auto_save_database_key true + enable_keep_screen_on_key + false omit_backup_search_key true auto_focus_search_key diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 005fee3ac..f2a89ff0c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -510,6 +510,8 @@ Open the database read-only by default Autosave database Save the database after every important action (in \"Modifiable\" mode) + Keep screen on + Keep the screen on when watching the entry Educational hints Highlight elements to learn how the app works Reset educational hints diff --git a/app/src/main/res/xml/preferences_application.xml b/app/src/main/res/xml/preferences_application.xml index 4a96d82bc..ce1c5d8ff 100644 --- a/app/src/main/res/xml/preferences_application.xml +++ b/app/src/main/res/xml/preferences_application.xml @@ -43,6 +43,11 @@ android:title="@string/enable_auto_save_database_title" android:summary="@string/enable_auto_save_database_summary" android:defaultValue="@bool/enable_auto_save_database_default"/> + From 40a893a8c974f321d892a907d49820d68b117fca Mon Sep 17 00:00:00 2001 From: SUPERYAO Date: Fri, 24 Sep 2021 22:30:21 +0800 Subject: [PATCH 2/2] There is no need to clear the flag when the option is not enabled --- .../main/java/com/kunzisoft/keepass/activities/EntryActivity.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt index c9937db75..09b72e908 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt @@ -286,8 +286,6 @@ class EntryActivity : DatabaseLockActivity() { // Keep the screen on if (PreferencesUtil.isKeepScreenOnEnabled(this)) { window.addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) - } else { - window.clearFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) } }