diff --git a/iphone/Maps/Classes/CarPlay/Template Builders/SettingsTemplateBuilder.swift b/iphone/Maps/Classes/CarPlay/Template Builders/SettingsTemplateBuilder.swift
index d53c10a9e..e0f994eb6 100644
--- a/iphone/Maps/Classes/CarPlay/Template Builders/SettingsTemplateBuilder.swift
+++ b/iphone/Maps/Classes/CarPlay/Template Builders/SettingsTemplateBuilder.swift
@@ -12,17 +12,18 @@ final class SettingsTemplateBuilder {
private class func buildGridButtons() -> [CPGridButton] {
let options = RoutingOptions()
- return [createUnpavedButton(options: options),
- createTollButton(options: options),
- createFerryButton(options: options),
+ return [createTollButton(options: options),
+ createUnpavedButton(options: options),
createPavedButton(options: options),
+ createMotorwayButton(options: options),
+ createFerryButton(options: options),
createStepsButton(options: options),
createSpeedcamButton()]
}
// MARK: - CPGridButton builders
private class func createTollButton(options: RoutingOptions) -> CPGridButton {
- var tollIconName = "options.tolls"
+ var tollIconName = "tolls.circle"
if options.avoidToll { tollIconName += ".slash" }
let configuration = UIImage.SymbolConfiguration(textStyle: .title1)
var image = UIImage(named: tollIconName, in: nil, with: configuration)!
@@ -40,7 +41,7 @@ final class SettingsTemplateBuilder {
}
private class func createUnpavedButton(options: RoutingOptions) -> CPGridButton {
- var unpavedIconName = "options.unpaved"
+ var unpavedIconName = "unpaved.circle"
if options.avoidDirty && !options.avoidPaved { unpavedIconName += ".slash" }
let configuration = UIImage.SymbolConfiguration(textStyle: .title1)
var image = UIImage(named: unpavedIconName, in: nil, with: configuration)!
@@ -62,7 +63,7 @@ final class SettingsTemplateBuilder {
}
private class func createPavedButton(options: RoutingOptions) -> CPGridButton {
- var pavedIconName = "options.paved"
+ var pavedIconName = "paved.circle"
if options.avoidPaved && !options.avoidDirty { pavedIconName += ".slash" }
let configuration = UIImage.SymbolConfiguration(textStyle: .title1)
var image = UIImage(named: pavedIconName, in: nil, with: configuration)!
@@ -82,9 +83,27 @@ final class SettingsTemplateBuilder {
pavedButton.isEnabled = !options.avoidDirty
return pavedButton
}
+
+ private class func createMotorwayButton(options: RoutingOptions) -> CPGridButton {
+ var motorwayIconName = "motorways.circle"
+ if options.avoidMotorway { motorwayIconName += ".slash" }
+ let configuration = UIImage.SymbolConfiguration(textStyle: .title1)
+ var image = UIImage(named: motorwayIconName, in: nil, with: configuration)!
+ if #unavailable(iOS 26) {
+ image = image.withTintColor(.white, renderingMode: .alwaysTemplate)
+ image = UIImage(data: image.pngData()!)!.withRenderingMode(.alwaysTemplate)
+ }
+ let motorwayButton = CPGridButton(titleVariants: [L("avoid_motorways")], image: image) { _ in
+ options.avoidMotorway = !options.avoidMotorway
+ options.save()
+ CarPlayService.shared.updateRouteAfterChangingSettings()
+ CarPlayService.shared.popTemplate(animated: true)
+ }
+ return motorwayButton
+ }
private class func createFerryButton(options: RoutingOptions) -> CPGridButton {
- var ferryIconName = "options.ferries"
+ var ferryIconName = "ferries.circle"
if options.avoidFerry { ferryIconName += ".slash" }
let configuration = UIImage.SymbolConfiguration(textStyle: .title1)
var image = UIImage(named: ferryIconName, in: nil, with: configuration)!
@@ -102,7 +121,7 @@ final class SettingsTemplateBuilder {
}
private class func createStepsButton(options: RoutingOptions) -> CPGridButton {
- var stepsIconName = "options.steps"
+ var stepsIconName = "steps.circle"
if options.avoidSteps { stepsIconName += ".slash" }
let configuration = UIImage.SymbolConfiguration(textStyle: .title1)
var image = UIImage(named: stepsIconName, in: nil, with: configuration)!
@@ -120,7 +139,7 @@ final class SettingsTemplateBuilder {
}
private class func createSpeedcamButton() -> CPGridButton {
- var speedcamIconName = "options.speedcamera"
+ var speedcamIconName = "speedcamera"
let isSpeedCamActivated = CarPlayService.shared.isSpeedCamActivated
if !isSpeedCamActivated { speedcamIconName += ".slash" }
let configuration = UIImage.SymbolConfiguration(textStyle: .title1)
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.speedcamera.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.circle.slash.symbolset/Contents.json
similarity index 72%
rename from iphone/Maps/Images.xcassets/Interface/Symbols/options.speedcamera.symbolset/Contents.json
rename to iphone/Maps/Images.xcassets/Interface/Symbols/ferries.circle.slash.symbolset/Contents.json
index f82351a08..665958db4 100644
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.speedcamera.symbolset/Contents.json
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.circle.slash.symbolset/Contents.json
@@ -5,7 +5,7 @@
},
"symbols" : [
{
- "filename" : "options.speedcamera.svg",
+ "filename" : "ferries.circle.slash.svg",
"idiom" : "universal"
}
]
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.circle.slash.symbolset/ferries.circle.slash.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.circle.slash.symbolset/ferries.circle.slash.svg
new file mode 100644
index 000000000..f9a291841
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.circle.slash.symbolset/ferries.circle.slash.svg
@@ -0,0 +1,121 @@
+
+
+
+
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.ferries.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.circle.symbolset/Contents.json
similarity index 74%
rename from iphone/Maps/Images.xcassets/Interface/Symbols/options.ferries.symbolset/Contents.json
rename to iphone/Maps/Images.xcassets/Interface/Symbols/ferries.circle.symbolset/Contents.json
index 7089b43ea..b1ac2ec98 100644
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.ferries.symbolset/Contents.json
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.circle.symbolset/Contents.json
@@ -5,7 +5,7 @@
},
"symbols" : [
{
- "filename" : "options.ferries.svg",
+ "filename" : "ferries.circle.svg",
"idiom" : "universal"
}
]
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.circle.symbolset/ferries.circle.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.circle.symbolset/ferries.circle.svg
new file mode 100644
index 000000000..c3e581e5e
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.circle.symbolset/ferries.circle.svg
@@ -0,0 +1,109 @@
+
+
+
+
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.steps.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.slash.symbolset/Contents.json
similarity index 75%
rename from iphone/Maps/Images.xcassets/Interface/Symbols/options.steps.symbolset/Contents.json
rename to iphone/Maps/Images.xcassets/Interface/Symbols/ferries.slash.symbolset/Contents.json
index 50bd67954..dad39a10e 100644
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.steps.symbolset/Contents.json
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.slash.symbolset/Contents.json
@@ -5,7 +5,7 @@
},
"symbols" : [
{
- "filename" : "options.steps.svg",
+ "filename" : "ferries.slash.svg",
"idiom" : "universal"
}
]
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.slash.symbolset/ferries.slash.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.slash.symbolset/ferries.slash.svg
new file mode 100644
index 000000000..bf8fe6a16
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.slash.symbolset/ferries.slash.svg
@@ -0,0 +1,115 @@
+
+
+
+
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.tolls.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.symbolset/Contents.json
similarity index 75%
rename from iphone/Maps/Images.xcassets/Interface/Symbols/options.tolls.symbolset/Contents.json
rename to iphone/Maps/Images.xcassets/Interface/Symbols/ferries.symbolset/Contents.json
index 96e38a308..e5cbc420c 100644
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.tolls.symbolset/Contents.json
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.symbolset/Contents.json
@@ -5,7 +5,7 @@
},
"symbols" : [
{
- "filename" : "options.tolls.svg",
+ "filename" : "ferries.svg",
"idiom" : "universal"
}
]
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.symbolset/ferries.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.symbolset/ferries.svg
new file mode 100644
index 000000000..89e988aa6
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/ferries.symbolset/ferries.svg
@@ -0,0 +1,103 @@
+
+
+
+
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.ferries.slash.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.circle.slash.symbolset/Contents.json
similarity index 71%
rename from iphone/Maps/Images.xcassets/Interface/Symbols/options.ferries.slash.symbolset/Contents.json
rename to iphone/Maps/Images.xcassets/Interface/Symbols/motorways.circle.slash.symbolset/Contents.json
index 1e1b4289e..712a5af04 100644
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.ferries.slash.symbolset/Contents.json
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.circle.slash.symbolset/Contents.json
@@ -5,7 +5,7 @@
},
"symbols" : [
{
- "filename" : "options.ferries.slash.svg",
+ "filename" : "motorways.circle.slash.svg",
"idiom" : "universal"
}
]
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.circle.slash.symbolset/motorways.circle.slash.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.circle.slash.symbolset/motorways.circle.slash.svg
new file mode 100644
index 000000000..b009bc5f1
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.circle.slash.symbolset/motorways.circle.slash.svg
@@ -0,0 +1,121 @@
+
+
+
+
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.circle.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.circle.symbolset/Contents.json
new file mode 100644
index 000000000..d32813535
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.circle.symbolset/Contents.json
@@ -0,0 +1,12 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "symbols" : [
+ {
+ "filename" : "motorways.circle.svg",
+ "idiom" : "universal"
+ }
+ ]
+}
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.unpaved.symbolset/options.unpaved.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.circle.symbolset/motorways.circle.svg
similarity index 69%
rename from iphone/Maps/Images.xcassets/Interface/Symbols/options.unpaved.symbolset/options.unpaved.svg
rename to iphone/Maps/Images.xcassets/Interface/Symbols/motorways.circle.symbolset/motorways.circle.svg
index 58db41dfb..9f72ae1e5 100644
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.unpaved.symbolset/options.unpaved.svg
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.circle.symbolset/motorways.circle.svg
@@ -7,16 +7,16 @@ PUBLIC "-//W3C//DTD SVG 1.1//EN"
@@ -61,8 +61,8 @@ PUBLIC "-//W3C//DTD SVG 1.1//EN"
Exporting
Symbols should be outlined when exporting to ensure the
design is preserved when submitting to Xcode.
- Template v.4.0
- Requires Xcode 14 or greater
+ Template v.7.0
+ Requires Xcode 17 or greater
Generated from circle
Typeset at 100.0 points
Small
@@ -94,16 +94,16 @@ PUBLIC "-//W3C//DTD SVG 1.1//EN"
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.slash.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.slash.symbolset/Contents.json
new file mode 100644
index 000000000..f59d7b28d
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.slash.symbolset/Contents.json
@@ -0,0 +1,12 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "symbols" : [
+ {
+ "filename" : "motorways.slash.svg",
+ "idiom" : "universal"
+ }
+ ]
+}
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.slash.symbolset/motorways.slash.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.slash.symbolset/motorways.slash.svg
new file mode 100644
index 000000000..4967532ed
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.slash.symbolset/motorways.slash.svg
@@ -0,0 +1,115 @@
+
+
+
+
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.paved.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.symbolset/Contents.json
similarity index 75%
rename from iphone/Maps/Images.xcassets/Interface/Symbols/options.paved.symbolset/Contents.json
rename to iphone/Maps/Images.xcassets/Interface/Symbols/motorways.symbolset/Contents.json
index 7f607e64f..bb9ced009 100644
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.paved.symbolset/Contents.json
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.symbolset/Contents.json
@@ -5,7 +5,7 @@
},
"symbols" : [
{
- "filename" : "options.paved.svg",
+ "filename" : "motorways.svg",
"idiom" : "universal"
}
]
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.symbolset/motorways.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.symbolset/motorways.svg
new file mode 100644
index 000000000..8434c6bf6
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/motorways.symbolset/motorways.svg
@@ -0,0 +1,103 @@
+
+
+
+
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.ferries.slash.symbolset/options.ferries.slash.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/options.ferries.slash.symbolset/options.ferries.slash.svg
deleted file mode 100644
index 5213f5bd3..000000000
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.ferries.slash.symbolset/options.ferries.slash.svg
+++ /dev/null
@@ -1,119 +0,0 @@
-
-
-
-
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.ferries.symbolset/options.ferries.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/options.ferries.symbolset/options.ferries.svg
deleted file mode 100644
index dcec8c8a8..000000000
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.ferries.symbolset/options.ferries.svg
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
-
-
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.speedcamera.slash.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/options.speedcamera.slash.symbolset/Contents.json
deleted file mode 100644
index b127896c6..000000000
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.speedcamera.slash.symbolset/Contents.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "info" : {
- "author" : "xcode",
- "version" : 1
- },
- "symbols" : [
- {
- "filename" : "options.speedcamera.slash.svg",
- "idiom" : "universal"
- }
- ]
-}
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.steps.slash.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/options.steps.slash.symbolset/Contents.json
deleted file mode 100644
index 9053da09a..000000000
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.steps.slash.symbolset/Contents.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "info" : {
- "author" : "xcode",
- "version" : 1
- },
- "symbols" : [
- {
- "filename" : "options.steps.slash.svg",
- "idiom" : "universal"
- }
- ]
-}
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.tolls.slash.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/options.tolls.slash.symbolset/Contents.json
deleted file mode 100644
index da4fc8459..000000000
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.tolls.slash.symbolset/Contents.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "info" : {
- "author" : "xcode",
- "version" : 1
- },
- "symbols" : [
- {
- "filename" : "options.tolls.slash.svg",
- "idiom" : "universal"
- }
- ]
-}
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.tolls.slash.symbolset/options.tolls.slash.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/options.tolls.slash.symbolset/options.tolls.slash.svg
deleted file mode 100644
index 341a100d6..000000000
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.tolls.slash.symbolset/options.tolls.slash.svg
+++ /dev/null
@@ -1,119 +0,0 @@
-
-
-
-
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.tolls.symbolset/options.tolls.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/options.tolls.symbolset/options.tolls.svg
deleted file mode 100644
index 76e907664..000000000
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.tolls.symbolset/options.tolls.svg
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
-
-
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.unpaved.slash.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/options.unpaved.slash.symbolset/Contents.json
deleted file mode 100644
index 7d635434e..000000000
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.unpaved.slash.symbolset/Contents.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "info" : {
- "author" : "xcode",
- "version" : 1
- },
- "symbols" : [
- {
- "filename" : "options.unpaved.slash.svg",
- "idiom" : "universal"
- }
- ]
-}
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.unpaved.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/options.unpaved.symbolset/Contents.json
deleted file mode 100644
index 5db8d3d41..000000000
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.unpaved.symbolset/Contents.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "info" : {
- "author" : "xcode",
- "version" : 1
- },
- "symbols" : [
- {
- "filename" : "options.unpaved.svg",
- "idiom" : "universal"
- }
- ]
-}
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/paved.circle.slash.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/paved.circle.slash.symbolset/Contents.json
new file mode 100644
index 000000000..b35c43635
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/paved.circle.slash.symbolset/Contents.json
@@ -0,0 +1,12 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "symbols" : [
+ {
+ "filename" : "paved.circle.slash.svg",
+ "idiom" : "universal"
+ }
+ ]
+}
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.paved.slash.symbolset/options.paved.slash.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/paved.circle.slash.symbolset/paved.circle.slash.svg
similarity index 68%
rename from iphone/Maps/Images.xcassets/Interface/Symbols/options.paved.slash.symbolset/options.paved.slash.svg
rename to iphone/Maps/Images.xcassets/Interface/Symbols/paved.circle.slash.symbolset/paved.circle.slash.svg
index 627459117..be047ccb7 100644
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.paved.slash.symbolset/options.paved.slash.svg
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/paved.circle.slash.symbolset/paved.circle.slash.svg
@@ -7,23 +7,22 @@ PUBLIC "-//W3C//DTD SVG 1.1//EN"
@@ -68,8 +67,8 @@ PUBLIC "-//W3C//DTD SVG 1.1//EN"
Exporting
Symbols should be outlined when exporting to ensure the
design is preserved when submitting to Xcode.
- Template v.4.0
- Requires Xcode 14 or greater
+ Template v.7.0
+ Requires Xcode 17 or greater
Generated from
Typeset at 100.0 points
Small
@@ -101,22 +100,22 @@ PUBLIC "-//W3C//DTD SVG 1.1//EN"
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/paved.circle.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/paved.circle.symbolset/Contents.json
new file mode 100644
index 000000000..40e239c42
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/paved.circle.symbolset/Contents.json
@@ -0,0 +1,12 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "symbols" : [
+ {
+ "filename" : "paved.circle.svg",
+ "idiom" : "universal"
+ }
+ ]
+}
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.paved.symbolset/options.paved.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/paved.circle.symbolset/paved.circle.svg
similarity index 77%
rename from iphone/Maps/Images.xcassets/Interface/Symbols/options.paved.symbolset/options.paved.svg
rename to iphone/Maps/Images.xcassets/Interface/Symbols/paved.circle.symbolset/paved.circle.svg
index 175f01cc9..2bb9905db 100644
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.paved.symbolset/options.paved.svg
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/paved.circle.symbolset/paved.circle.svg
@@ -7,16 +7,16 @@ PUBLIC "-//W3C//DTD SVG 1.1//EN"
@@ -61,8 +61,8 @@ PUBLIC "-//W3C//DTD SVG 1.1//EN"
Exporting
Symbols should be outlined when exporting to ensure the
design is preserved when submitting to Xcode.
- Template v.4.0
- Requires Xcode 14 or greater
+ Template v.7.0
+ Requires Xcode 17 or greater
Generated from circle
Typeset at 100.0 points
Small
@@ -94,16 +94,16 @@ PUBLIC "-//W3C//DTD SVG 1.1//EN"
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/paved.slash.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/paved.slash.symbolset/Contents.json
new file mode 100644
index 000000000..a3f253667
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/paved.slash.symbolset/Contents.json
@@ -0,0 +1,12 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "symbols" : [
+ {
+ "filename" : "paved.slash.svg",
+ "idiom" : "universal"
+ }
+ ]
+}
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/paved.slash.symbolset/paved.slash.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/paved.slash.symbolset/paved.slash.svg
new file mode 100644
index 000000000..3a749a1b2
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/paved.slash.symbolset/paved.slash.svg
@@ -0,0 +1,115 @@
+
+
+
+
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/paved.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/paved.symbolset/Contents.json
new file mode 100644
index 000000000..c9664ee5e
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/paved.symbolset/Contents.json
@@ -0,0 +1,12 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "symbols" : [
+ {
+ "filename" : "paved.svg",
+ "idiom" : "universal"
+ }
+ ]
+}
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/paved.symbolset/paved.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/paved.symbolset/paved.svg
new file mode 100644
index 000000000..6d73a2c53
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/paved.symbolset/paved.svg
@@ -0,0 +1,103 @@
+
+
+
+
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/speedcamera.circle.slash.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/speedcamera.circle.slash.symbolset/Contents.json
new file mode 100644
index 000000000..1ad8ef15b
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/speedcamera.circle.slash.symbolset/Contents.json
@@ -0,0 +1,12 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "symbols" : [
+ {
+ "filename" : "speedcamera.circle.slash.svg",
+ "idiom" : "universal"
+ }
+ ]
+}
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.speedcamera.slash.symbolset/options.speedcamera.slash.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/speedcamera.circle.slash.symbolset/speedcamera.circle.slash.svg
similarity index 74%
rename from iphone/Maps/Images.xcassets/Interface/Symbols/options.speedcamera.slash.symbolset/options.speedcamera.slash.svg
rename to iphone/Maps/Images.xcassets/Interface/Symbols/speedcamera.circle.slash.symbolset/speedcamera.circle.slash.svg
index 9b9f07a31..c573096b2 100644
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.speedcamera.slash.symbolset/options.speedcamera.slash.svg
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/speedcamera.circle.slash.symbolset/speedcamera.circle.slash.svg
@@ -4,21 +4,23 @@
PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/speedcamera.circle.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/speedcamera.circle.symbolset/Contents.json
new file mode 100644
index 000000000..c76fb99ac
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/speedcamera.circle.symbolset/Contents.json
@@ -0,0 +1,12 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "symbols" : [
+ {
+ "filename" : "speedcamera.circle.svg",
+ "idiom" : "universal"
+ }
+ ]
+}
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/options.speedcamera.symbolset/options.speedcamera.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/speedcamera.circle.symbolset/speedcamera.circle.svg
similarity index 75%
rename from iphone/Maps/Images.xcassets/Interface/Symbols/options.speedcamera.symbolset/options.speedcamera.svg
rename to iphone/Maps/Images.xcassets/Interface/Symbols/speedcamera.circle.symbolset/speedcamera.circle.svg
index 906b1e7e1..f116812df 100644
--- a/iphone/Maps/Images.xcassets/Interface/Symbols/options.speedcamera.symbolset/options.speedcamera.svg
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/speedcamera.circle.symbolset/speedcamera.circle.svg
@@ -4,15 +4,17 @@
PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.circle.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.circle.symbolset/Contents.json
new file mode 100644
index 000000000..12848f942
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.circle.symbolset/Contents.json
@@ -0,0 +1,12 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "symbols" : [
+ {
+ "filename" : "unpaved.circle.svg",
+ "idiom" : "universal"
+ }
+ ]
+}
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.circle.symbolset/unpaved.circle.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.circle.symbolset/unpaved.circle.svg
new file mode 100644
index 000000000..6014a3856
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.circle.symbolset/unpaved.circle.svg
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+ Weight/Scale Variations
+ Ultralight
+ Thin
+ Light
+ Regular
+ Medium
+ Semibold
+ Bold
+ Heavy
+ Black
+
+
+
+
+
+
+
+
+
+
+ Design Variations
+ Symbols are supported in up to nine weights and three scales.
+ For optimal layout with text and other symbols, vertically align
+ symbols with the adjacent text.
+
+
+
+
+
+ Margins
+ Leading and trailing margins on the left and right side of each symbol
+ can be adjusted by modifying the x-location of the margin guidelines.
+ Modifications are automatically applied proportionally to all
+ scales and weights.
+
+
+
+ Exporting
+ Symbols should be outlined when exporting to ensure the
+ design is preserved when submitting to Xcode.
+ Template v.7.0
+ Requires Xcode 17 or greater
+ Generated from circle
+ Typeset at 100.0 points
+ Small
+ Medium
+ Large
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.slash.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.slash.symbolset/Contents.json
new file mode 100644
index 000000000..d99a746b1
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.slash.symbolset/Contents.json
@@ -0,0 +1,12 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "symbols" : [
+ {
+ "filename" : "unpaved.slash.svg",
+ "idiom" : "universal"
+ }
+ ]
+}
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.slash.symbolset/unpaved.slash.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.slash.symbolset/unpaved.slash.svg
new file mode 100644
index 000000000..f09b604a8
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.slash.symbolset/unpaved.slash.svg
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
+ Weight/Scale Variations
+ Ultralight
+ Thin
+ Light
+ Regular
+ Medium
+ Semibold
+ Bold
+ Heavy
+ Black
+
+
+
+
+
+
+
+
+
+
+ Design Variations
+ Symbols are supported in up to nine weights and three scales.
+ For optimal layout with text and other symbols, vertically align
+ symbols with the adjacent text.
+
+
+
+
+
+ Margins
+ Leading and trailing margins on the left and right side of each symbol
+ can be adjusted by modifying the x-location of the margin guidelines.
+ Modifications are automatically applied proportionally to all
+ scales and weights.
+
+
+
+ Exporting
+ Symbols should be outlined when exporting to ensure the
+ design is preserved when submitting to Xcode.
+ Template v.7.0
+ Requires Xcode 17 or greater
+ Generated from
+ Typeset at 100.0 points
+ Small
+ Medium
+ Large
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.symbolset/Contents.json
new file mode 100644
index 000000000..e02a2993b
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.symbolset/Contents.json
@@ -0,0 +1,12 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "symbols" : [
+ {
+ "filename" : "unpaved.svg",
+ "idiom" : "universal"
+ }
+ ]
+}
diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.symbolset/unpaved.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.symbolset/unpaved.svg
new file mode 100644
index 000000000..e9e580d0b
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Interface/Symbols/unpaved.symbolset/unpaved.svg
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+ Weight/Scale Variations
+ Ultralight
+ Thin
+ Light
+ Regular
+ Medium
+ Semibold
+ Bold
+ Heavy
+ Black
+
+
+
+
+
+
+
+
+
+
+ Design Variations
+ Symbols are supported in up to nine weights and three scales.
+ For optimal layout with text and other symbols, vertically align
+ symbols with the adjacent text.
+
+
+
+
+
+ Margins
+ Leading and trailing margins on the left and right side of each symbol
+ can be adjusted by modifying the x-location of the margin guidelines.
+ Modifications are automatically applied proportionally to all
+ scales and weights.
+
+
+
+ Exporting
+ Symbols should be outlined when exporting to ensure the
+ design is preserved when submitting to Xcode.
+ Template v.7.0
+ Requires Xcode 17 or greater
+ Generated from unpaved
+ Typeset at 100.0 points
+ Small
+ Medium
+ Large
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/iphone/Maps/UI/Routing/RoutingOptionsView.swift b/iphone/Maps/UI/Routing/RoutingOptionsView.swift
index 2270f3a93..66c957794 100644
--- a/iphone/Maps/UI/Routing/RoutingOptionsView.swift
+++ b/iphone/Maps/UI/Routing/RoutingOptionsView.swift
@@ -37,25 +37,67 @@ struct RoutingOptionsView: View {
NavigationView {
List {
Section {
- Toggle("avoid_tolls", isOn: $shouldAvoidTollRoadsWhileRouting)
- .tint(.accent)
+ Toggle(isOn: $shouldAvoidTollRoadsWhileRouting) {
+ Label {
+ Text("avoid_tolls")
+ } icon: {
+ Image(shouldAvoidTollRoadsWhileRouting ? "tolls.slash" : "tolls")
+ .foregroundStyle(.secondary)
+ }
+ }
+ .tint(.accent)
- Toggle("avoid_unpaved", isOn: $shouldAvoidUnpavedRoadsWhileRouting)
- .tint(.accent)
- .disabled(shouldAvoidPavedRoadsWhileRouting)
+ Toggle(isOn: $shouldAvoidUnpavedRoadsWhileRouting) {
+ Label {
+ Text("avoid_unpaved")
+ } icon: {
+ Image(shouldAvoidUnpavedRoadsWhileRouting ? "unpaved.slash" : "unpaved")
+ .foregroundStyle(.secondary)
+ }
+ }
+ .tint(.accent)
+ .disabled(shouldAvoidPavedRoadsWhileRouting)
- Toggle("avoid_ferry", isOn: $shouldAvoidFerriesWhileRouting)
- .tint(.accent)
+ Toggle(isOn: $shouldAvoidPavedRoadsWhileRouting) {
+ Label {
+ Text("avoid_paved")
+ } icon: {
+ Image(shouldAvoidPavedRoadsWhileRouting ? "paved.slash" : "paved")
+ .foregroundStyle(.secondary)
+ }
+ }
+ .tint(.accent)
+ .disabled(shouldAvoidUnpavedRoadsWhileRouting)
- Toggle("avoid_motorways", isOn: $shouldAvoidMotorwaysWhileRouting)
- .tint(.accent)
+ Toggle(isOn: $shouldAvoidMotorwaysWhileRouting) {
+ Label {
+ Text("avoid_motorways")
+ } icon: {
+ Image(shouldAvoidMotorwaysWhileRouting ? "motorways.slash" : "motorways")
+ .foregroundStyle(.secondary)
+ }
+ }
+ .tint(.accent)
- Toggle("avoid_steps", isOn: $shouldAvoidStepsWhileRouting)
- .tint(.accent)
+ Toggle(isOn: $shouldAvoidFerriesWhileRouting) {
+ Label {
+ Text("avoid_ferry")
+ } icon: {
+ Image(shouldAvoidFerriesWhileRouting ? "ferries.slash" : "ferries")
+ .foregroundStyle(.secondary)
+ }
+ }
+ .tint(.accent)
- Toggle("avoid_paved", isOn: $shouldAvoidPavedRoadsWhileRouting)
- .tint(.accent)
- .disabled(shouldAvoidUnpavedRoadsWhileRouting)
+ Toggle(isOn: $shouldAvoidStepsWhileRouting) {
+ Label {
+ Text("avoid_steps")
+ } icon: {
+ Image(shouldAvoidStepsWhileRouting ? "steps.slash" : "steps")
+ .foregroundStyle(.secondary)
+ }
+ }
+ .tint(.accent)
}
}
.navigationTitle(String(localized: "driving_options_title"))
diff --git a/iphone/Maps/UI/Settings/SettingsNavigationView.swift b/iphone/Maps/UI/Settings/SettingsNavigationView.swift
index 98fe54f18..cba30f6fd 100644
--- a/iphone/Maps/UI/Settings/SettingsNavigationView.swift
+++ b/iphone/Maps/UI/Settings/SettingsNavigationView.swift
@@ -148,25 +148,67 @@ struct SettingsNavigationView: View {
.id(forceRefreshDate)
Section {
- Toggle("avoid_tolls", isOn: $shouldAvoidTollRoadsWhileRouting)
- .tint(.accent)
+ Toggle(isOn: $shouldAvoidTollRoadsWhileRouting) {
+ Label {
+ Text("avoid_tolls")
+ } icon: {
+ Image(shouldAvoidTollRoadsWhileRouting ? "tolls.slash" : "tolls")
+ .foregroundStyle(.secondary)
+ }
+ }
+ .tint(.accent)
- Toggle("avoid_unpaved", isOn: $shouldAvoidUnpavedRoadsWhileRouting)
- .tint(.accent)
- .disabled(shouldAvoidPavedRoadsWhileRouting)
+ Toggle(isOn: $shouldAvoidUnpavedRoadsWhileRouting) {
+ Label {
+ Text("avoid_unpaved")
+ } icon: {
+ Image(shouldAvoidUnpavedRoadsWhileRouting ? "unpaved.slash" : "unpaved")
+ .foregroundStyle(.secondary)
+ }
+ }
+ .tint(.accent)
+ .disabled(shouldAvoidPavedRoadsWhileRouting)
- Toggle("avoid_ferry", isOn: $shouldAvoidFerriesWhileRouting)
- .tint(.accent)
+ Toggle(isOn: $shouldAvoidPavedRoadsWhileRouting) {
+ Label {
+ Text("avoid_paved")
+ } icon: {
+ Image(shouldAvoidPavedRoadsWhileRouting ? "paved.slash" : "paved")
+ .foregroundStyle(.secondary)
+ }
+ }
+ .tint(.accent)
+ .disabled(shouldAvoidUnpavedRoadsWhileRouting)
- Toggle("avoid_motorways", isOn: $shouldAvoidMotorwaysWhileRouting)
- .tint(.accent)
+ Toggle(isOn: $shouldAvoidMotorwaysWhileRouting) {
+ Label {
+ Text("avoid_motorways")
+ } icon: {
+ Image(shouldAvoidMotorwaysWhileRouting ? "motorways.slash" : "motorways")
+ .foregroundStyle(.secondary)
+ }
+ }
+ .tint(.accent)
- Toggle("avoid_steps", isOn: $shouldAvoidStepsWhileRouting)
- .tint(.accent)
+ Toggle(isOn: $shouldAvoidFerriesWhileRouting) {
+ Label {
+ Text("avoid_ferry")
+ } icon: {
+ Image(shouldAvoidFerriesWhileRouting ? "ferries.slash" : "ferries")
+ .foregroundStyle(.secondary)
+ }
+ }
+ .tint(.accent)
- Toggle("avoid_paved", isOn: $shouldAvoidPavedRoadsWhileRouting)
- .tint(.accent)
- .disabled(shouldAvoidUnpavedRoadsWhileRouting)
+ Toggle(isOn: $shouldAvoidStepsWhileRouting) {
+ Label {
+ Text("avoid_steps")
+ } icon: {
+ Image(shouldAvoidStepsWhileRouting ? "steps.slash" : "steps")
+ .foregroundStyle(.secondary)
+ }
+ }
+ .tint(.accent)
} header: {
Text("driving_options_title")
}