[ios] Added recalculate route on route option changes

Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
This commit is contained in:
Yannik Bloscheck
2025-08-30 13:55:05 +02:00
committed by Yannik Bloscheck
parent 728d0ad806
commit 19e1c4b90e
2 changed files with 17 additions and 1 deletions

View File

@@ -146,6 +146,10 @@ char const *kRenderAltitudeImagesQueueLabel = "mapsme.mwmrouter.renderAltitudeIm
_canAutoAddLastLocation = YES;
_routingOptions = [MWMRoutingOptions new];
_isRestoreProcessCompleted = NO;
[NSNotificationCenter.defaultCenter addObserverForName:@"RoutingOptionsChanged" object:nil queue:nil usingBlock:^(NSNotification * _Nonnull notification) {
[MWMRouter updateRoute];
}];
}
return self;
}
@@ -570,7 +574,7 @@ char const *kRenderAltitudeImagesQueueLabel = "mapsme.mwmrouter.renderAltitudeIm
+ (void)updateRoute {
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];
}
}

View File

@@ -4,6 +4,10 @@ import Combine
@objc class Settings: NSObject {
// 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
static private let userDefaultsKeyHasShownSyncBetaAlert = "kUDDidShowICloudSynchronizationEnablingAlert"
@@ -352,6 +356,8 @@ import Combine
let routingOptions = RoutingOptions()
routingOptions.avoidToll = newValue
routingOptions.save()
NotificationCenter.default.post(name: routingOptionsChangedNotificationName, object: nil)
}
}
@@ -365,6 +371,8 @@ import Combine
let routingOptions = RoutingOptions()
routingOptions.avoidDirty = newValue
routingOptions.save()
NotificationCenter.default.post(name: routingOptionsChangedNotificationName, object: nil)
}
}
@@ -378,6 +386,8 @@ import Combine
let routingOptions = RoutingOptions()
routingOptions.avoidFerry = newValue
routingOptions.save()
NotificationCenter.default.post(name: routingOptionsChangedNotificationName, object: nil)
}
}
@@ -391,6 +401,8 @@ import Combine
let routingOptions = RoutingOptions()
routingOptions.avoidMotorway = newValue
routingOptions.save()
NotificationCenter.default.post(name: routingOptionsChangedNotificationName, object: nil)
}
}