summaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/AndroidManifest.xml3
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/UserPreference.kt37
-rw-r--r--app/src/main/res/values-ar/strings.xml2
-rw-r--r--app/src/main/res/values-cs/strings.xml3
-rw-r--r--app/src/main/res/values-de/strings.xml3
-rw-r--r--app/src/main/res/values-es/strings.xml3
-rw-r--r--app/src/main/res/values-fr/strings.xml3
-rw-r--r--app/src/main/res/values-ja/strings.xml3
-rw-r--r--app/src/main/res/values-ru/strings.xml3
-rw-r--r--app/src/main/res/values-zh-rCN/strings.xml3
-rw-r--r--app/src/main/res/values-zh-rTW/strings.xml3
-rw-r--r--app/src/main/res/values/arrays.xml6
-rw-r--r--app/src/main/res/values/strings.xml40
-rw-r--r--app/src/main/res/xml/preference.xml251
14 files changed, 183 insertions, 180 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 75f0752a..8e05d5b8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -43,7 +43,8 @@
<activity
android:name=".UserPreference"
- android:parentActivityName=".PasswordStore" />
+ android:parentActivityName=".PasswordStore"
+ android:label="@string/action_settings" />
<service
android:name=".autofill.AutofillService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
diff --git a/app/src/main/java/com/zeapo/pwdstore/UserPreference.kt b/app/src/main/java/com/zeapo/pwdstore/UserPreference.kt
index 2a8f584d..8667110a 100644
--- a/app/src/main/java/com/zeapo/pwdstore/UserPreference.kt
+++ b/app/src/main/java/com/zeapo/pwdstore/UserPreference.kt
@@ -60,7 +60,7 @@ class UserPreference : AppCompatActivity() {
class PrefsFragment : PreferenceFragmentCompat() {
private var autofillDependencies = listOf<Preference?>()
- private var autoFillEnablePreference: CheckBoxPreference? = null
+ private var autoFillEnablePreference: SwitchPreferenceCompat? = null
private lateinit var callingActivity: UserPreference
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
@@ -87,6 +87,7 @@ class UserPreference : AppCompatActivity() {
val keyPreference = findPreference<Preference>("openpgp_key_id_pref")
// General preferences
+ val showTimePreference = findPreference<Preference>("general_show_time")
val clearAfterCopyPreference = findPreference<CheckBoxPreference>("clear_after_copy")
val clearClipboard20xPreference = findPreference<CheckBoxPreference>("clear_clipboard_20x")
@@ -115,7 +116,7 @@ class UserPreference : AppCompatActivity() {
clearAfterCopyPreference?.isVisible = sharedPreferences.getString("general_show_time", "45")?.toInt() != 0
clearClipboard20xPreference?.isVisible = sharedPreferences.getString("general_show_time", "45")?.toInt() != 0
val selectedKeys = (sharedPreferences.getStringSet("openpgp_key_ids_set", null)
- ?: HashSet<String>()).toTypedArray()
+ ?: HashSet()).toTypedArray()
keyPreference?.summary = if (selectedKeys.isEmpty()) {
this.resources.getString(R.string.pref_no_key_selected)
} else {
@@ -270,17 +271,20 @@ class UserPreference : AppCompatActivity() {
}
}
- findPreference<Preference>("general_show_time")?.onPreferenceChangeListener =
- ChangeListener { _, newValue: Any? ->
- try {
- val isEnabled = newValue.toString().toInt() != 0
- clearAfterCopyPreference?.isVisible = isEnabled
- clearClipboard20xPreference?.isVisible = isEnabled
- true
- } catch (e: NumberFormatException) {
- false
- }
- }
+ showTimePreference?.onPreferenceChangeListener = ChangeListener { _, newValue: Any? ->
+ try {
+ val isEnabled = newValue.toString().toInt() != 0
+ clearAfterCopyPreference?.isVisible = isEnabled
+ clearClipboard20xPreference?.isVisible = isEnabled
+ true
+ } catch (e: NumberFormatException) {
+ false
+ }
+ }
+
+ showTimePreference?.summaryProvider = Preference.SummaryProvider<Preference> {
+ getString(R.string.pref_show_time_summary, sharedPreferences.getString("general_show_time", "45"))
+ }
findPreference<SwitchPreferenceCompat>("biometric_auth")?.apply {
val isFingerprintSupported = BiometricManager.from(requireContext()).canAuthenticate() == BiometricManager.BIOMETRIC_SUCCESS
@@ -290,6 +294,7 @@ class UserPreference : AppCompatActivity() {
summary = getString(R.string.biometric_auth_summary_error)
} else {
setOnPreferenceClickListener {
+ isEnabled = false
val editor = sharedPreferences.edit()
val checked = isChecked
Authenticator(requireActivity()) { result ->
@@ -297,12 +302,14 @@ class UserPreference : AppCompatActivity() {
is AuthenticationResult.Success -> {
// Apply the changes
editor.putBoolean("biometric_auth", checked)
+ isEnabled = true
}
else -> {
// If any error occurs, revert back to the previous state. This
// catch-all clause includes the cancellation case.
editor.putBoolean("biometric_auth", !checked)
isChecked = !checked
+ isEnabled = true
}
}
}.authenticate()
@@ -541,7 +548,7 @@ class UserPreference : AppCompatActivity() {
// TODO: This is fragile. Workaround until PasswordItem is backed by DocumentFile
val docId = DocumentsContract.getTreeDocumentId(uri)
val split = docId.split(":".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
- val path = if (split.size > 0) split[1] else split[0]
+ val path = if (split.isNotEmpty()) split[1] else split[0]
val repoPath = "${Environment.getExternalStorageDirectory()}/$path"
Timber.tag(TAG).d("Selected repository path is $repoPath")
@@ -689,7 +696,7 @@ class UserPreference : AppCompatActivity() {
@JvmStatic
private fun setCustomDictSummary(customDictPref: Preference?, uri: Uri) {
val fileName = uri.path?.substring(uri.path?.lastIndexOf(":")!! + 1)
- customDictPref?.summary = "Selected dictionary: " + fileName
+ customDictPref?.summary = "Selected dictionary: $fileName"
}
}
}
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 3ac92731..c23ff0e0 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -80,7 +80,7 @@
<string name="pref_crypto_title">التشفير</string>
<string name="pref_provider_title">إختيار مزود الأوبن بي جي بي OpenPGP</string>
<string name="pref_general_title">الإعدادات العامة</string>
- <string name="pref_password_title">مدة الإبقاء على كلمة السر ظاهرة</string>
+ <string name="pref_show_time_title">مدة الإبقاء على كلمة السر ظاهرة</string>
<string name="pref_copy_title">نسخ كلمة السر تلقائيًا</string>
<string name="ssh_key_success_dialog_title">تم استيراد مفتاح الـ SSH</string>
<string name="ssh_key_error_dialog_title">حدث هناك خطأ أثناء عملية إسترجاع مفتاح الـ SSH</string>
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 40b9e316..c1830df5 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -79,8 +79,7 @@
<string name="pref_provider_title">Vybrat poskytovatele OpenPGP</string>
<string name="pref_key_title">Vybrat ID OpenPGP klíče</string>
<string name="pref_general_title">Všeobecné</string>
- <string name="pref_password_title">Čas zobrazení hesla</string>
- <string name="pref_password_dialog_title">Nastavení času po který bude heslo uloženo ve schránce</string>
+ <string name="pref_show_time_title">Čas zobrazení hesla</string>
<string name="pref_copy_title">Automaticky kopírovat heslo</string>
<string name="pref_copy_dialog_title">Automatické kopírování hesla do schránky po úspěšném dešifrování.</string>
<string name="ssh_key_success_dialog_title">SSH-key importován</string>
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 99358f5a..1c4b3cde 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -96,8 +96,7 @@
<string name="pref_provider_title">Wähle OpenPGP-Provider</string>
<string name="pref_key_title">Wähle OpenPGP-Key ID</string>
<string name="pref_general_title">Allgemein</string>
- <string name="pref_password_title">Ablaufzeit des Passworts</string>
- <string name="pref_password_dialog_title">Nach dieser Anzahl der Sekunden wird das Passwort aus der Zwischenablage gelöscht.</string>
+ <string name="pref_show_time_title">Ablaufzeit des Passworts</string>
<string name="pref_copy_title">Kopiere Passwort automatisch</string>
<string name="pref_copy_dialog_title">Kopiert das Passwort in die Zwischenablage, wenn der Eintrag entschlüsselt wurde.</string>
<string name="ssh_key_success_dialog_title">SSH-Key importiert</string>
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 84d1f7b9..faaf046e 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -122,8 +122,7 @@
<string name="pref_key_title">Selecciona la llave OpenPGP</string>
<string name="pref_no_key_selected">Ninguna llave seleccionada</string>
<string name="pref_general_title">General</string>
- <string name="pref_password_title">Tiempo para mostrar contraseña</string>
- <string name="pref_password_dialog_title">Establece el tiempo antes de limpiar la contraseña del portapapeles. Un valor de cero deshabilita el limpiado.</string>
+ <string name="pref_show_time_title">Tiempo para mostrar contraseña</string>
<string name="pref_copy_title">Copiar contraseña automáticamente</string>
<string name="pref_copy_dialog_title">Automáticamente copia la contraseña al portapapeles si el descifrado fue exitoso.</string>
<string name="ssh_key_success_dialog_title">Llave SSH importada</string>
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index a45a90a8..93f21000 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -81,8 +81,7 @@
<string name="pref_provider_title">Sélection du prestataire OpenPGP</string>
<string name="pref_key_title">Sélection de votre identifiant OpenPGP</string>
<string name="pref_general_title">Général</string>
- <string name="pref_password_title">Durée de disponibilité du mot de passe</string>
- <string name="pref_password_dialog_title">Choisissez la durée pendant laquelle le mot de passe sera disponnible dans le presse-papier</string>
+ <string name="pref_show_time_title">Durée de disponibilité du mot de passe</string>
<string name="pref_copy_title">Copie automatique du mot de passe</string>
<string name="pref_copy_dialog_title">Copie automatiquement le mot de passe vers le presse-papier si le déchiffrement a réussi.</string>
<string name="ssh_key_success_dialog_title">Clef SSH importée</string>
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 43db9352..ae7ea9ab 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -82,8 +82,7 @@
<string name="pref_provider_title">OpenPGP プロバイダーを選択</string>
<string name="pref_key_title">OpenPGP 鍵 ID を選択</string>
<string name="pref_general_title">全般</string>
- <string name="pref_password_title">パスワード表示時間</string>
- <string name="pref_password_dialog_title">パスワードをクリップボードに入れておく時間を設定</string>
+ <string name="pref_show_time_title">パスワード表示時間</string>
<string name="pref_copy_title">自動的にパスワードをコピー</string>
<string name="pref_copy_dialog_title">復号化が成功した後、自動的にパスワードをクリップボードにコピーします。</string>
<string name="ssh_key_success_dialog_title">SSH 鍵をインポートしました</string>
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index b21824a6..e34cb292 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -100,8 +100,7 @@
<string name="pref_provider_title">Выберите провайдера OpenPGP</string>
<string name="pref_key_title">Выберите ключ OpenPGP</string>
<string name="pref_general_title">Общие</string>
- <string name="pref_password_title">Время в буфере</string>
- <string name="pref_password_dialog_title">Время нахождения пароля в буфере обмена</string>
+ <string name="pref_show_time_title">Время в буфере</string>
<string name="pref_copy_title">Автоматически копировать пароль</string>
<string name="pref_copy_dialog_title">Автоматически копировать пароль в буфер обмена после успешного расшифрования</string>
<string name="ssh_key_success_dialog_title">SSH ключ импортирован</string>
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 1201fd31..61deada0 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -65,8 +65,7 @@
<string name="pref_git_delete_repo_summary">删除本地的 (隐藏) Repo</string>
<string name="pref_git_title">Git</string>
<string name="pref_key_title">选择 OpenPGP Key Id</string>
- <string name="pref_password_dialog_title">选择密码在剪贴板中保存的时间限制</string>
- <string name="pref_password_title">密码保存时限</string>
+ <string name="pref_show_time_title">密码保存时限</string>
<string name="pref_provider_title">选择 OpenPGP 应用</string>
<string name="pref_recursive_filter">搜索子文件夹</string>
<string name="pref_recursive_filter_hint">在当前目录的子目录中查找密码</string>
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index f8c01e48..22da24d2 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -63,8 +63,7 @@
<string name="pref_git_delete_repo_summary">刪除本機的 (隱藏) Repo</string>
<string name="pref_git_title">Git</string>
<string name="pref_key_title">選擇 OpenPGP Key Id</string>
- <string name="pref_password_dialog_title">選擇密碼在剪貼簿中保存的時間限制</string>
- <string name="pref_password_title">密碼保存時限</string>
+ <string name="pref_show_time_title">密碼保存時限</string>
<string name="pref_provider_title">選擇 OpenPGP app</string>
<string name="pref_recursive_filter">搜尋子資料夾</string>
<string name="pref_recursive_filter_hint">在目前目錄的子目錄中查詢密碼</string>
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 6b757fd6..522fe6cc 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -43,7 +43,11 @@
<item>9</item>
<item>10</item>
</string-array>
- <string-array name="pwgen_provider">
+ <string-array name="pwgen_provider_labels">
+ <item>Classic</item>
+ <item>XKPasswd</item>
+ </string-array>
+ <string-array name="pwgen_provider_values">
<item>classic</item>
<item>xkpasswd</item>
</string-array>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index cbc88eaf..288b93f2 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -10,11 +10,11 @@
<string name="dialog_delete">Delete directory</string>
<string name="dialog_do_not_delete">Cancel</string>
<string name="title_activity_git_clone">Repository information</string>
- <string name="title_activity_git_config" translatable="false">Git Configurations</string>
+ <string name="title_activity_git_config" translatable="false">Git configuration</string>
<!-- Password Store -->
- <string name="creation_dialog_text">Please clone or create a new repository below before trying to add a password or any synchronization operation.</string>
- <string name="key_dialog_text">You have to select your "PGP-Key ID" before initializing the repository</string>
+ <string name="creation_dialog_text">Please clone or create a new repository below before trying to add a password or running any synchronization operation.</string>
+ <string name="key_dialog_text">You have to select your PGP key ID before initializing the repository</string>
<string name="delete_dialog_text">Are you sure you want to delete the password %1$s?</string>
<string name="move">Move</string>
<string name="edit">Edit</string>
@@ -29,15 +29,14 @@
<string name="password_exists_message">This will overwrite %1$s with %2$s.</string>
<!-- git commits -->
- <string name="git_commit_add_text">Add password for %1$s using android password store.</string>
- <string name="git_commit_edit_text">"Edit %1$s using android password store."</string>
- <string name="git_commit_folder_text">"Folder %1$s created using android password store."</string>
- <string name="git_commit_remove_text">"Remove %1$s from store."</string>
- <string name="git_commit_move_text">"Rename %1$s to %2$s."</string>
- <string name="git_commit_increment_text">"Increment HOTP counter for %1$s."</string>
+ <string name="git_commit_add_text">Add generated password for %1$s using android password store.</string>
+ <string name="git_commit_edit_text">Edit password for %1$s using android password store.</string>
+ <string name="git_commit_remove_text">Remove %1$s from store.</string>
+ <string name="git_commit_move_text">Rename %1$s to %2$s.</string>
+ <string name="git_commit_increment_text">Increment HOTP counter for %1$s.</string>
<!-- PGPHandler -->
- <string name="provider_toast_text">No OpenPGP Provider selected!</string>
+ <string name="provider_toast_text">No OpenPGP provider selected!</string>
<string name="clipboard_password_toast_text">Password copied to clipboard, you have %d seconds to paste it somewhere.</string>
<string name="clipboard_password_no_clear_toast_text">Password copied to clipboard</string>
<string name="clipboard_username_toast_text">Username copied to clipboard</string>
@@ -134,13 +133,13 @@
<string name="pref_git_delete_repo">Delete repository</string>
<string name="pref_dialog_delete_title">Clear repository</string>
<string name="pref_crypto_title">Crypto</string>
- <string name="pref_provider_title">Select OpenPGP Provider</string>
- <string name="pref_key_title">Select OpenPGP Key id</string>
+ <string name="pref_provider_title">Select OpenPGP provider</string>
+ <string name="pref_key_title">Select OpenPGP key ID</string>
<string name="pref_no_key_selected">No key selected</string>
<string name="pref_general_title">General</string>
- <string name="pref_password_title">Password Show Time</string>
- <string name="pref_password_dialog_title">Set the time (in seconds) you want the password to be in clipboard. 0 means forever.</string>
- <string name="pref_copy_title">Automatically copy Password</string>
+ <string name="pref_show_time_title">Password show time</string>
+ <string name="pref_show_time_summary">Set the time (in seconds) you want the password to be in clipboard. 0 means forever. Current value: %1$s</string>
+ <string name="pref_copy_title">Automatically copy password</string>
<string name="pref_copy_dialog_title">Automatically copy the password to the clipboard after decryption was successful.</string>
<string name="ssh_key_success_dialog_title">SSH-key imported</string>
<string name="ssh_key_error_dialog_title">Error while trying to import the ssh-key</string>
@@ -148,9 +147,9 @@
<string name="pref_recursive_filter">Recursive filtering</string>
<string name="pref_recursive_filter_hint">Recursively find passwords of the current directory.</string>
<string name="pref_sort_order_title">Password sort order</string>
- <string name="pref_folder_first_sort_order">Folders First</string>
- <string name="pref_file_first_sort_order">Files First</string>
- <string name="pref_type_independent_sort_order">Type Independent</string>
+ <string name="pref_folder_first_sort_order">Folders first</string>
+ <string name="pref_file_first_sort_order">Files first</string>
+ <string name="pref_type_independent_sort_order">Type independent</string>
<string name="pref_autofill_title">Autofill</string>
<string name="pref_autofill_enable_title">Enable autofill</string>
<string name="pref_autofill_enable_msg">Tap OK to go to Accessibility settings. There, tap Password Store under Services then tap the switch in the top right to turn it on or off.</string>
@@ -160,7 +159,7 @@
<string name="pref_autofill_default_title">Automatically match by default</string>
<string name="pref_autofill_default_hint">Default to \'Automatically match\' for apps without custom settings. Otherwise, \'Never match.\'</string>
<string name="pref_autofill_always_title">Always show dialog</string>
- <string name="pref_autofill_full_path_title">Show Full Path</string>
+ <string name="pref_autofill_full_path_title">Show full path</string>
<string name="pref_autofill_full_path_hint">Show full path of matching password files</string>
<string name="pref_misc_title">Misc</string>
<string name="pref_clear_clipboard_title">Clear clipboard 20 times</string>
@@ -172,7 +171,7 @@
<string name="prefs_use_default_file_picker">Use default file picker</string>
<string name="prefs_clear_after_copy_title">Automatically clear the clipboard after copy</string>
<string name="prefs_clear_after_copy_summary">After an automatic copy or a manual copy of the password, the clipboard will be automatically cleared.</string>
- <string name="prefs_export_passwords_title">Export Passwords</string>
+ <string name="prefs_export_passwords_title">Export passwords</string>
<string name="prefs_export_passwords_summary">Exports the encrypted passwords to an external directory</string>
<string name="prefs_version">Version</string>
@@ -208,7 +207,6 @@
<string name="xkpwgen_pref_custom_dict_picker_title">Custom worldlist file</string>
<string name="xkpwgen_pref_custom_dict_picker_summary">Tap to pick a custom wordlist file containing one word per line</string>
-
<!-- ssh keygen fragment -->
<string name="ssh_keygen_length">Length</string>
<string name="ssh_keygen_passphrase">Passphrase</string>
diff --git a/app/src/main/res/xml/preference.xml b/app/src/main/res/xml/preference.xml
index 3d91cbfa..1fb8d325 100644
--- a/app/src/main/res/xml/preference.xml
+++ b/app/src/main/res/xml/preference.xml
@@ -1,179 +1,180 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
- <androidx.preference.PreferenceCategory android:title="@string/pref_git_title">
+ <androidx.preference.PreferenceCategory app:title="@string/pref_git_title">
<androidx.preference.Preference
- android:key="git_server_info"
- android:title="@string/pref_edit_server_info" />
+ app:key="git_server_info"
+ app:title="@string/pref_edit_server_info" />
<androidx.preference.Preference
- android:key="git_config"
- android:title="@string/pref_edit_git_config" />
+ app:key="git_config"
+ app:title="@string/pref_edit_git_config" />
<androidx.preference.Preference
- android:key="ssh_key"
- android:title="@string/pref_ssh_title" />
+ app:key="ssh_key"
+ app:title="@string/pref_ssh_title" />
<androidx.preference.Preference
- android:key="ssh_keygen"
- android:title="@string/pref_ssh_keygen_title" />
+ app:key="ssh_keygen"
+ app:title="@string/pref_ssh_keygen_title" />
<androidx.preference.Preference
- android:key="ssh_key_clear_passphrase"
- android:title="@string/ssh_key_clear_passphrase" />
+ app:key="ssh_key_clear_passphrase"
+ app:title="@string/ssh_key_clear_passphrase" />
<androidx.preference.Preference
- android:key="hotp_remember_clear_choice"
- android:title="@string/hotp_remember_clear_choice" />
+ app:key="hotp_remember_clear_choice"
+ app:title="@string/hotp_remember_clear_choice" />
<androidx.preference.Preference
- android:key="ssh_openkeystore_clear_keyid"
- android:title="@string/ssh_openkeystore_clear_keyid" />
+ app:key="ssh_openkeystore_clear_keyid"
+ app:title="@string/ssh_openkeystore_clear_keyid" />
<androidx.preference.Preference
- android:key="ssh_see_key"
- android:title="@string/pref_ssh_see_key_title" />
+ app:key="ssh_see_key"
+ app:title="@string/pref_ssh_see_key_title" />
<androidx.preference.Preference
- android:key="git_delete_repo"
- android:summary="@string/pref_git_delete_repo_summary"
- android:title="@string/pref_git_delete_repo" />
+ app:key="git_delete_repo"
+ app:summary="@string/pref_git_delete_repo_summary"
+ app:title="@string/pref_git_delete_repo" />
<CheckBoxPreference
- android:key="git_external"
- android:summary="@string/pref_external_repository_summary"
- android:title="@string/pref_external_repository" />
+ app:key="git_external"
+ app:summary="@string/pref_external_repository_summary"
+ app:title="@string/pref_external_repository" />
<androidx.preference.Preference
- android:dependency="git_external"
- android:key="pref_select_external"
- android:title="@string/pref_select_external_repository" />
+ app:dependency="git_external"
+ app:key="pref_select_external"
+ app:title="@string/pref_select_external_repository" />
</androidx.preference.PreferenceCategory>
- <androidx.preference.PreferenceCategory android:title="@string/pref_crypto_title">
+ <androidx.preference.PreferenceCategory app:title="@string/pref_crypto_title">
<me.msfjarvis.openpgpktx.preference.OpenPgpAppPreference
- android:key="openpgp_provider_list"
- android:title="@string/pref_provider_title" />
+ app:key="openpgp_provider_list"
+ app:title="@string/pref_provider_title" />
<androidx.preference.Preference
- android:key="openpgp_key_id_pref"
- android:title="@string/pref_key_title" />
+ app:key="openpgp_key_id_pref"
+ app:title="@string/pref_key_title" />
</androidx.preference.PreferenceCategory>
- <androidx.preference.PreferenceCategory android:title="@string/password_generator_category_title">
+ <androidx.preference.PreferenceCategory app:title="@string/password_generator_category_title">
<androidx.preference.ListPreference
- android:key="pref_key_pwgen_type"
- android:title="@string/xkpwgen_pref_gentype_title"
- android:defaultValue="classic"
- android:entries="@array/pwgen_provider"
- android:entryValues="@array/pwgen_provider"
+ app:key="pref_key_pwgen_type"
+ app:title="@string/xkpwgen_pref_gentype_title"
+ app:defaultValue="classic"
+ app:entries="@array/pwgen_provider_labels"
+ app:entryValues="@array/pwgen_provider_values"
app:useSimpleSummaryProvider="true"
- android:persistent="true" />
+ app:persistent="true" />
<androidx.preference.CheckBoxPreference
- android:key="pref_key_is_custom_dict"
- android:title="@string/xkpwgen_pref_custom_dict_title"
- android:summaryOn="@string/xkpwgen_pref_custom_dict_summary_on"
- android:summaryOff="@string/xkpwgen_pref_custom_dict_summary_off"/>
+ app:key="pref_key_is_custom_dict"
+ app:title="@string/xkpwgen_pref_custom_dict_title"
+ app:summaryOn="@string/xkpwgen_pref_custom_dict_summary_on"
+ app:summaryOff="@string/xkpwgen_pref_custom_dict_summary_off"/>
<androidx.preference.Preference
- android:key="pref_key_custom_dict"
- android:title="@string/xkpwgen_pref_custom_dict_picker_title"
- android:summary="@string/xkpwgen_pref_custom_dict_picker_summary"
- android:dependency="pref_key_is_custom_dict"/>
+ app:key="pref_key_custom_dict"
+ app:title="@string/xkpwgen_pref_custom_dict_picker_title"
+ app:summary="@string/xkpwgen_pref_custom_dict_picker_summary"
+ app:dependency="pref_key_is_custom_dict"/>
</androidx.preference.PreferenceCategory>
- <androidx.preference.PreferenceCategory android:title="@string/pref_general_title">
+ <androidx.preference.PreferenceCategory app:title="@string/pref_general_title">
<androidx.preference.EditTextPreference
- android:defaultValue="45"
- android:dialogTitle="@string/pref_password_dialog_title"
+ app:defaultValue="45"
+ app:dialogTitle="@string/pref_show_time_summary"
android:inputType="number"
- android:key="general_show_time"
- android:summary="@string/pref_password_dialog_title"
- android:title="@string/pref_password_title" />
+ app:key="general_show_time"
+ app:summary="@string/pref_show_time_summary"
+ app:title="@string/pref_show_time_title" />
<androidx.preference.CheckBoxPreference
- android:defaultValue="true"
- android:title="@string/show_password_pref_title"
- android:summary="@string/show_password_pref_summary"
- android:key="show_password" />
+ app:defaultValue="true"
+ app:title="@string/show_password_pref_title"
+ app:summary="@string/show_password_pref_summary"
+ app:key="show_password" />
<androidx.preference.CheckBoxPreference
- android:defaultValue="true"
- android:title="@string/show_extra_content_pref_title"
- android:summary="@string/show_extra_content_pref_summary"
- android:key="show_extra_content" />
+ app:defaultValue="true"
+ app:title="@string/show_extra_content_pref_title"
+ app:summary="@string/show_extra_content_pref_summary"
+ app:key="show_extra_content" />
<androidx.preference.CheckBoxPreference
- android:defaultValue="true"
- android:dialogTitle="@string/pref_copy_dialog_title"
- android:key="copy_on_decrypt"
- android:summary="@string/pref_copy_dialog_title"
- android:title="@string/pref_copy_title" />
+ app:defaultValue="true"
+ app:dialogTitle="@string/pref_copy_dialog_title"
+ app:key="copy_on_decrypt"
+ app:summary="@string/pref_copy_dialog_title"
+ app:title="@string/pref_copy_title" />
<androidx.preference.CheckBoxPreference
- android:defaultValue="true"
- android:key="clear_after_copy"
- android:summary="@string/prefs_clear_after_copy_summary"
- android:title="@string/prefs_clear_after_copy_title" />
+ app:defaultValue="true"
+ app:key="clear_after_copy"
+ app:summary="@string/prefs_clear_after_copy_summary"
+ app:title="@string/prefs_clear_after_copy_title" />
<androidx.preference.CheckBoxPreference
- android:defaultValue="true"
- android:key="filter_recursively"
- android:summary="@string/pref_recursive_filter_hint"
- android:title="@string/pref_recursive_filter" />
+ app:defaultValue="true"
+ app:key="filter_recursively"
+ app:summary="@string/pref_recursive_filter_hint"
+ app:title="@string/pref_recursive_filter" />
<androidx.preference.CheckBoxPreference
- android:defaultValue="false"
- android:key="search_on_start"
- android:summary="@string/pref_search_on_start_hint"
- android:title="@string/pref_search_on_start" />
+ app:defaultValue="false"
+ app:key="search_on_start"
+ app:summary="@string/pref_search_on_start_hint"
+ app:title="@string/pref_search_on_start" />
<androidx.preference.CheckBoxPreference
- android:defaultValue="false"
- android:key="search_from_root"
- android:summary="@string/pref_search_from_root_hint"
- android:title="@string/pref_search_from_root" />
+ app:defaultValue="false"
+ app:key="search_from_root"
+ app:summary="@string/pref_search_from_root_hint"
+ app:title="@string/pref_search_from_root" />
<androidx.preference.ListPreference
- android:title="@string/pref_sort_order_title"
- android:defaultValue="FOLDER_FIRST"
- android:key="sort_order"
- android:entries="@array/sort_order_entries"
- android:entryValues="@array/sort_order_values"
- android:persistent="true" />
- <androidx.preference.SwitchPreferenceCompat
- android:title="@string/pref_show_hidden_title"
- android:summary="@string/pref_show_hidden_summary"
- android:key="show_hidden_folders"
- android:defaultValue="false"
- android:persistent="true" />
+ app:title="@string/pref_sort_order_title"
+ app:defaultValue="FOLDER_FIRST"
+ app:key="sort_order"
+ app:entries="@array/sort_order_entries"
+ app:entryValues="@array/sort_order_values"
+ app:persistent="true"
+ app:summary="%s" />
+ <androidx.preference.CheckBoxPreference
+ app:title="@string/pref_show_hidden_title"
+ app:summary="@string/pref_show_hidden_summary"
+ app:key="show_hidden_folders"
+ app:defaultValue="false"
+ app:persistent="true" />
<androidx.preference.SwitchPreferenceCompat
- android:key="biometric_auth"
- android:title="@string/biometric_auth_title"
- android:summary="@string/biometric_auth_summary" />
+ app:key="biometric_auth"
+ app:title="@string/biometric_auth_title"
+ app:summary="@string/biometric_auth_summary" />
</androidx.preference.PreferenceCategory>
- <androidx.preference.PreferenceCategory android:title="@string/pref_autofill_title">
- <androidx.preference.CheckBoxPreference
- android:defaultValue="true"
- android:key="autofill_enable"
- android:title="@string/pref_autofill_enable_title"/>
+ <androidx.preference.PreferenceCategory app:title="@string/pref_autofill_title">
+ <androidx.preference.SwitchPreferenceCompat
+ app:defaultValue="true"
+ app:key="autofill_enable"
+ app:title="@string/pref_autofill_enable_title"/>
<androidx.preference.Preference
- android:key="autofill_apps"
- android:title="@string/pref_autofill_apps_title"/>
+ app:key="autofill_apps"
+ app:title="@string/pref_autofill_apps_title"/>
<androidx.preference.CheckBoxPreference
- android:defaultValue="true"
- android:key="autofill_default"
- android:summary="@string/pref_autofill_default_hint"
- android:title="@string/pref_autofill_default_title"/>
+ app:defaultValue="true"
+ app:key="autofill_default"
+ app:summary="@string/pref_autofill_default_hint"
+ app:title="@string/pref_autofill_default_title"/>
<androidx.preference.CheckBoxPreference
- android:defaultValue="false"
- android:key="autofill_always"
- android:title="@string/pref_autofill_always_title"/>
+ app:defaultValue="false"
+ app:key="autofill_always"
+ app:title="@string/pref_autofill_always_title"/>
<androidx.preference.CheckBoxPreference
- android:defaultValue="false"
- android:key="autofill_full_path"
- android:summary="@string/pref_autofill_full_path_hint"
- android:title="@string/pref_autofill_full_path_title"/>
+ app:defaultValue="false"
+ app:key="autofill_full_path"
+ app:summary="@string/pref_autofill_full_path_hint"
+ app:title="@string/pref_autofill_full_path_title"/>
</androidx.preference.PreferenceCategory>
- <androidx.preference.PreferenceCategory android:title="@string/pref_misc_title">
+ <androidx.preference.PreferenceCategory app:title="@string/pref_misc_title">
<androidx.preference.Preference
- android:key="export_passwords"
- android:title="@string/prefs_export_passwords_title"
- android:summary="@string/prefs_export_passwords_summary"/>
+ app:key="export_passwords"
+ app:title="@string/prefs_export_passwords_title"
+ app:summary="@string/prefs_export_passwords_summary"/>
<androidx.preference.CheckBoxPreference
- android:defaultValue="false"
- android:key="clear_clipboard_20x"
- android:summary="@string/pref_clear_clipboard_hint"
- android:title="@string/pref_clear_clipboard_title" />
+ app:defaultValue="false"
+ app:key="clear_clipboard_20x"
+ app:summary="@string/pref_clear_clipboard_hint"
+ app:title="@string/pref_clear_clipboard_title" />
</androidx.preference.PreferenceCategory>
<androidx.preference.PreferenceCategory>
<androidx.preference.Preference
- android:icon="@mipmap/ic_launcher_round"
- android:key="app_version"
- android:title="@string/prefs_version" />
+ app:icon="@mipmap/ic_launcher_round"
+ app:key="app_version"
+ app:title="@string/prefs_version" />
</androidx.preference.PreferenceCategory>
</androidx.preference.PreferenceScreen>