diff --git a/Linphone/Core/CoreContext.swift b/Linphone/Core/CoreContext.swift index 560cb3cbc..efa6b73af 100644 --- a/Linphone/Core/CoreContext.swift +++ b/Linphone/Core/CoreContext.swift @@ -72,6 +72,15 @@ final class CoreContext: ObservableObject { self.toastMessage = "Registration failed" self.loggingInProgress = false self.loggedIn = false + + let params = account.params + let clonedParams = params?.clone() + clonedParams?.registerEnabled = false + account.params = clonedParams + + self.mCore!.removeAccount(account: account) + self.mCore!.clearAccounts() + self.mCore!.clearAllAuthInfo() } } ) diff --git a/Linphone/LinphoneApp.swift b/Linphone/LinphoneApp.swift index 0efeb7e77..b507a0c87 100644 --- a/Linphone/LinphoneApp.swift +++ b/Linphone/LinphoneApp.swift @@ -35,7 +35,7 @@ struct LinphoneApp: App { } else if coreContext.mCore.defaultAccount == nil || sharedMainViewModel.displayProfileMode { AssistantView(sharedMainViewModel: sharedMainViewModel) .toast(isShowing: $coreContext.toastMessage) - } else { + } else if coreContext.mCore.defaultAccount != nil { ContentView(contactViewModel: ContactViewModel(), historyViewModel: HistoryViewModel()) .toast(isShowing: $coreContext.toastMessage) } diff --git a/Linphone/UI/Assistant/Fragments/LoginFragment.swift b/Linphone/UI/Assistant/Fragments/LoginFragment.swift index 0d5cac6b9..61677f584 100644 --- a/Linphone/UI/Assistant/Fragments/LoginFragment.swift +++ b/Linphone/UI/Assistant/Fragments/LoginFragment.swift @@ -117,6 +117,7 @@ struct LoginFragment: View { .padding(.bottom) Button(action: { + sharedMainViewModel.changeDisplayProfileMode() self.accountLoginViewModel.login() }, label: { Text(coreContext.loggedIn ? "Log out" : "assistant_account_login") @@ -280,23 +281,11 @@ struct LoginFragment: View { } } } - .onAppear { - sharedMainViewModel.changeDisplayProfileMode() - } if coreContext.loggingInProgress { PopupLoadingView(sharedMainViewModel: sharedMainViewModel) .background(.black.opacity(0.65)) } - - if !coreContext.loggingInProgress && !coreContext.loggedIn { - ZStack { - - }.onAppear { - self.accountLoginViewModel.unregister() - self.accountLoginViewModel.delete() - } - } } } .navigationViewStyle(StackNavigationViewStyle()) diff --git a/Linphone/UI/Main/Viewmodel/SharedMainViewModel.swift b/Linphone/UI/Main/Viewmodel/SharedMainViewModel.swift index 5e8f6d39a..d95e98499 100644 --- a/Linphone/UI/Main/Viewmodel/SharedMainViewModel.swift +++ b/Linphone/UI/Main/Viewmodel/SharedMainViewModel.swift @@ -25,33 +25,33 @@ class SharedMainViewModel: ObservableObject { @Published var generalTermsAccepted = false @Published var displayProfileMode = false + let welcomeViewKey = "welcome_view" + let generalTermsKey = "general_terms" + let displayProfileModeKey = "display_profile_mode" + var maxWidth = 400.0 init() { let preferences = UserDefaults.standard - let welcomeViewKey = "welcome_view" - if preferences.object(forKey: welcomeViewKey) == nil { preferences.set(welcomeViewDisplayed, forKey: welcomeViewKey) } else { welcomeViewDisplayed = preferences.bool(forKey: welcomeViewKey) } - let generalTermsKey = "general_terms" - if preferences.object(forKey: generalTermsKey) == nil { preferences.set(generalTermsAccepted, forKey: generalTermsKey) } else { generalTermsAccepted = preferences.bool(forKey: generalTermsKey) } - let displayProfileModeKey = "display_profile_mode" - if preferences.object(forKey: displayProfileModeKey) == nil { + print("displayProfileModeKeydisplayProfileModeKey nil") preferences.set(displayProfileMode, forKey: displayProfileModeKey) } else { displayProfileMode = preferences.bool(forKey: displayProfileModeKey) + print("displayProfileModeKeydisplayProfileModeKey \(displayProfileMode)") } } @@ -59,7 +59,6 @@ class SharedMainViewModel: ObservableObject { let preferences = UserDefaults.standard welcomeViewDisplayed = true - let welcomeViewKey = "welcome_view" preferences.set(welcomeViewDisplayed, forKey: welcomeViewKey) } @@ -67,7 +66,6 @@ class SharedMainViewModel: ObservableObject { let preferences = UserDefaults.standard generalTermsAccepted = true - let generalTermsKey = "general_terms" preferences.set(generalTermsAccepted, forKey: generalTermsKey) } @@ -75,7 +73,6 @@ class SharedMainViewModel: ObservableObject { let preferences = UserDefaults.standard displayProfileMode = true - let displayProfileModeKey = "display_profile_mode" preferences.set(displayProfileMode, forKey: displayProfileModeKey) } @@ -83,7 +80,6 @@ class SharedMainViewModel: ObservableObject { let preferences = UserDefaults.standard displayProfileMode = false - let displayProfileModeKey = "display_profile_mode" preferences.set(displayProfileMode, forKey: displayProfileModeKey) } }