parent
de489b0041
commit
98e9f6734a
14 changed files with 183 additions and 180 deletions
|
@ -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">
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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" />
|
||||
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:title="@string/pref_show_hidden_title"
|
||||
android:summary="@string/pref_show_hidden_summary"
|
||||
android:key="show_hidden_folders"
|
||||
android:defaultValue="false"
|
||||
android: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>
|
||||
|
|
Loading…
Reference in a new issue