[ios] Minor refactoring

This commit is contained in:
Alex Zolotarev 2013-07-03 20:48:41 +03:00 committed by Alex Zolotarev
parent 36a9281054
commit 211bd4e846
2 changed files with 18 additions and 15 deletions

View file

@ -675,40 +675,42 @@ NSInteger compareAddress(id l, id r, void * context)
[m_popover presentPopoverFromRect:CGRectMake(tmp.x / sf, tmp.y / sf, 1, 1) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
- (void)prepareForApi
- (void) prepareForApi
{
_isApiMode = YES;
if ([self shouldShowNavBar])
{
self.navigationController.navigationBarHidden = NO;
UIBarButtonItem * closeButton = [[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"back", nil) style: UIBarButtonItemStyleDone target:self action:@selector(returnToApiApp)] autorelease];
self.navigationItem.leftBarButtonItem = closeButton;
self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"back", nil) style: UIBarButtonItemStyleDone target:self action:@selector(returnToApiApp)] autorelease];
self.navigationItem.title = [NSString stringWithUTF8String:GetFramework().GetMapApiAppTitle().c_str()];
self.navigationController.navigationBarHidden = NO;
}
}
- (void) clearApiMode
{
_isApiMode = NO;
self.navigationController.navigationItem.title = @"";
GetFramework().ClearMapApiPoints();
[self Invalidate];
[self.navigationController setNavigationBarHidden:YES animated:YES];
GetFramework().GetBalloonManager().Hide();
self.navigationController.navigationItem.title = @"";
Framework & f = GetFramework();
f.ClearMapApiPoints();
f.GetBalloonManager().Hide();
}
-(void)returnToApiApp
+ (NSURL *) getBackUrl
{
NSString * backUrl = [NSString stringWithUTF8String:GetFramework().GetMapApiBackUrl().c_str()];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:backUrl]];
return [NSURL URLWithString:[NSString stringWithUTF8String:GetFramework().GetMapApiBackUrl().c_str()]];
}
-(void) returnToApiApp
{
[[UIApplication sharedApplication] openURL:[MapViewController getBackUrl]];
[self clearApiMode];
}
-(BOOL) shouldShowNavBar
{
Framework & f = GetFramework();
NSString * backUrl = [NSString stringWithUTF8String:f.GetMapApiBackUrl().c_str()];
return (_isApiMode && [backUrl length] && [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:backUrl]]);
return (_isApiMode && [[UIApplication sharedApplication] canOpenURL:[MapViewController getBackUrl]]);
}
- (void)dismissPopover

View file

@ -183,11 +183,12 @@ void InitLocalizedStrings()
annotation:(id)annotation
{
NSString * scheme = url.scheme;
Framework & f = GetFramework();
// geo scheme support, see http://tools.ietf.org/html/rfc5870
if ([scheme isEqualToString:@"geo"] || [scheme isEqualToString:@"ge0"])
{
url_scheme::ApiPoint apiPoint;
if (GetFramework().SetViewportByURL([url.absoluteString UTF8String], apiPoint))
if (f.SetViewportByURL([url.absoluteString UTF8String], apiPoint))
{
[self showParsedBookmarkOnMap:apiPoint];
m_didOpenedWithUrl = YES;
@ -201,7 +202,7 @@ void InitLocalizedStrings()
if ([scheme isEqualToString:@"mapswithme"] || [scheme isEqualToString:@"mwm"])
{
url_scheme::ApiPoint apiPoint;
if (GetFramework().SetViewportByURL([url.absoluteString UTF8String], apiPoint));
if (f.SetViewportByURL([url.absoluteString UTF8String], apiPoint));
{
[[Statistics instance] logApiUsage:sourceApplication];
[self showMap];