From 55ddf72168d207991a5135de56795b0aed0ad579 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 28 Feb 2025 09:58:49 +0100 Subject: [PATCH] Ignore server errors (network error, etc.) when login out the user after 3 incorrect PIN entered. --- .../src/main/java/im/vector/app/features/MainActivity.kt | 4 +++- .../main/java/im/vector/app/features/pin/PinFragment.kt | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/MainActivity.kt b/vector/src/main/java/im/vector/app/features/MainActivity.kt index fcedb7c21a..6b16c2deb8 100644 --- a/vector/src/main/java/im/vector/app/features/MainActivity.kt +++ b/vector/src/main/java/im/vector/app/features/MainActivity.kt @@ -61,6 +61,7 @@ import javax.inject.Inject data class MainActivityArgs( val clearCache: Boolean = false, val clearCredentials: Boolean = false, + val ignoreLogoutServerError: Boolean = false, val isUserLoggedOut: Boolean = false, val isAccountDeactivated: Boolean = false, val isSoftLogout: Boolean = false @@ -238,6 +239,7 @@ class MainActivity : VectorBaseActivity(), UnlockedActivity return MainActivityArgs( clearCache = argsFromIntent?.clearCache ?: false, clearCredentials = argsFromIntent?.clearCredentials ?: false, + ignoreLogoutServerError = argsFromIntent?.ignoreLogoutServerError ?: false, isUserLoggedOut = argsFromIntent?.isUserLoggedOut ?: false, isAccountDeactivated = argsFromIntent?.isAccountDeactivated ?: false, isSoftLogout = argsFromIntent?.isSoftLogout ?: false @@ -263,7 +265,7 @@ class MainActivity : VectorBaseActivity(), UnlockedActivity } } args.clearCredentials -> { - signout(session, onboardingStore, ignoreServerError = false) + signout(session, onboardingStore, ignoreServerError = args.ignoreLogoutServerError) } args.clearCache -> { lifecycleScope.launch { diff --git a/vector/src/main/java/im/vector/app/features/pin/PinFragment.kt b/vector/src/main/java/im/vector/app/features/pin/PinFragment.kt index 0dafe88118..effe976ce3 100644 --- a/vector/src/main/java/im/vector/app/features/pin/PinFragment.kt +++ b/vector/src/main/java/im/vector/app/features/pin/PinFragment.kt @@ -162,6 +162,12 @@ class PinFragment : } private fun launchResetPinFlow() { - MainActivity.restartApp(requireActivity(), MainActivityArgs(clearCredentials = true)) + MainActivity.restartApp( + activity = requireActivity(), + args = MainActivityArgs( + clearCredentials = true, + ignoreLogoutServerError = true, + ) + ) } }