From 88f17d610fae6e843a90a369164576ea167425b0 Mon Sep 17 00:00:00 2001 From: Julian Raufelder Date: Thu, 15 Apr 2021 13:02:07 +0200 Subject: [PATCH] #291 enhance focus flow in dialog's using TAB key in hardware keyboards --- .../presentation/ui/dialog/ChangePasswordDialog.kt | 5 +++++ .../presentation/ui/dialog/CloudNodeRenameDialog.kt | 3 +++ .../presentation/ui/dialog/CreateFolderDialog.kt | 3 +++ .../presentation/ui/dialog/EnterPasswordDialog.kt | 4 +++- .../presentation/ui/dialog/FileNameDialog.kt | 3 +++ .../presentation/ui/dialog/UpdateLicenseDialog.kt | 8 +++++--- .../presentation/ui/dialog/VaultRenameDialog.kt | 3 +++ .../presentation/ui/fragment/LicensesFragment.kt | 12 ------------ 8 files changed, 25 insertions(+), 16 deletions(-) delete mode 100644 presentation/src/main/java/org/cryptomator/presentation/ui/fragment/LicensesFragment.kt diff --git a/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/ChangePasswordDialog.kt b/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/ChangePasswordDialog.kt index 8a7b8614..73a0e90e 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/ChangePasswordDialog.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/ChangePasswordDialog.kt @@ -46,6 +46,11 @@ class ChangePasswordDialog : BaseProgressErrorDialog + et_new_retype_password.nextFocusForwardId = button.id + } } } diff --git a/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/CloudNodeRenameDialog.kt b/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/CloudNodeRenameDialog.kt index 2d340aef..a0780e22 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/CloudNodeRenameDialog.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/CloudNodeRenameDialog.kt @@ -41,6 +41,9 @@ class CloudNodeRenameDialog : BaseProgressErrorDialog + et_rename.nextFocusForwardId = button.id + } } } diff --git a/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/CreateFolderDialog.kt b/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/CreateFolderDialog.kt index 9d3794d2..1a166978 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/CreateFolderDialog.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/CreateFolderDialog.kt @@ -36,6 +36,9 @@ class CreateFolderDialog : BaseProgressErrorDialog( } dialog.setCanceledOnTouchOutside(false) et_folder_name.requestFocus() + createFolderButton?.let { button -> + et_folder_name.nextFocusForwardId = button.id + } } } diff --git a/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/EnterPasswordDialog.kt b/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/EnterPasswordDialog.kt index da3f1846..913871d7 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/EnterPasswordDialog.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/EnterPasswordDialog.kt @@ -41,7 +41,9 @@ class EnterPasswordDialog : BaseProgressErrorDialog + et_password.nextFocusForwardId = button.id + } it.setCanceledOnTouchOutside(false) et_password.requestFocus() } diff --git a/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/FileNameDialog.kt b/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/FileNameDialog.kt index 0bb9d731..b17f1336 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/FileNameDialog.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/FileNameDialog.kt @@ -32,6 +32,9 @@ class FileNameDialog : BaseProgressErrorDialog() { } dialog.setCanceledOnTouchOutside(false) file_name.requestFocus() + createFileButton?.let { button -> + file_name.nextFocusForwardId = button.id + } } } diff --git a/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/UpdateLicenseDialog.kt b/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/UpdateLicenseDialog.kt index 52b5f5d5..6ffe92ee 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/UpdateLicenseDialog.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/UpdateLicenseDialog.kt @@ -23,14 +23,17 @@ class UpdateLicenseDialog : BaseProgressErrorDialog + et_license.nextFocusForwardId = button.id + } } } @@ -39,7 +42,6 @@ class UpdateLicenseDialog : BaseProgressErrorDialog } // .setNegativeButton(getText(R.string.dialog_enter_license_decline_button)) { _: DialogInterface, _: Int -> callback?.onCheckLicenseCanceled() } // - .setCancelable(false) // .create() } diff --git a/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/VaultRenameDialog.kt b/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/VaultRenameDialog.kt index 7e11da2b..b4c47913 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/VaultRenameDialog.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/ui/dialog/VaultRenameDialog.kt @@ -37,6 +37,9 @@ class VaultRenameDialog : BaseProgressErrorDialog() } dialog.setCanceledOnTouchOutside(false) et_rename.requestFocus() + renameConfirmButton?.let { button -> + et_rename.nextFocusForwardId = button.id + } } } diff --git a/presentation/src/main/java/org/cryptomator/presentation/ui/fragment/LicensesFragment.kt b/presentation/src/main/java/org/cryptomator/presentation/ui/fragment/LicensesFragment.kt deleted file mode 100644 index 7df1e1eb..00000000 --- a/presentation/src/main/java/org/cryptomator/presentation/ui/fragment/LicensesFragment.kt +++ /dev/null @@ -1,12 +0,0 @@ -package org.cryptomator.presentation.ui.fragment - -import android.os.Bundle -import androidx.preference.PreferenceFragmentCompat -import org.cryptomator.presentation.R - -class LicensesFragment : PreferenceFragmentCompat() { - - override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { - addPreferencesFromResource(R.xml.licenses) - } -}