[MAPSME-5886] [ios] Added network policy check to authorization.

This commit is contained in:
Ilya Grechuhin 2017-11-10 15:32:02 +03:00 committed by Aleksandr Zatsepin
parent db4c3616fd
commit b8719d4ff0
5 changed files with 56 additions and 8 deletions

View file

@ -38,6 +38,7 @@
#import "MWMPlacePageCellUpdateProtocol.h"
#import "MWMPlacePageManagerHelper.h"
#import "MWMPlacePageTaxiProvider.h"
#import "MWMPlatform.h"
#import "MWMPushNotifications.h"
#import "MWMRatingSummaryViewValueType.h"
#import "MWMReviewsViewModelProtocol.h"

View file

@ -0,0 +1,11 @@
typedef NS_ENUM(NSInteger, MWMNetworkConnectionType) {
MWMNetworkConnectionTypeNone,
MWMNetworkConnectionTypeWifi,
MWMNetworkConnectionTypeWwan
};
@interface MWMPlatform : NSObject
+ (MWMNetworkConnectionType)networkConnectionType;
@end

View file

@ -0,0 +1,18 @@
#import "MWMPlatform.h"
#include "platform/platform.hpp"
@implementation MWMPlatform
+ (MWMNetworkConnectionType)networkConnectionType
{
using ct = Platform::EConnectionType;
switch (GetPlatform().ConnectionStatus())
{
case ct::CONNECTION_NONE: return MWMNetworkConnectionTypeNone;
case ct::CONNECTION_WIFI: return MWMNetworkConnectionTypeWifi;
case ct::CONNECTION_WWAN: return MWMNetworkConnectionTypeWwan;
}
}
@end

View file

