forked from organicmaps/organicmaps
[MAPSME-2994] Review fixes.
This commit is contained in:
parent
fa1f7a6bd1
commit
eef657c692
5 changed files with 32 additions and 32 deletions
|
@ -30,21 +30,21 @@ NSString * const kStatisticsEvent = @"Mobile Internet Settings Alert";
|
|||
- (IBAction)alwaysTap
|
||||
{
|
||||
[Statistics logEvent:kStatMobileInternet withParameters:@{kStatValue : kStatAlways}];
|
||||
SetNetworkingPolicyState(NetworkingPolicyState::Always);
|
||||
SetStage(Stage::Always);
|
||||
[self close:self.completionBlock];
|
||||
}
|
||||
|
||||
- (IBAction)askTap
|
||||
{
|
||||
[Statistics logEvent:kStatMobileInternet withParameters:@{kStatValue : kStatAsk}];
|
||||
SetNetworkingPolicyState(NetworkingPolicyState::Session);
|
||||
SetStage(Stage::Session);
|
||||
[self close:self.completionBlock];
|
||||
}
|
||||
|
||||
- (IBAction)neverTap
|
||||
{
|
||||
[Statistics logEvent:kStatisticsEvent withParameters:@{kStatAction : kStatNever}];
|
||||
SetNetworkingPolicyState(NetworkingPolicyState::Never);
|
||||
SetStage(Stage::Never);
|
||||
[self close:self.completionBlock];
|
||||
}
|
||||
|
||||
|
|
|
@ -2,17 +2,17 @@
|
|||
|
||||
namespace networking_policy
|
||||
{
|
||||
using MWMNetworkingPolicyFn = function<void(BOOL solver)>;
|
||||
using MWMPartnersApiFn = function<void(BOOL canUseNetwork)>;
|
||||
|
||||
void callPartnersApiWithNetworkingPolicy(MWMNetworkingPolicyFn const & fn);
|
||||
void CallPartnersApi(MWMPartnersApiFn const & fn);
|
||||
|
||||
enum class NetworkingPolicyState
|
||||
enum class Stage
|
||||
{
|
||||
Always,
|
||||
Session,
|
||||
Never
|
||||
};
|
||||
|
||||
void SetNetworkingPolicyState(NetworkingPolicyState state);
|
||||
NetworkingPolicyState GetNetworkingPolicyState();
|
||||
void SetStage(Stage state);
|
||||
Stage GetStage();
|
||||
} // namespace networking_policy
|
||||
|
|
|
@ -9,22 +9,22 @@ NSTimeInterval const kSessionDurationSeconds = 24 * 60 * 60;
|
|||
|
||||
namespace networking_policy
|
||||
{
|
||||
void callPartnersApiWithNetworkingPolicy(MWMNetworkingPolicyFn const & fn)
|
||||
void CallPartnersApi(MWMPartnersApiFn const & fn)
|
||||
{
|
||||
auto checkAndApply = ^BOOL {
|
||||
auto checkAndApply = ^bool {
|
||||
NSUserDefaults * ud = [NSUserDefaults standardUserDefaults];
|
||||
NSDate * policyDate = [ud objectForKey:kNetworkingPolicyTimeStamp];
|
||||
if ([policyDate compare:[NSDate date]] == NSOrderedDescending)
|
||||
{
|
||||
fn(YES);
|
||||
return YES;
|
||||
return true;
|
||||
}
|
||||
if ([policyDate isEqualToDate:NSDate.distantPast])
|
||||
{
|
||||
fn(NO);
|
||||
return YES;
|
||||
return true;
|
||||
}
|
||||
return NO;
|
||||
return false;
|
||||
};
|
||||
|
||||
if (checkAndApply())
|
||||
|
@ -37,29 +37,29 @@ void callPartnersApiWithNetworkingPolicy(MWMNetworkingPolicyFn const & fn)
|
|||
}];
|
||||
}
|
||||
|
||||
void SetNetworkingPolicyState(NetworkingPolicyState state)
|
||||
void SetStage(Stage state)
|
||||
{
|
||||
NSUserDefaults * ud = [NSUserDefaults standardUserDefaults];
|
||||
NSDate * policyDate = nil;
|
||||
switch (state)
|
||||
{
|
||||
case NetworkingPolicyState::Always: policyDate = NSDate.distantFuture; break;
|
||||
case NetworkingPolicyState::Session:
|
||||
case Stage::Always: policyDate = NSDate.distantFuture; break;
|
||||
case Stage::Session:
|
||||
policyDate = [NSDate dateWithTimeIntervalSinceNow:kSessionDurationSeconds];
|
||||
break;
|
||||
case NetworkingPolicyState::Never: policyDate = NSDate.distantPast; break;
|
||||
case Stage::Never: policyDate = NSDate.distantPast; break;
|
||||
}
|
||||
[ud setObject:policyDate forKey:kNetworkingPolicyTimeStamp];
|
||||
}
|
||||
|
||||
NetworkingPolicyState GetNetworkingPolicyState()
|
||||
Stage GetStage()
|
||||
{
|
||||
NSUserDefaults * ud = [NSUserDefaults standardUserDefaults];
|
||||
NSDate * policyDate = [ud objectForKey:kNetworkingPolicyTimeStamp];
|
||||
if ([policyDate isEqualToDate:NSDate.distantFuture])
|
||||
return NetworkingPolicyState::Always;
|
||||
return Stage::Always;
|
||||
if ([policyDate isEqualToDate:NSDate.distantPast])
|
||||
return NetworkingPolicyState::Never;
|
||||
return NetworkingPolicyState::Session;
|
||||
return Stage::Never;
|
||||
return Stage::Session;
|
||||
}
|
||||
} // namespace networking_policy
|
||||
|
|
|
@ -22,11 +22,11 @@ using namespace networking_policy;
|
|||
self.title = L(@"pref_mobile_internet");
|
||||
|
||||
SelectableCell * selected;
|
||||
switch (GetNetworkingPolicyState())
|
||||
switch (GetStage())
|
||||
{
|
||||
case NetworkingPolicyState::Always: selected = self.always; break;
|
||||
case NetworkingPolicyState::Session: selected = self.ask; break;
|
||||
case NetworkingPolicyState::Never: selected = self.never; break;
|
||||
case Stage::Always: selected = self.always; break;
|
||||
case Stage::Session: selected = self.ask; break;
|
||||
case Stage::Never: selected = self.never; break;
|
||||
}
|
||||
selected.accessoryType = UITableViewCellAccessoryCheckmark;
|
||||
self.selected = selected;
|
||||
|
@ -42,17 +42,17 @@ using namespace networking_policy;
|
|||
if ([selected isEqual:self.always])
|
||||
{
|
||||
statValue = kStatAlways;
|
||||
SetNetworkingPolicyState(NetworkingPolicyState::Always);
|
||||
SetStage(Stage::Always);
|
||||
}
|
||||
else if ([selected isEqual:self.ask])
|
||||
{
|
||||
statValue = kStatAsk;
|
||||
SetNetworkingPolicyState(NetworkingPolicyState::Session);
|
||||
SetStage(Stage::Session);
|
||||
}
|
||||
else if ([selected isEqual:self.never])
|
||||
{
|
||||
statValue = kStatNever;
|
||||
SetNetworkingPolicyState(NetworkingPolicyState::Never);
|
||||
SetStage(Stage::Never);
|
||||
}
|
||||
|
||||
[Statistics logEvent:kStatMobileInternet withParameters:@{kStatValue : statValue}];
|
||||
|
|
|
@ -87,11 +87,11 @@ extern NSString * const kAlohalyticsTapEventKey;
|
|||
self.autoDownloadCell.delegate = self;
|
||||
|
||||
NSString * internetLabel = nil;
|
||||
switch (networking_policy::GetNetworkingPolicyState())
|
||||
switch (networking_policy::GetStage())
|
||||
{
|
||||
case networking_policy::NetworkingPolicyState::Always: internetLabel = L(@"pref_always"); break;
|
||||
case networking_policy::NetworkingPolicyState::Session: internetLabel = L(@"pref_ask"); break;
|
||||
case networking_policy::NetworkingPolicyState::Never: internetLabel = L(@"pref_never"); break;
|
||||
case networking_policy::Stage::Always: internetLabel = L(@"pref_always"); break;
|
||||
case networking_policy::Stage::Session: internetLabel = L(@"pref_ask"); break;
|
||||
case networking_policy::Stage::Never: internetLabel = L(@"pref_never"); break;
|
||||
}
|
||||
self.mobileInternetCell.infoLabel.text = internetLabel;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue