diff options
author | Aleksey Belouosv <aleksey@maps.me> | 2019-05-21 12:35:02 +0300 |
---|---|---|
committer | Zoia <niakris90@gmail.com> | 2019-05-23 14:02:26 +0300 |
commit | e4db767a029d1deabcf3fc09788efe869927f02d (patch) | |
tree | 9451f296d94493594d821135cd2aa86c79f6271e /iphone | |
parent | b9894e1f3790a0e27536aff9f26cfbf7bfc9204a (diff) |
[iOS] fix error when deffered deeplink flow launches before onboarding ends
https://jira.mail.ru/browse/MAPSME-10542
Diffstat (limited to 'iphone')
-rw-r--r-- | iphone/Maps/Classes/DeepLinkHandler.swift | 20 |
1 files 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 } |