@ -220,6 +220,9 @@
343E75971E5B1EE20041226A /* MWMCollectionViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 343E75961E5B1EE20041226A /* MWMCollectionViewController.mm */; };
343E75981E5B1EE20041226A /* MWMCollectionViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 343E75961E5B1EE20041226A /* MWMCollectionViewController.mm */; };
343E75991E5B1EE20041226A /* MWMCollectionViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 343E75961E5B1EE20041226A /* MWMCollectionViewController.mm */; };
343F5A821FB6102A007DF002 /* MWMPlatform.mm in Sources */ = {isa = PBXBuildFile; fileRef = 343F5A811FB6102A007DF002 /* MWMPlatform.mm */; };
343F5A831FB6102A007DF002 /* MWMPlatform.mm in Sources */ = {isa = PBXBuildFile; fileRef = 343F5A811FB6102A007DF002 /* MWMPlatform.mm */; };
343F5A841FB6102A007DF002 /* MWMPlatform.mm in Sources */ = {isa = PBXBuildFile; fileRef = 343F5A811FB6102A007DF002 /* MWMPlatform.mm */; };
3444DFCC1F1760B900E73099 /* WidgetsArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3444DFCB1F1760B900E73099 /* WidgetsArea.swift */; };
3444DFCD1F1760B900E73099 /* WidgetsArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3444DFCB1F1760B900E73099 /* WidgetsArea.swift */; };
3444DFCE1F1760B900E73099 /* WidgetsArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3444DFCB1F1760B900E73099 /* WidgetsArea.swift */; };
@ -1978,6 +1981,8 @@
3430643F1E9FDC7300DC7665 /* SearchIndex.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchIndex.swift; sourceTree = "<group>"; };
343E75951E5B1EE20041226A /* MWMCollectionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWMCollectionViewController.h; sourceTree = "<group>"; };
343E75961E5B1EE20041226A /* MWMCollectionViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MWMCollectionViewController.mm; sourceTree = "<group>"; };
343F5A801FB6102A007DF002 /* MWMPlatform.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MWMPlatform.h; sourceTree = "<group>"; };
343F5A811FB6102A007DF002 /* MWMPlatform.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = MWMPlatform.mm; sourceTree = "<group>"; };
3444DFCB1F1760B900E73099 /* WidgetsArea.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WidgetsArea.swift; sourceTree = "<group>"; };
3444DFCF1F17620C00E73099 /* MWMMapWidgetsHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWMMapWidgetsHelper.h; sourceTree = "<group>"; };
3444DFD01F17620C00E73099 /* MWMMapWidgetsHelper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MWMMapWidgetsHelper.mm; sourceTree = "<group>"; };
@ -3198,16 +3203,17 @@
340475281E081A4600C92850 /* Core */ = {
isa = PBXGroup;
children = (
34763EE31F2F392300F4D2D3 /* TextToSpeech */,
34F4071C1E9E1AFF00E57AC0 /* Ads */,
3486B50F1E27AD3B0069C126 /* Framework */,
340475291E081A4600C92850 /* Location */,
340475301E081A4600C92850 /* NetworkPolicy */,
3486B5041E27A4B50069C126 /* Notifications */,
343F5A7F1FB61012007DF002 /* Platform */,
340475331E081A4600C92850 /* Routing */,
340475391E081A4600C92850 /* Search */,
3404753F1E081A4600C92850 /* Settings */,
340475421E081A4600C92850 /* Storage */,
34763EE31F2F392300F4D2D3 /* TextToSpeech */,
340475451E081A4600C92850 /* Traffic */,
);
path = Core;
@ -3379,6 +3385,15 @@
path = Ads;
sourceTree = "<group>";
};
343F5A7F1FB61012007DF002 /* Platform */ = {
isa = PBXGroup;
children = (
343F5A801FB6102A007DF002 /* MWMPlatform.h */,
343F5A811FB6102A007DF002 /* MWMPlatform.mm */,
);
path = Platform;
sourceTree = "<group>";
};
3445324A1F714FD70059FBCC /* UGCAddReview */ = {
isa = PBXGroup;
children = (
@ -5856,6 +5871,7 @@
F6E2FE601E097BA00083EBEC /* MWMBookmarkCell.mm in Sources */,
F6E2FEA21E097BA00083EBEC /* MWMPPView.mm in Sources */,
F6791B131C43DEA7007A8A6E /* MWMStartButton.mm in Sources */,
343F5A821FB6102A007DF002 /* MWMPlatform.mm in Sources */,
46F26CD810F623BA00ECCA39 /* EAGLView.mm in Sources */,
EED10A4511F78D120095FAD4 /* MapViewController.mm in Sources */,
F61579341AC2CE9A0032D8E9 /* MWMRateAlert.mm in Sources */,
@ -6218,6 +6234,7 @@
F6E2FEA31E097BA00083EBEC /* MWMPPView.mm in Sources */,
3454D7D11E07F045004AF2AD /* UIImage+RGBAData.mm in Sources */,
6741A9B71BF340DE002C974C /* EAGLView.mm in Sources */,
343F5A831FB6102A007DF002 /* MWMPlatform.mm in Sources */,
6741A9B81BF340DE002C974C /* MapViewController.mm in Sources */,
6741A9B91BF340DE002C974C /* MWMRateAlert.mm in Sources */,
349D1ABC1E2D05EF004A2006 /* SearchBar.swift in Sources */,
@ -6580,6 +6597,7 @@
F6E2FE621E097BA00083EBEC /* MWMBookmarkCell.mm in Sources */,
F6E2FEA41E097BA00083EBEC /* MWMPPView.mm in Sources */,
849CF69F1DE842290024A8A5 /* MWMStartButton.mm in Sources */,
343F5A841FB6102A007DF002 /* MWMPlatform.mm in Sources */,
849CF6A01DE842290024A8A5 /* EAGLView.mm in Sources */,
849CF6A21DE842290024A8A5 /* MapViewController.mm in Sources */,
3404757F1E081B3300C92850 /* iosOGLContext.mm in Sources */,

View file

@ -19,7 +19,7 @@ final class UGCAddReviewController: MWMTableViewController {
private var model: Model! {
didSet {
sections = []
assert(!model.ratings.isEmpty);
assert(!model.ratings.isEmpty)
sections.append(.ratings)
sections.append(.text)
}
@ -36,7 +36,7 @@ final class UGCAddReviewController: MWMTableViewController {
override func backTap() {
guard let nc = navigationController else { return }
Statistics.logEvent(kStatUGCReviewCancel);
Statistics.logEvent(kStatUGCReviewCancel)
nc.popToRootViewController(animated: true)
}
@ -55,20 +55,20 @@ final class UGCAddReviewController: MWMTableViewController {
@objc private func onDone() {
guard let text = textCell?.reviewText else {
assert(false);
assert(false)
return
}
Statistics.logEvent(kStatUGCReviewSuccess)
model.text = text
onSave(model)
guard let nc = navigationController else { return }
if MWMAuthorizationViewModel.isAuthenticated() {
if MWMPlatform.networkConnectionType() == .none || MWMAuthorizationViewModel.isAuthenticated() {
nc.popViewController(animated: true)
} else {
Statistics.logEvent(kStatUGCReviewAuthShown, withParameters: [kStatFrom : kStatAfterSave])
Statistics.logEvent(kStatUGCReviewAuthShown, withParameters: [kStatFrom: kStatAfterSave])
let authVC = AuthorizationViewController(barButtonItem: navigationItem.rightBarButtonItem!,
completion: { nc.popToRootViewController(animated: true) })
present(authVC, animated: true, completion: nil);
present(authVC, animated: true, completion: nil)
}
}
@ -92,7 +92,7 @@ final class UGCAddReviewController: MWMTableViewController {
case .text:
let cell = tableView.dequeueReusableCell(withCellClass: UGCAddReviewTextCell.self, indexPath: indexPath) as! UGCAddReviewTextCell
cell.reviewText = model.text
textCell = cell;
textCell = cell
return cell
}
}