diff --git a/app/src/main/java/org/linphone/core/CoreContext.kt b/app/src/main/java/org/linphone/core/CoreContext.kt index f9e84098d..4beabe28b 100644 --- a/app/src/main/java/org/linphone/core/CoreContext.kt +++ b/app/src/main/java/org/linphone/core/CoreContext.kt @@ -498,12 +498,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 bfc169be1..fd6378323 100644 --- a/app/src/main/java/org/linphone/ui/main/MainActivity.kt +++ b/app/src/main/java/org/linphone/ui/main/MainActivity.kt @@ -309,7 +309,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") }