mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-19 21:13:35 +00:00
[ios] Added recalculate route on route option changes
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
This commit is contained in:
committed by
Yannik Bloscheck
parent
728d0ad806
commit
19e1c4b90e
@@ -146,6 +146,10 @@ char const *kRenderAltitudeImagesQueueLabel = "mapsme.mwmrouter.renderAltitudeIm
|
|||||||
_canAutoAddLastLocation = YES;
|
_canAutoAddLastLocation = YES;
|
||||||
_routingOptions = [MWMRoutingOptions new];
|
_routingOptions = [MWMRoutingOptions new];
|
||||||
_isRestoreProcessCompleted = NO;
|
_isRestoreProcessCompleted = NO;
|
||||||
|
|
||||||
|
[NSNotificationCenter.defaultCenter addObserverForName:@"RoutingOptionsChanged" object:nil queue:nil usingBlock:^(NSNotification * _Nonnull notification) {
|
||||||
|
[MWMRouter updateRoute];
|
||||||
|
}];
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
@@ -570,7 +574,7 @@ char const *kRenderAltitudeImagesQueueLabel = "mapsme.mwmrouter.renderAltitudeIm
|
|||||||
|
|
||||||
+ (void)updateRoute {
|
+ (void)updateRoute {
|
||||||
MWMRoutingOptions *newOptions = [MWMRoutingOptions new];
|
MWMRoutingOptions *newOptions = [MWMRoutingOptions new];
|
||||||
if ((self.isRoutingActive && !self.isOnRoute) && ![newOptions isEqual:[self router].routingOptions]) {
|
if (self.isRoutingActive && !self.isOnRoute && ![newOptions isEqual:[self router].routingOptions]) {
|
||||||
[self rebuildWithBestRouter:YES];
|
[self rebuildWithBestRouter:YES];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,10 @@ import Combine
|
|||||||
@objc class Settings: NSObject {
|
@objc class Settings: NSObject {
|
||||||
// MARK: Properties
|
// MARK: Properties
|
||||||
|
|
||||||
|
// The notification name for changed routing options
|
||||||
|
static let routingOptionsChangedNotificationName: Notification.Name = Notification.Name(rawValue: "RoutingOptionsChanged")
|
||||||
|
|
||||||
|
|
||||||
/// Key for storing if the sync beta alert has been shown in the user defaults
|
/// Key for storing if the sync beta alert has been shown in the user defaults
|
||||||
static private let userDefaultsKeyHasShownSyncBetaAlert = "kUDDidShowICloudSynchronizationEnablingAlert"
|
static private let userDefaultsKeyHasShownSyncBetaAlert = "kUDDidShowICloudSynchronizationEnablingAlert"
|
||||||
|
|
||||||
@@ -352,6 +356,8 @@ import Combine
|
|||||||
let routingOptions = RoutingOptions()
|
let routingOptions = RoutingOptions()
|
||||||
routingOptions.avoidToll = newValue
|
routingOptions.avoidToll = newValue
|
||||||
routingOptions.save()
|
routingOptions.save()
|
||||||
|
|
||||||
|
NotificationCenter.default.post(name: routingOptionsChangedNotificationName, object: nil)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -365,6 +371,8 @@ import Combine
|
|||||||
let routingOptions = RoutingOptions()
|
let routingOptions = RoutingOptions()
|
||||||
routingOptions.avoidDirty = newValue
|
routingOptions.avoidDirty = newValue
|
||||||
routingOptions.save()
|
routingOptions.save()
|
||||||
|
|
||||||
|
NotificationCenter.default.post(name: routingOptionsChangedNotificationName, object: nil)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -378,6 +386,8 @@ import Combine
|
|||||||
let routingOptions = RoutingOptions()
|
let routingOptions = RoutingOptions()
|
||||||
routingOptions.avoidFerry = newValue
|
routingOptions.avoidFerry = newValue
|
||||||
routingOptions.save()
|
routingOptions.save()
|
||||||
|
|
||||||
|
NotificationCenter.default.post(name: routingOptionsChangedNotificationName, object: nil)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -391,6 +401,8 @@ import Combine
|
|||||||
let routingOptions = RoutingOptions()
|
let routingOptions = RoutingOptions()
|
||||||
routingOptions.avoidMotorway = newValue
|
routingOptions.avoidMotorway = newValue
|
||||||
routingOptions.save()
|
routingOptions.save()
|
||||||
|
|
||||||
|
NotificationCenter.default.post(name: routingOptionsChangedNotificationName, object: nil)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user