diff --git a/iphone/Maps/Bookmarks/Categories/Sharing/BookmarksSharingViewController.swift b/iphone/Maps/Bookmarks/Categories/Sharing/BookmarksSharingViewController.swift index 1725bd854d..3a0ff8ba85 100644 --- a/iphone/Maps/Bookmarks/Categories/Sharing/BookmarksSharingViewController.swift +++ b/iphone/Maps/Bookmarks/Categories/Sharing/BookmarksSharingViewController.swift @@ -204,13 +204,18 @@ final class BookmarksSharingViewController: MWMTableViewController { } func performAfterValidation(action: @escaping MWMVoidBlock) { - MWMFrameworkHelper.checkConnectionAndPerformAction { [weak self] in - if let self = self, let view = self.view { - self.signup(anchor: view, onComplete: { success in - if success { - action() - } - }) + if MWMFrameworkHelper.isNetworkConnected() { + signup(anchor: view, onComplete: { success in + if success { + action() + } + }) + } else { + MWMAlertViewController.activeAlert().presentDefaultAlert(withTitle: L("common_check_internet_connection_dialog_title"), + message: L("common_check_internet_connection_dialog"), + rightButtonTitle: L("try_again"), + leftButtonTitle: L("downloader_retry")) { + self.performAfterValidation(action: action) } } } diff --git a/iphone/Maps/Core/Framework/MWMFrameworkHelper.h b/iphone/Maps/Core/Framework/MWMFrameworkHelper.h index 844536c334..9b5e8ad8b0 100644 --- a/iphone/Maps/Core/Framework/MWMFrameworkHelper.h +++ b/iphone/Maps/Core/Framework/MWMFrameworkHelper.h @@ -14,6 +14,8 @@ + (BOOL)canUseNetwork; ++ (BOOL)isNetworkConnected; + + (MWMMarkGroupID)invalidCategoryId; @end diff --git a/iphone/Maps/Core/Framework/MWMFrameworkHelper.mm b/iphone/Maps/Core/Framework/MWMFrameworkHelper.mm index c1e2348b9a..792213ae17 100644 --- a/iphone/Maps/Core/Framework/MWMFrameworkHelper.mm +++ b/iphone/Maps/Core/Framework/MWMFrameworkHelper.mm @@ -103,6 +103,11 @@ GetPlatform().ConnectionStatus() != Platform::EConnectionType::CONNECTION_WWAN; } ++ (BOOL)isNetworkConnected +{ + return GetPlatform().ConnectionStatus() != Platform::EConnectionType::CONNECTION_NONE; +} + + (MWMMarkGroupID)invalidCategoryId { return kml::kInvalidMarkGroupId; } @end