[ios] Minor OSM authorization fixes.

This commit is contained in:
Alex Zolotarev 2016-01-23 18:08:58 +03:00 committed by Sergey Yershov
parent 50b59fdd62
commit 613bdb2943
2 changed files with 25 additions and 4 deletions

View file

@ -11,8 +11,11 @@ typedef NS_OPTIONS(NSUInteger, MWMAuthorizationButtonType)
UIColor * MWMAuthorizationButtonBackgroundColor(MWMAuthorizationButtonType type);
void MWMAuthorizationConfigButton(UIButton * btn, MWMAuthorizationButtonType type);
// Deletes any stored credentials if called with empty key or secret.
void MWMAuthorizationStoreCredentials(osm::TKeySecret const & keySecret);
BOOL MWMAuthorizationHaveCredentials();
// Returns empty key and secret if user has not beed authorized.
osm::TKeySecret MWMAuthorizationGetCredentials();
void MWMAuthorizationSetUserSkip();
BOOL MWMAuthorizationIsUserSkip();

View file

@ -52,11 +52,18 @@ void MWMAuthorizationConfigButton(UIButton * btn, MWMAuthorizationButtonType typ
void MWMAuthorizationStoreCredentials(osm::TKeySecret const & keySecret)
{
NSString * requestToken = @(keySecret.first.c_str());
NSString * requestSecret = @(keySecret.second.c_str());
NSUserDefaults * ud = [NSUserDefaults standardUserDefaults];
[ud setObject:requestToken forKey:kOSMRequestToken];
[ud setObject:requestSecret forKey:kOSMRequestSecret];
if (keySecret.first.empty() || keySecret.second.empty())
{
[ud removeObjectForKey:kOSMRequestToken];
[ud removeObjectForKey:kOSMRequestSecret];
}
else
{
[ud setObject:@(keySecret.first.c_str()) forKey:kOSMRequestToken];
[ud setObject:@(keySecret.second.c_str()) forKey:kOSMRequestSecret];
}
[ud synchronize];
}
BOOL MWMAuthorizationHaveCredentials()
@ -67,10 +74,21 @@ BOOL MWMAuthorizationHaveCredentials()
return requestToken && requestSecret;
}
osm::TKeySecret MWMAuthorizationGetCredentials()
{
NSUserDefaults * ud = [NSUserDefaults standardUserDefaults];
NSString * requestToken = [ud stringForKey:kOSMRequestToken];
NSString * requestSecret = [ud stringForKey:kOSMRequestSecret];
if (requestToken && requestSecret)
return osm::TKeySecret(requestToken.UTF8String, requestSecret.UTF8String);
return {};
}
void MWMAuthorizationSetUserSkip()
{
NSUserDefaults * ud = [NSUserDefaults standardUserDefaults];
[ud setObject:[NSDate date] forKey:kAuthUserSkip];
[ud synchronize];
}
BOOL MWMAuthorizationIsUserSkip()