[MAPSME-2994] Review fixes.

This commit is contained in:
Ilya Grechuhin 2016-11-28 15:06:10 +03:00
parent fa1f7a6bd1
commit eef657c692
5 changed files with 32 additions and 32 deletions

View file

@ -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];
}

View file

@ -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

View file

@ -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

View file

@ -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}];

View file

@ -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;