aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/dev/msfjarvis/aps/util
diff options
context:
space:
mode:
authorYash Garg <ben10.yashgarg@gmail.com>2021-08-28 01:42:29 +0530
committerGitHub <noreply@github.com>2021-08-27 20:12:29 +0000
commit3c8b700f7e47bab12bdb4de6b09c03f8a4089b93 (patch)
treefa842e3afec187638b95c9e1eeb652de648e24e8 /app/src/main/java/dev/msfjarvis/aps/util
parent8c56a1d7b84d898714d7ca7d167bd60df033ab57 (diff)
downloadHardenedPass-3c8b700f7e47bab12bdb4de6b09c03f8a4089b93.tar.gz
HardenedPass-3c8b700f7e47bab12bdb4de6b09c03f8a4089b93.zip
Fix auto-focus issue on Dialogs with TextInputFields (#1492)
Diffstat (limited to 'app/src/main/java/dev/msfjarvis/aps/util')
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/util/extensions/AndroidExtensions.kt22
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/util/git/operation/CredentialFinder.kt4
2 files changed, 2 insertions, 24 deletions
diff --git a/app/src/main/java/dev/msfjarvis/aps/util/extensions/AndroidExtensions.kt b/app/src/main/java/dev/msfjarvis/aps/util/extensions/AndroidExtensions.kt
index ae175433..0ad122e6 100644
--- a/app/src/main/java/dev/msfjarvis/aps/util/extensions/AndroidExtensions.kt
+++ b/app/src/main/java/dev/msfjarvis/aps/util/extensions/AndroidExtensions.kt
@@ -15,10 +15,7 @@ import android.util.Base64
import android.util.TypedValue
import android.view.View
import android.view.autofill.AutofillManager
-import android.view.inputmethod.InputMethodManager
-import androidx.annotation.IdRes
import androidx.annotation.RequiresApi
-import androidx.appcompat.app.AlertDialog
import androidx.core.content.ContextCompat
import androidx.core.content.getSystemService
import androidx.fragment.app.FragmentActivity
@@ -33,25 +30,6 @@ import dev.msfjarvis.aps.R
import dev.msfjarvis.aps.data.repo.PasswordRepository
import dev.msfjarvis.aps.util.git.operation.GitOperation
-/**
- * Extension function for [AlertDialog] that requests focus for the view whose id is [id]. Solution
- * based on a StackOverflow answer: https://stackoverflow.com/a/13056259/297261
- */
-fun <T : View> AlertDialog.requestInputFocusOnView(@IdRes id: Int) {
- setOnShowListener {
- findViewById<T>(id)?.apply {
- setOnFocusChangeListener { v, _ ->
- v.post {
- context
- .getSystemService<InputMethodManager>()
- ?.showSoftInput(v, InputMethodManager.SHOW_IMPLICIT)
- }
- }
- requestFocus()
- }
- }
-}
-
/** Get an instance of [AutofillManager]. Only available on Android Oreo and above */
val Context.autofillManager: AutofillManager?
@RequiresApi(Build.VERSION_CODES.O) get() = getSystemService()
diff --git a/app/src/main/java/dev/msfjarvis/aps/util/git/operation/CredentialFinder.kt b/app/src/main/java/dev/msfjarvis/aps/util/git/operation/CredentialFinder.kt
index 8f9b5efc..623d69ea 100644
--- a/app/src/main/java/dev/msfjarvis/aps/util/git/operation/CredentialFinder.kt
+++ b/app/src/main/java/dev/msfjarvis/aps/util/git/operation/CredentialFinder.kt
@@ -8,6 +8,7 @@ package dev.msfjarvis.aps.util.git.operation
import android.annotation.SuppressLint
import android.content.SharedPreferences
import android.view.LayoutInflater
+import android.view.WindowManager
import androidx.annotation.StringRes
import androidx.core.content.edit
import androidx.core.widget.doOnTextChanged
@@ -22,7 +23,6 @@ import dagger.hilt.android.EntryPointAccessors
import dagger.hilt.components.SingletonComponent
import dev.msfjarvis.aps.R
import dev.msfjarvis.aps.injection.prefs.GitPreferences
-import dev.msfjarvis.aps.util.extensions.requestInputFocusOnView
import dev.msfjarvis.aps.util.git.sshj.InteractivePasswordFinder
import dev.msfjarvis.aps.util.settings.AuthMode
import dev.msfjarvis.aps.util.settings.PreferenceKeys
@@ -100,7 +100,7 @@ class CredentialFinder(val callingActivity: FragmentActivity, val authMode: Auth
create()
}
.run {
- requestInputFocusOnView<TextInputEditText>(R.id.git_auth_credential)
+ window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
show()
}
} else {