From 461537aa9c92516903779c086eac5eb2a8f3dcc8 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 4 Jul 2025 10:15:50 +0200 Subject: [PATCH] Prevent auth dialog when failed to login in assistant and then successfully login another account --- app/src/main/java/org/linphone/core/CoreContext.kt | 3 ++- app/src/main/java/org/linphone/ui/main/MainActivity.kt | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/linphone/core/CoreContext.kt b/app/src/main/java/org/linphone/core/CoreContext.kt index e9e33cf01..80486fc6b 100644 --- a/app/src/main/java/org/linphone/core/CoreContext.kt +++ b/app/src/main/java/org/linphone/core/CoreContext.kt @@ -499,12 +499,13 @@ class CoreContext if (account.findAuthInfo() == digestAuthInfoPendingPasswordUpdate) { Log.i("$TAG Removed account matches auth info pending password update, removing dialog") clearAuthenticationRequestDialogEvent.postValue(Event(true)) + digestAuthInfoPendingPasswordUpdate = null } if (core.defaultAccount == null || core.defaultAccount == account) { Log.w("$TAG Removed account was the default one, choosing another as default if possible") val newDefaultAccount = core.accountList.find { - it.params.isRegisterEnabled == true + it.params.isRegisterEnabled } ?: core.accountList.firstOrNull() if (newDefaultAccount == null) { Log.e("$TAG Failed to find a new default account!") diff --git a/app/src/main/java/org/linphone/ui/main/MainActivity.kt b/app/src/main/java/org/linphone/ui/main/MainActivity.kt index 9a2a6acaf..75f681cb5 100644 --- a/app/src/main/java/org/linphone/ui/main/MainActivity.kt +++ b/app/src/main/java/org/linphone/ui/main/MainActivity.kt @@ -310,7 +310,9 @@ class MainActivity : GenericActivity() { coreContext.digestAuthenticationRequestedEvent.observe(this) { it.consume { identity -> try { - showAuthenticationRequestedDialog(identity) + if (coreContext.digestAuthInfoPendingPasswordUpdate != null) { + showAuthenticationRequestedDialog(identity) + } } catch (e: WindowManager.BadTokenException) { Log.e("$TAG Failed to show authentication dialog: $e") }