From f411a6b7f88ef766b330174b56e0d4687a806869 Mon Sep 17 00:00:00 2001 From: Ilya Grechuhin Date: Thu, 21 Jan 2016 11:41:39 +0300 Subject: [PATCH] [ios] Added redirect to registration. --- ...AuthorizationWebViewLoginViewController.mm | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/iphone/Maps/Classes/CustomViews/Login/MWMAuthorizationWebViewLoginViewController.mm b/iphone/Maps/Classes/CustomViews/Login/MWMAuthorizationWebViewLoginViewController.mm index 55096320cb..dc6ff3e3ff 100644 --- a/iphone/Maps/Classes/CustomViews/Login/MWMAuthorizationWebViewLoginViewController.mm +++ b/iphone/Maps/Classes/CustomViews/Login/MWMAuthorizationWebViewLoginViewController.mm @@ -12,7 +12,12 @@ NSString * const kVerifierKey = @"oauth_verifier"; BOOL checkURLHasVerifierKey(NSString * urlString) { - return !NSEqualRanges([urlString rangeOfString:kVerifierKey], {NSNotFound, 0}); + return [urlString containsString:kVerifierKey]; +} + +BOOL checkURLNeedsReload(NSString * urlString) +{ + return [urlString hasSuffix:@"/"] || [urlString containsString:@"/welcome"]; } NSString * getVerifier(NSString * urlString) @@ -157,12 +162,18 @@ NSString * getVerifier(NSString * urlString) { [self stopSpinner]; NSString * urlString = webView.request.URL.absoluteString; - if (!checkURLHasVerifierKey(urlString)) - return; - webView.hidden = YES; - NSString * verifier = getVerifier(urlString); - NSAssert(verifier, @"Verifier value is nil"); - [self checkAuthorization:verifier]; + + if (checkURLNeedsReload(urlString)) + { + [self loadAuthorizationPage]; + } + else if (checkURLHasVerifierKey(urlString)) + { + webView.hidden = YES; + NSString * verifier = getVerifier(urlString); + NSAssert(verifier, @"Verifier value is nil"); + [self checkAuthorization:verifier]; + } } - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error