From 6f3e065ad171f30670303a17c04d46dc06255d72 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sun, 28 Sep 2025 23:49:08 +0200 Subject: [PATCH] fix: Back UI --- .../activity/AutofillLauncherActivity.kt | 11 ---------- .../viewmodel/AutofillLauncherViewModel.kt | 20 ++++++++++++------- .../viewmodel/CredentialLauncherViewModel.kt | 5 +++++ .../viewmodel/PasskeyLauncherViewModel.kt | 6 ++---- 4 files changed, 20 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/kunzisoft/keepass/credentialprovider/activity/AutofillLauncherActivity.kt b/app/src/main/java/com/kunzisoft/keepass/credentialprovider/activity/AutofillLauncherActivity.kt index 9c86b1bac..85849b53c 100644 --- a/app/src/main/java/com/kunzisoft/keepass/credentialprovider/activity/AutofillLauncherActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/credentialprovider/activity/AutofillLauncherActivity.kt @@ -234,16 +234,5 @@ class AutofillLauncherActivity : DatabaseModeActivity() { return null } } - - fun launchForRegistration( - context: Context, - registerInfo: RegisterInfo - ) { - val intent = Intent(context, AutofillLauncherActivity::class.java) - intent.addSpecialMode(SpecialMode.REGISTRATION) - intent.addRegisterInfo(registerInfo) - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) - context.startActivity(intent) - } } } diff --git a/app/src/main/java/com/kunzisoft/keepass/credentialprovider/viewmodel/AutofillLauncherViewModel.kt b/app/src/main/java/com/kunzisoft/keepass/credentialprovider/viewmodel/AutofillLauncherViewModel.kt index 6771b1d46..1e43514e5 100644 --- a/app/src/main/java/com/kunzisoft/keepass/credentialprovider/viewmodel/AutofillLauncherViewModel.kt +++ b/app/src/main/java/com/kunzisoft/keepass/credentialprovider/viewmodel/AutofillLauncherViewModel.kt @@ -144,11 +144,18 @@ class AutofillLauncherViewModel(application: Application): CredentialLauncherVie } } - fun manageSelectionResult(activityResult: ActivityResult) { - mSelectionResult = activityResult + override fun manageSelectionResult(activityResult: ActivityResult) { // Waiting for the database if needed - mDatabase?.let { database -> - manageSelectionResult(database, activityResult) + when (activityResult.resultCode) { + RESULT_OK -> { + mSelectionResult = activityResult + mDatabase?.let { database -> + manageSelectionResult(database, activityResult) + } + } + RESULT_CANCELED -> { + cancelResult() + } } } @@ -259,9 +266,8 @@ class AutofillLauncherViewModel(application: Application): CredentialLauncherVie } } - fun manageRegistrationResult( - activityResult: ActivityResult - ) { + override fun manageRegistrationResult(activityResult: ActivityResult) { + isResultLauncherRegistered = false viewModelScope.launch(CoroutineExceptionHandler { _, e -> Log.e(TAG, "Unable to create registration response for autofill", e) showError(e) diff --git a/app/src/main/java/com/kunzisoft/keepass/credentialprovider/viewmodel/CredentialLauncherViewModel.kt b/app/src/main/java/com/kunzisoft/keepass/credentialprovider/viewmodel/CredentialLauncherViewModel.kt index 678eb1253..31b7b59b4 100644 --- a/app/src/main/java/com/kunzisoft/keepass/credentialprovider/viewmodel/CredentialLauncherViewModel.kt +++ b/app/src/main/java/com/kunzisoft/keepass/credentialprovider/viewmodel/CredentialLauncherViewModel.kt @@ -5,6 +5,7 @@ import android.app.Activity.RESULT_OK import android.app.Application import android.content.Intent import android.util.Log +import androidx.activity.result.ActivityResult import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope import com.kunzisoft.keepass.credentialprovider.SpecialMode @@ -58,6 +59,10 @@ abstract class CredentialLauncherViewModel(application: Application): AndroidVie mDatabase = database } + abstract fun manageSelectionResult(activityResult: ActivityResult) + + abstract fun manageRegistrationResult(activityResult: ActivityResult) + open fun onExceptionOccurred(e: Throwable) { showError(e) } diff --git a/app/src/main/java/com/kunzisoft/keepass/credentialprovider/viewmodel/PasskeyLauncherViewModel.kt b/app/src/main/java/com/kunzisoft/keepass/credentialprovider/viewmodel/PasskeyLauncherViewModel.kt index 67725547e..f1e8b0942 100644 --- a/app/src/main/java/com/kunzisoft/keepass/credentialprovider/viewmodel/PasskeyLauncherViewModel.kt +++ b/app/src/main/java/com/kunzisoft/keepass/credentialprovider/viewmodel/PasskeyLauncherViewModel.kt @@ -303,9 +303,7 @@ class PasskeyLauncherViewModel(application: Application): CredentialLauncherView } } - fun manageSelectionResult( - activityResult: ActivityResult - ) { + override fun manageSelectionResult(activityResult: ActivityResult) { val intent = activityResult.data viewModelScope.launch(CoroutineExceptionHandler { _, e -> Log.e(TAG, "Unable to create selection response for passkey", e) @@ -455,7 +453,7 @@ class PasskeyLauncherViewModel(application: Application): CredentialLauncherView } } - fun manageRegistrationResult(activityResult: ActivityResult) { + override fun manageRegistrationResult(activityResult: ActivityResult) { val intent = activityResult.data viewModelScope.launch(CoroutineExceptionHandler { _, e -> Log.e(TAG, "Unable to create registration response for passkey", e)