diff --git a/kDrive/UI/Controller/LoginDelegateHandler.swift b/kDrive/UI/Controller/LoginDelegateHandler.swift index 99e39567d..44f820e68 100644 --- a/kDrive/UI/Controller/LoginDelegateHandler.swift +++ b/kDrive/UI/Controller/LoginDelegateHandler.swift @@ -24,6 +24,7 @@ import kDriveCore import kDriveResources public final class LoginDelegateHandler: InfomaniakLoginDelegate { + @LazyInjectService var deeplinkService: DeeplinkServiceable @LazyInjectService var accountManager: AccountManageable @LazyInjectService var router: AppNavigable @@ -64,6 +65,7 @@ public final class LoginDelegateHandler: InfomaniakLoginDelegate { UserDefaults.shared.legacyIsFirstLaunch = false UserDefaults.shared.numberOfConnections = 1 _ = router.showMainViewController(driveFileManager: driveFileManager, selectedIndex: nil) + deeplinkService.processDeeplinksPostAuthentication() } private func didCompleteLoginWithError(_ error: Error, diff --git a/kDriveCore/Data/Cache/AccountManager.swift b/kDriveCore/Data/Cache/AccountManager.swift index 43d426e2b..dd78d4f83 100644 --- a/kDriveCore/Data/Cache/AccountManager.swift +++ b/kDriveCore/Data/Cache/AccountManager.swift @@ -98,6 +98,7 @@ public class AccountManager: RefreshTokenDelegate, AccountManageable { @LazyInjectService var notificationHelper: NotificationsHelpable @LazyInjectService var networkLogin: InfomaniakNetworkLoginable @LazyInjectService var appNavigable: AppNavigable + @LazyInjectService var deeplinkService: DeeplinkServiceable private static let appIdentifierPrefix = Bundle.main.infoDictionary!["AppIdentifierPrefix"] as! String private static let group = "com.infomaniak.drive" @@ -546,6 +547,8 @@ public class AccountManager: RefreshTokenDelegate, AccountManageable { public func logoutCurrentAccountAndSwitchToNextIfPossible() { Task { @MainActor in + deeplinkService.clearLastPublicShare() + if let currentAccount { removeTokenAndAccount(account: currentAccount) } diff --git a/kDriveCore/Utils/Deeplinks/DeeplinkService.swift b/kDriveCore/Utils/Deeplinks/DeeplinkService.swift index 4c8f13aab..9c0c89d31 100644 --- a/kDriveCore/Utils/Deeplinks/DeeplinkService.swift +++ b/kDriveCore/Utils/Deeplinks/DeeplinkService.swift @@ -40,7 +40,7 @@ public class DeeplinkService: DeeplinkServiceable { return } - Task { + Task { @MainActor in await UniversalLinksHelper.processPublicShareLink(lastPublicShareLink) clearLastPublicShare() }