From b16372c42013dda3aac6d8b859f48461ab8ef21a Mon Sep 17 00:00:00 2001 From: QuentinArguillere Date: Mon, 29 Apr 2024 12:05:58 +0200 Subject: [PATCH] Replace defaultAccount by boolean hasDefaultAccount in CoreContext --- Linphone/Core/CoreContext.swift | 8 ++++---- Linphone/LinphoneApp.swift | 4 ++-- .../UI/Assistant/Viewmodel/AccountLoginViewModel.swift | 4 ++-- Linphone/UI/Main/Fragments/SideMenu.swift | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Linphone/Core/CoreContext.swift b/Linphone/Core/CoreContext.swift index 110ef6bfc..4609bbba3 100644 --- a/Linphone/Core/CoreContext.swift +++ b/Linphone/Core/CoreContext.swift @@ -38,7 +38,7 @@ final class CoreContext: ObservableObject { var coreVersion: String = Core.getVersion @Published var loggedIn: Bool = false @Published var loggingInProgress: Bool = false - @Published var defaultAccount: Account? + @Published var hasDefaultAccount: Bool = false @Published var coreIsStarted: Bool = false private var mCore: Core! @@ -113,11 +113,11 @@ final class CoreContext: ObservableObject { self.mCoreSuscriptions.insert(self.mCore.publisher?.onGlobalStateChanged?.postOnMainQueue { (cbVal: (core: Core, state: GlobalState, message: String)) in if cbVal.state == GlobalState.On { - self.defaultAccount = self.mCore.defaultAccount + self.hasDefaultAccount = true self.coreIsStarted = true } else if cbVal.state == GlobalState.Off { - self.defaultAccount = nil - self.coreIsStarted = true + self.hasDefaultAccount = false + self.coreIsStarted = false } }) diff --git a/Linphone/LinphoneApp.swift b/Linphone/LinphoneApp.swift index cb1d481ce..e0baf7f60 100644 --- a/Linphone/LinphoneApp.swift +++ b/Linphone/LinphoneApp.swift @@ -88,14 +88,14 @@ struct LinphoneApp: App { if coreContext.coreIsStarted { if !sharedMainViewModel.welcomeViewDisplayed { WelcomeView() - } else if coreContext.defaultAccount == nil || sharedMainViewModel.displayProfileMode { + } else if !coreContext.hasDefaultAccount || sharedMainViewModel.displayProfileMode { ZStack { AssistantView() ToastView() .zIndex(3) } - } else if coreContext.defaultAccount != nil + } else if coreContext.hasDefaultAccount && coreContext.loggedIn && contactViewModel != nil && editContactViewModel != nil diff --git a/Linphone/UI/Assistant/Viewmodel/AccountLoginViewModel.swift b/Linphone/UI/Assistant/Viewmodel/AccountLoginViewModel.swift index 57dd6688d..b4d8229e5 100644 --- a/Linphone/UI/Assistant/Viewmodel/AccountLoginViewModel.swift +++ b/Linphone/UI/Assistant/Viewmodel/AccountLoginViewModel.swift @@ -108,7 +108,7 @@ class AccountLoginViewModel: ObservableObject { // Also set the newly added account as default core.defaultAccount = account DispatchQueue.main.async { - self.coreContext.defaultAccount = account + self.coreContext.hasDefaultAccount = true } self.domain = "sip.linphone.org" @@ -142,7 +142,7 @@ class AccountLoginViewModel: ObservableObject { if let account = core.defaultAccount { core.removeAccount(account: account) DispatchQueue.main.async { - self.coreContext.defaultAccount = nil + self.coreContext.hasDefaultAccount = false } // To remove all accounts use diff --git a/Linphone/UI/Main/Fragments/SideMenu.swift b/Linphone/UI/Main/Fragments/SideMenu.swift index 8e86d4b42..200619300 100644 --- a/Linphone/UI/Main/Fragments/SideMenu.swift +++ b/Linphone/UI/Main/Fragments/SideMenu.swift @@ -127,7 +127,7 @@ struct SideMenu: View { Log.info("$TAG Account has been removed") DispatchQueue.main.async { - coreContext.defaultAccount = nil + coreContext.hasDefaultAccount = false coreContext.loggedIn = false } }