summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNadia Barbosa <nadiabarbosa@me.com>2019-04-26 18:31:23 -0700
committerNadia Barbosa <nadiabarbosa@me.com>2019-04-26 18:31:23 -0700
commite43f30ee654e4b7ab880ff710248aa417cc3b723 (patch)
treef3b170f6c024fd542a206983ce8ef6294d99dd2c
parent11522ec743be77d8fd80f2262a553ef463295d34 (diff)
downloadqtlocation-mapboxgl-upstream/iosapp-refactor-save-state.tar.gz
-rw-r--r--platform/ios/app/MBXState.h2
-rw-r--r--platform/ios/app/MBXStateManager.m6
-rw-r--r--platform/ios/app/MBXViewController.m64
-rw-r--r--platform/ios/app/Main.storyboard8
4 files changed, 36 insertions, 44 deletions
diff --git a/platform/ios/app/MBXState.h b/platform/ios/app/MBXState.h
index 9829d0729e..3f431b5e08 100644
--- a/platform/ios/app/MBXState.h
+++ b/platform/ios/app/MBXState.h
@@ -22,8 +22,6 @@ FOUNDATION_EXTERN NSString *const MBXShowsTimeFrameGraph;
@property (nonatomic) BOOL showsZoomLevelOrnament;
@property (nonatomic) BOOL showsTimeFrameGraph;
-@property (nonatomic, strong) NSObject *test;
-
@end
NS_ASSUME_NONNULL_END
diff --git a/platform/ios/app/MBXStateManager.m b/platform/ios/app/MBXStateManager.m
index 0daf61bc44..9cf9d391d8 100644
--- a/platform/ios/app/MBXStateManager.m
+++ b/platform/ios/app/MBXStateManager.m
@@ -41,6 +41,10 @@
if (dictionary[MBXDebugMaskValue]) {
_currentState.debugMask = ((NSNumber *)dictionary[MBXDebugMaskValue]).intValue;
}
+
+ if (dictionary[MBXShowsZoomLevelOrnament]) {
+ _currentState.showsZoomLevelOrnament = [dictionary[MBXShowsZoomLevelOrnament] boolValue];
+ }
if (dictionary[MBXShowsTimeFrameGraph]) {
_currentState.showsTimeFrameGraph = [dictionary[MBXShowsTimeFrameGraph] boolValue];
@@ -62,6 +66,7 @@
[dictionary setValue:@(state.userTrackingMode) forKey:MBXUserTrackingMode];
[dictionary setValue:@(state.showsUserLocation) forKey:MBXShowsUserLocation];
[dictionary setValue:@(state.debugMask) forKey:MBXDebugMaskValue];
+ [dictionary setValue:@(state.showsZoomLevelOrnament) forKey:MBXShowsZoomLevelOrnament];
[dictionary setValue:@(state.showsTimeFrameGraph) forKey:MBXShowsTimeFrameGraph];
[[NSUserDefaults standardUserDefaults] setObject:dictionary forKey:@"mapStateKey"];
@@ -73,6 +78,7 @@
}
-(void)restoreState {
+
}
-(void)resetState {
diff --git a/platform/ios/app/MBXViewController.m b/platform/ios/app/MBXViewController.m
index 1015c95be6..c77e6a28ba 100644
--- a/platform/ios/app/MBXViewController.m
+++ b/platform/ios/app/MBXViewController.m
@@ -145,15 +145,14 @@ CLLocationCoordinate2D randomWorldCoordinate() {
@property (nonatomic) IBOutlet MGLMapView *mapView;
-@property (weak, nonatomic) IBOutlet UIButton *hudLabel;
+@property (nonatomic) MBXState *currentMapState;
+@property (weak, nonatomic) IBOutlet UIButton *mapInfoLabel;
@property (weak, nonatomic) IBOutlet MBXFrameTimeGraphView *frameTimeGraphView;
@property (nonatomic) NSInteger styleIndex;
@property (nonatomic) BOOL debugLoggingEnabled;
@property (nonatomic) BOOL customUserLocationAnnnotationEnabled;
@property (nonatomic, getter=isLocalizingLabels) BOOL localizingLabels;
@property (nonatomic) BOOL reuseQueueStatsEnabled;
-@property (nonatomic) BOOL mapInfoHUDEnabled;
-//@property (nonatomic) BOOL frameTimeGraphEnabled;
@property (nonatomic) BOOL randomWalk;
@property (nonatomic) NSMutableArray<UIWindow *> *helperWindows;
@@ -173,15 +172,8 @@ CLLocationCoordinate2D randomWorldCoordinate() {
- (void)viewDidLoad
{
[super viewDidLoad];
- MBXState *test = [[MBXState alloc] init];
- test.userTrackingMode = MGLUserTrackingModeNone;
-// MBXState *currentState = [MBXStateManager sharedManager].currentState;
-//
-// currentState.debugMask = MGLMapDebugTileBoundariesMask;
-
-// [MBXStateManager sharedManager].currentState.userTrackingMode = NO;
- [MBXStateManager sharedManager].currentState.showsUserLocation = NO;
+ self.currentMapState = [MBXStateManager sharedManager].currentState;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(saveState:) name:UIApplicationDidEnterBackgroundNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(saveState:) name:UIApplicationWillTerminateNotification object:nil];
@@ -193,7 +185,7 @@ CLLocationCoordinate2D randomWorldCoordinate() {
self.mapView.showsScale = YES;
self.mapView.showsUserHeadingIndicator = YES;
self.mapView.experimental_enableFrameRateMeasurement = YES;
- self.hudLabel.titleLabel.font = [UIFont monospacedDigitSystemFontOfSize:10 weight:UIFontWeightRegular];
+ self.mapInfoLabel.titleLabel.font = [UIFont monospacedDigitSystemFontOfSize:10 weight:UIFontWeightRegular];
// Add fall-through single tap gesture recognizer. This will be called when
// the map view's tap recognizers fail.
@@ -285,7 +277,7 @@ CLLocationCoordinate2D randomWorldCoordinate() {
{
NSMutableArray *settingsTitles = [NSMutableArray array];
- MGLMapDebugMaskOptions debugMask = self.mapView.debugMask;
+ MGLMapDebugMaskOptions debugMask = self.currentMapState.debugMask;
switch (section)
{
@@ -302,8 +294,8 @@ CLLocationCoordinate2D randomWorldCoordinate() {
(debugMask & MGLMapDebugCollisionBoxesMask ? @"Hide" :@"Show")],
[NSString stringWithFormat:@"%@ Overdraw Visualization",
(debugMask & MGLMapDebugOverdrawVisualizationMask ? @"Hide" :@"Show")],
- [NSString stringWithFormat:@"%@ Map Info HUD", (_mapInfoHUDEnabled ? @"Hide" :@"Show")],
- [NSString stringWithFormat:@"%@ Frame Time Graph", ([MBXStateManager sharedManager].currentState.showsTimeFrameGraph ? @"Hide" :@"Show")],
+ [NSString stringWithFormat:@"%@ Map Info Ornament", (self.currentMapState.showsZoomLevelOrnament ? @"Hide" :@"Show")],
+ [NSString stringWithFormat:@"%@ Frame Time Graph", (self.currentMapState.showsTimeFrameGraph ? @"Hide" :@"Show")],
[NSString stringWithFormat:@"%@ Reuse Queue Stats", (_reuseQueueStatsEnabled ? @"Hide" :@"Show")]
]];
break;
@@ -362,26 +354,24 @@ CLLocationCoordinate2D randomWorldCoordinate() {
[self.mapView resetPosition];
break;
case MBXSettingsDebugToolsTileBoundaries:
- self.mapView.debugMask ^= MGLMapDebugTileBoundariesMask;
+ self.currentMapState.debugMask ^= MGLMapDebugTileBoundariesMask;
break;
case MBXSettingsDebugToolsTileInfo:
- self.mapView.debugMask ^= MGLMapDebugTileInfoMask;
+ self.currentMapState.debugMask ^= MGLMapDebugTileInfoMask;
break;
case MBXSettingsDebugToolsTimestamps:
- self.mapView.debugMask ^= MGLMapDebugTimestampsMask;
+ self.currentMapState.debugMask ^= MGLMapDebugTimestampsMask;
break;
case MBXSettingsDebugToolsCollisionBoxes:
- self.mapView.debugMask ^= MGLMapDebugCollisionBoxesMask;
+ self.currentMapState.debugMask ^= MGLMapDebugCollisionBoxesMask;
break;
case MBXSettingsDebugToolsOverdrawVisualization:
- self.mapView.debugMask ^= MGLMapDebugOverdrawVisualizationMask;
+ self.currentMapState.debugMask ^= MGLMapDebugOverdrawVisualizationMask;
break;
case MBXSettingsDebugToolsShowZoomLevel:
{
- self.mapInfoHUDEnabled = !self.mapInfoHUDEnabled;
- self.hudLabel.hidden = !self.mapInfoHUDEnabled;
-
-// [MBXStateManager sharedManager].currentState.showsZoomLevelHUD:self.mapInfoHUDEnabled;
+ self.currentMapState.showsZoomLevelOrnament = !self.currentMapState.showsZoomLevelOrnament;
+ self.mapInfoLabel.hidden = !self.currentMapState.showsZoomLevelOrnament;
self.reuseQueueStatsEnabled = NO;
[self updateHUD];
@@ -389,17 +379,15 @@ CLLocationCoordinate2D randomWorldCoordinate() {
}
case MBXSettingsDebugToolsShowFrameTimeGraph:
{
- [MBXStateManager sharedManager].currentState.showsTimeFrameGraph = ![MBXStateManager sharedManager].currentState.showsTimeFrameGraph;
- self.frameTimeGraphView.hidden = ![MBXStateManager sharedManager].currentState.showsTimeFrameGraph;
-// [[MBXStateManager sharedManager].currentState.showsTimeFrameGraph:self.frameTimeGraphEnabled];
+ self.currentMapState.showsTimeFrameGraph = !self.currentMapState.showsTimeFrameGraph;
+ self.frameTimeGraphView.hidden = !self.currentMapState.showsTimeFrameGraph;
break;
}
case MBXSettingsDebugToolsShowReuseQueueStats:
{
self.reuseQueueStatsEnabled = !self.reuseQueueStatsEnabled;
- self.hudLabel.hidden = !self.reuseQueueStatsEnabled;
- self.mapInfoHUDEnabled = NO;
-// [[MBXStateManager sharedManager].currentState.showsZoomLevelHUD:self.mapInfoHUDEnabled];
+ self.mapInfoLabel.hidden = !self.reuseQueueStatsEnabled;
+ self.currentMapState.showsZoomLevelOrnament = NO;
break;
}
default:
@@ -1201,25 +1189,25 @@ CLLocationCoordinate2D randomWorldCoordinate() {
}
- (void)updateHUD {
- if (!self.reuseQueueStatsEnabled && !self.mapInfoHUDEnabled) return;
+ if (!self.reuseQueueStatsEnabled && !self.currentMapState.showsZoomLevelOrnament == YES) return;
- if (self.hudLabel.hidden) self.hudLabel.hidden = NO;
+ if (self.mapInfoLabel.hidden) self.mapInfoLabel.hidden = NO;
- NSString *hudString;
+ NSString *mapInfoString;
if (self.reuseQueueStatsEnabled) {
NSUInteger queuedAnnotations = 0;
for (NSArray *queue in self.mapView.annotationViewReuseQueueByIdentifier.allValues) {
queuedAnnotations += queue.count;
}
- hudString = [NSString stringWithFormat:@"Visible: %ld Queued: %ld", (unsigned long)self.mapView.visibleAnnotations.count, (unsigned long)queuedAnnotations];
- } else if (self.mapInfoHUDEnabled) {
- hudString = [NSString stringWithFormat:@"%.f FPS (%.1fms) ∕ %.2f ∕ ↕\U0000FE0E%.f° ∕ %.f°",
+ mapInfoString = [NSString stringWithFormat:@"Visible: %ld Queued: %ld", (unsigned long)self.mapView.visibleAnnotations.count, (unsigned long)queuedAnnotations];
+ } else if (self.currentMapState.showsZoomLevelOrnament == YES) {
+ mapInfoString = [NSString stringWithFormat:@"%.f FPS (%.1fms) ∕ %.2f ∕ ↕\U0000FE0E%.f° ∕ %.f°",
roundf(self.mapView.averageFrameRate), self.mapView.averageFrameTime,
self.mapView.zoomLevel, self.mapView.camera.pitch, self.mapView.direction];
}
- [self.hudLabel setTitle:hudString forState:UIControlStateNormal];
+ [self.mapInfoLabel setTitle:mapInfoString forState:UIControlStateNormal];
}
#pragma mark - MGLComputedShapeSourceDataSource
@@ -1271,7 +1259,7 @@ CLLocationCoordinate2D randomWorldCoordinate() {
}
- (void)mapViewDidFinishRenderingFrame:(MGLMapView *)mapView fullyRendered:(BOOL)fullyRendered {
- if ([MBXStateManager sharedManager].currentState.showsTimeFrameGraph) {
+ if (self.currentMapState.showsTimeFrameGraph) {
[self.frameTimeGraphView updatePathWithFrameDuration:mapView.frameTime];
}
}
diff --git a/platform/ios/app/Main.storyboard b/platform/ios/app/Main.storyboard
index b477b8283e..722b317135 100644
--- a/platform/ios/app/Main.storyboard
+++ b/platform/ios/app/Main.storyboard
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="PSe-Ot-7Ff">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="PSe-Ot-7Ff">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
- <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14460.20"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
@@ -86,7 +86,7 @@
</connections>
</barButtonItem>
<button key="titleView" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="KsN-ny-Hou">
- <rect key="frame" x="65" y="5.5" width="203" height="33"/>
+ <rect key="frame" x="72" y="5.5" width="203" height="33"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
<state key="normal" title="Streets"/>
@@ -115,7 +115,7 @@
</navigationItem>
<connections>
<outlet property="frameTimeGraphView" destination="BHE-Wn-x69" id="sFg-9b-DgH"/>
- <outlet property="hudLabel" destination="58y-pX-YyB" id="aGG-7a-bZR"/>
+ <outlet property="mapInfoLabel" destination="58y-pX-YyB" id="svb-TC-TvQ"/>
<outlet property="mapView" destination="kNe-zV-9ha" id="VNR-WO-1q4"/>
</connections>
</viewController>