From e4db767a029d1deabcf3fc09788efe869927f02d Mon Sep 17 00:00:00 2001 From: Aleksey Belouosv Date: Tue, 21 May 2019 12:35:02 +0300 Subject: [PATCH] [iOS] fix error when deffered deeplink flow launches before onboarding ends https://jira.mail.ru/browse/MAPSME-10542 --- iphone/Maps/Classes/DeepLinkHandler.swift | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/iphone/Maps/Classes/DeepLinkHandler.swift b/iphone/Maps/Classes/DeepLinkHandler.swift index 252786c1ca..da3d733025 100644 --- a/iphone/Maps/Classes/DeepLinkHandler.swift +++ b/iphone/Maps/Classes/DeepLinkHandler.swift @@ -39,8 +39,7 @@ fileprivate enum DeeplinkType { guard let dlType = deeplinkType(url) else { return false } deeplinkType = dlType deeplinkURL = url - if canHandleLink || !isLaunchedByDeeplink { - isLaunchedByDeeplink = true + if canHandleLink { handleInternal() } return true @@ -48,13 +47,9 @@ fileprivate enum DeeplinkType { private func setUniversalLink(_ url: URL) -> Bool { let dlUrl = convertUniversalLink(url) - guard let dlType = deeplinkType(dlUrl) else { return false } + guard let dlType = deeplinkType(dlUrl), deeplinkURL == nil else { return false } deeplinkType = dlType deeplinkURL = dlUrl - if canHandleLink || !isLaunchedByDeeplink { - isLaunchedByDeeplink = true - handleInternal() - } return true } @@ -70,25 +65,26 @@ fileprivate enum DeeplinkType { } else { result = setUniversalLink(url) } + if canHandleLink { + handleInternal() + } return result } func handleDeeplink() { - if deeplinkURL != nil{ + canHandleLink = true + if deeplinkURL != nil { handleInternal() - } else { - canHandleLink = true } } func handleDeeplink(_ url: URL) { deeplinkURL = url - handleInternal() + handleDeeplink() } func reset() { isLaunchedByDeeplink = false - canHandleLink = false deeplinkURL = nil }