Skip to content

Commit

Permalink
Not use dialog dismiss
Browse files Browse the repository at this point in the history
  • Loading branch information
Tougee committed Mar 10, 2023
1 parent 8b078e8 commit 508513d
Showing 1 changed file with 20 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,12 @@ import android.content.DialogInterface
import android.content.res.Configuration
import android.hardware.fingerprint.FingerprintManager
import android.os.Build
import android.os.Bundle
import android.view.ViewGroup
import android.view.WindowManager
import android.widget.RelativeLayout
import androidx.activity.ComponentDialog
import androidx.activity.OnBackPressedCallback
import androidx.biometric.BiometricManager
import androidx.biometric.BiometricPrompt
import androidx.core.hardware.fingerprint.FingerprintManagerCompat
Expand Down Expand Up @@ -49,6 +52,16 @@ class AppAuthDialogFragment : DialogFragment() {

override fun getTheme() = R.style.AppTheme_AppAuthDialog

override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
return super.onCreateDialog(savedInstanceState).also { dialog ->
(dialog as ComponentDialog).onBackPressedDispatcher.addCallback(object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
failureDismiss()
}
})
}
}

@SuppressLint("RestrictedApi")
override fun setupDialog(dialog: Dialog, style: Int) {
super.setupDialog(dialog, style)
Expand Down Expand Up @@ -98,7 +111,7 @@ class AppAuthDialogFragment : DialogFragment() {
super.onDismiss(dialog)
val activity = requireActivity()
if (!success) {
activity.moveTaskToBack(true)
failureDismiss()
} else {
defaultSharedPreferences.putLong(Constants.Account.PREF_APP_ENTER_BACKGROUND, System.currentTimeMillis())
}
Expand Down Expand Up @@ -161,6 +174,10 @@ class AppAuthDialogFragment : DialogFragment() {
dismiss()
}

private fun failureDismiss() {
activity?.moveTaskToBack(true)
}

private fun showVerifyBottomSheet() {
VerifyBottomSheetDialogFragment.newInstance(disableBiometric = true, systemAlertLevel = true)
.setOnPinSuccess {
Expand Down Expand Up @@ -192,7 +209,7 @@ class AppAuthDialogFragment : DialogFragment() {

when (errorCode) {
BiometricPrompt.ERROR_CANCELED, BiometricPrompt.ERROR_USER_CANCELED, BiometricPrompt.ERROR_NEGATIVE_BUTTON -> {
dismiss()
failureDismiss()
}
BiometricPrompt.ERROR_LOCKOUT, BiometricPrompt.ERROR_LOCKOUT_PERMANENT -> {
showError(errString)
Expand Down Expand Up @@ -221,7 +238,7 @@ class AppAuthDialogFragment : DialogFragment() {

when (errorCode) {
FingerprintManager.FINGERPRINT_ERROR_CANCELED, FingerprintManager.FINGERPRINT_ERROR_USER_CANCELED, 1010 -> {
dismiss()
failureDismiss()
}
FingerprintManager.FINGERPRINT_ERROR_LOCKOUT, FingerprintManager.FINGERPRINT_ERROR_LOCKOUT_PERMANENT -> {
showError(errString)
Expand All @@ -247,11 +264,4 @@ class AppAuthDialogFragment : DialogFragment() {
refreshSwirl(helpString.toString(), true)
}
}

override fun dismiss() {
try {
super.dismiss()
} catch (_: IllegalStateException) {
}
}
}

0 comments on commit 508513d

Please sign in to comment.