From 7318dfaaec400eeb24fb27ead6f55e3fd3fc1d9f Mon Sep 17 00:00:00 2001 From: Brent Whitman Date: Fri, 11 Sep 2015 13:56:41 -0700 Subject: [PATCH 1/2] Leave GLview rendering on when app is inactive, to get nice smooth transitions between sizes when using multitasking on iPad (iOS 9). --- platform/ios/MGLMapView.mm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/platform/ios/MGLMapView.mm b/platform/ios/MGLMapView.mm index 705627663..b637f899f 100644 --- a/platform/ios/MGLMapView.mm +++ b/platform/ios/MGLMapView.mm @@ -365,10 +365,8 @@ std::chrono::steady_clock::duration secondsAsDuration(float duration) // observe app activity // [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(willTerminate) name:UIApplicationWillTerminateNotification object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sleepGL:) name:UIApplicationWillResignActiveNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sleepGL:) name:UIApplicationDidEnterBackgroundNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(wakeGL:) name:UIApplicationWillEnterForegroundNotification object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(wakeGL:) name:UIApplicationDidBecomeActiveNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didReceiveMemoryWarning) name:UIApplicationDidReceiveMemoryWarningNotification object:nil]; // set initial position @@ -441,8 +439,8 @@ std::chrono::steady_clock::duration secondsAsDuration(float duration) MGLReachability *reachability = [notification object]; if ( ! _isWaitingForRedundantReachableNotification && [reachability isReachable]) { - mbgl::NetworkStatus::Reachable(); - } + mbgl::NetworkStatus::Reachable(); + } _isWaitingForRedundantReachableNotification = NO; } @@ -786,6 +784,7 @@ std::chrono::steady_clock::duration secondsAsDuration(float duration) { self.glSnapshotView = [[UIImageView alloc] initWithFrame:self.glView.frame]; self.glSnapshotView.autoresizingMask = self.glView.autoresizingMask; + self.glSnapshotView.contentMode = UIViewContentModeCenter; [self insertSubview:self.glSnapshotView aboveSubview:self.glView]; } From 3631e14dd3936b51e94c98b76df6e0823d448777 Mon Sep 17 00:00:00 2001 From: Brent Whitman Date: Fri, 11 Sep 2015 14:32:26 -0700 Subject: [PATCH 2/2] Fix regression on iOS 8, where map would stop updating if device was rotated while the app was in the background --- platform/ios/MGLMapView.mm | 1 + 1 file changed, 1 insertion(+) diff --git a/platform/ios/MGLMapView.mm b/platform/ios/MGLMapView.mm index b637f899f..de55ebef5 100644 --- a/platform/ios/MGLMapView.mm +++ b/platform/ios/MGLMapView.mm @@ -367,6 +367,7 @@ std::chrono::steady_clock::duration secondsAsDuration(float duration) [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(willTerminate) name:UIApplicationWillTerminateNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sleepGL:) name:UIApplicationDidEnterBackgroundNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(wakeGL:) name:UIApplicationWillEnterForegroundNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(wakeGL:) name:UIApplicationDidBecomeActiveNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didReceiveMemoryWarning) name:UIApplicationDidReceiveMemoryWarningNotification object:nil]; // set initial position