diff --git a/iphone/Maps/Classes/EAGLView.h b/iphone/Maps/Classes/EAGLView.h index b251b00e3a..94eaf07698 100644 --- a/iphone/Maps/Classes/EAGLView.h +++ b/iphone/Maps/Classes/EAGLView.h @@ -20,11 +20,12 @@ namespace dp CGRect lastViewSize; } -@property (nonatomic) MWMMapWidgets * widgetsManager; +@property(nonatomic) MWMMapWidgets * widgetsManager; -@property (nonatomic, readonly) BOOL drapeEngineCreated; +@property(nonatomic, readonly) BOOL drapeEngineCreated; +@property(nonatomic) BOOL isLaunchByDeepLink; -@property (nonatomic, readonly) m2::PointU pixelSize; +@property(nonatomic, readonly) m2::PointU pixelSize; - (void)deallocateNative; - (CGPoint)viewPoint2GlobalPoint:(CGPoint)pt; diff --git a/iphone/Maps/Classes/EAGLView.mm b/iphone/Maps/Classes/EAGLView.mm index 8ef4a775e9..0a498b13b6 100644 --- a/iphone/Maps/Classes/EAGLView.mm +++ b/iphone/Maps/Classes/EAGLView.mm @@ -85,9 +85,8 @@ double getExactDPI(double contentScaleFactor) p.m_surfaceHeight = height; p.m_visualScale = dp::VisualScale(getExactDPI(self.contentScaleFactor)); p.m_hints.m_isFirstLaunch = [Alohalytics isFirstSession]; - // TODO: Add initialization. - // p.m_hints.m_isLaunchByDeepLink = ...; - + p.m_hints.m_isLaunchByDeepLink = self.isLaunchByDeepLink; + [self.widgetsManager setupWidgets:p]; GetFramework().CreateDrapeEngine(make_ref(m_factory), move(p)); diff --git a/iphone/Maps/Classes/MapsAppDelegate.mm b/iphone/Maps/Classes/MapsAppDelegate.mm index 1c4f31a628..50bf14f86d 100644 --- a/iphone/Maps/Classes/MapsAppDelegate.mm +++ b/iphone/Maps/Classes/MapsAppDelegate.mm @@ -185,9 +185,11 @@ using namespace osm_auth_ios; return ((EAGLView *)self.mapViewController.view).drapeEngineCreated; } -- (BOOL)hasApiURL { return m_geoURL || m_mwmURL || m_fileURL; } +- (BOOL)hasApiURL { return m_geoURL || m_mwmURL; } - (void)handleURLs { + static_cast(self.mapViewController.view).isLaunchByDeepLink = self.hasApiURL; + if (!self.isDrapeEngineCreated) { dispatch_async(dispatch_get_main_queue(), ^{