From baa9b885121f208c277aea9ad07aea44f69984b3 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Mon, 14 Dec 2020 16:56:15 +0100 Subject: [PATCH] Check if current database is the same after activity result --- .../biometric/AdvancedUnlockFragment.kt | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/kunzisoft/keepass/biometric/AdvancedUnlockFragment.kt b/app/src/main/java/com/kunzisoft/keepass/biometric/AdvancedUnlockFragment.kt index 37c1c1a50..d87185424 100644 --- a/app/src/main/java/com/kunzisoft/keepass/biometric/AdvancedUnlockFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/biometric/AdvancedUnlockFragment.kt @@ -151,17 +151,19 @@ class AdvancedUnlockFragment: StylishFragment(), AdvancedUnlockManager.AdvancedU fun loadDatabase(databaseUri: Uri?, autoOpenPrompt: Boolean) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { // To get device credential unlock result, only if same database uri - activityResult?.let { - if (databaseUri != null) { - advancedUnlockManager?.onActivityResult(it.requestCode, it.resultCode) - } - } ?: run { - if (databaseUri != null && mAdvancedUnlockEnabled) { + if (databaseUri != null && mAdvancedUnlockEnabled) { + activityResult?.let { + if (databaseUri == databaseFileUri) { + advancedUnlockManager?.onActivityResult(it.requestCode, it.resultCode) + } else { + disconnect() + } + } ?: run { connect(databaseUri) this.mAutoOpenPrompt = autoOpenPrompt - } else { - disconnect() } + } else { + disconnect() } activityResult = null }