Skip to content

Commit 98f1081

Browse files
authored
Merge branch 'main' into rl/ios_flaky_tests_3_attemps
2 parents 7e0efe8 + c65dbc6 commit 98f1081

File tree

5 files changed

+43
-20
lines changed

5 files changed

+43
-20
lines changed

android/src/main/kotlin/com/mapbox/maps/mapbox_maps/mapping/LocationComponentMappings.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,11 @@ fun LocationComponentSettingsInterface2.applyFromFLT(settings: FLTSettings.Locat
5555
fun LocationComponentSettingsInterface2.toFLT() = FLTSettings.LocationComponentSettings.Builder().let { settings ->
5656
settings.setEnabled(enabled)
5757
settings.setPulsingEnabled(pulsingEnabled)
58-
settings.setPulsingColor(pulsingColor.toLong())
58+
settings.setPulsingColor(pulsingColor.toUInt().toLong())
5959
settings.setPulsingMaxRadius(pulsingMaxRadius.toDouble())
6060
settings.setShowAccuracyRing(showAccuracyRing)
61-
settings.setAccuracyRingColor(accuracyRingColor.toLong())
62-
settings.setAccuracyRingBorderColor(accuracyRingBorderColor.toLong())
61+
settings.setAccuracyRingColor(accuracyRingColor.toUInt().toLong())
62+
settings.setAccuracyRingBorderColor(accuracyRingBorderColor.toUInt().toLong())
6363
settings.setLayerAbove(layerAbove)
6464
settings.setLayerBelow(layerBelow)
6565
settings.setPuckBearingEnabled(puckBearingEnabled)

android/src/main/kotlin/com/mapbox/maps/mapbox_maps/mapping/ScaleBarMappings.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ fun ScaleBarSettingsInterface.toFLT() = FLTSettings.ScaleBarSettings.Builder().l
3434
settings.setMarginTop(marginTop.toDouble())
3535
settings.setMarginRight(marginRight.toDouble())
3636
settings.setMarginBottom(marginBottom.toDouble())
37-
settings.setTextColor(textColor.toLong())
38-
settings.setPrimaryColor(primaryColor.toLong())
39-
settings.setSecondaryColor(secondaryColor.toLong())
37+
settings.setTextColor(textColor.toUInt().toLong())
38+
settings.setPrimaryColor(primaryColor.toUInt().toLong())
39+
settings.setSecondaryColor(secondaryColor.toUInt().toLong())
4040
settings.setBorderWidth(borderWidth.toDouble())
4141
settings.setHeight(height.toDouble())
4242
settings.setTextBarMargin(textBarMargin.toDouble())

example/integration_test/location_test.dart

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,21 +54,19 @@ void main() {
5454

5555
final updatedSettings = await location.getSettings();
5656
expect(updatedSettings.enabled, settings.enabled);
57+
expect(updatedSettings.pulsingEnabled, settings.pulsingEnabled);
58+
expect(updatedSettings.pulsingMaxRadius, settings.pulsingMaxRadius);
59+
expect(updatedSettings.pulsingColor, settings.pulsingColor);
5760
if (Platform.isAndroid) {
58-
expect(updatedSettings.pulsingEnabled, settings.pulsingEnabled);
59-
expect(updatedSettings.pulsingMaxRadius, settings.pulsingMaxRadius);
60-
// FIXME colors are parsed incorrectly
61-
// expect(updatedSettings.pulsingColor, settings.pulsingColor);
6261
expect(updatedSettings.layerAbove, settings.layerAbove);
6362
expect(updatedSettings.layerBelow, settings.layerBelow);
6463
}
6564
expect(updatedSettings.puckBearingEnabled, settings.puckBearingEnabled);
6665
expect(updatedSettings.puckBearingSource, settings.puckBearingSource);
6766
expect(updatedSettings.showAccuracyRing, settings.showAccuracyRing);
6867
// FIXME bitmaps are decoded incorrectly for some reason
69-
// expect(updatedSettings.accuracyRingBorderColor,
70-
// settings.accuracyRingBorderColor);
71-
// expect(updatedSettings.accuracyRingColor, settings.accuracyRingColor);
68+
expect(updatedSettings.accuracyRingBorderColor, settings.accuracyRingBorderColor);
69+
expect(updatedSettings.accuracyRingColor, settings.accuracyRingColor);
7270
// expect(updatedSettings.locationPuck?.locationPuck2D?.bearingImage,
7371
// settings.locationPuck?.locationPuck2D?.bearingImage);
7472
// expect(updatedSettings.locationPuck?.locationPuck2D?.topImage,

example/integration_test/scale_bar_test.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,10 @@ void main() {
4747
expect(updatedSettings.marginTop, 2);
4848
expect(updatedSettings.marginRight, 3);
4949
expect(updatedSettings.marginBottom, 4);
50-
// FIXME colors are decoded incorrectly for some reason
51-
// expect(updatedSettings.textColor, Colors.black.value);
52-
// expect(updatedSettings.primaryColor, Colors.red.value);
53-
// expect(updatedSettings.secondaryColor, Colors.blue.value);
50+
// iOS doesn't support these settings
51+
expect(updatedSettings.textColor, Colors.black.value);
52+
expect(updatedSettings.primaryColor, Colors.red.value);
53+
expect(updatedSettings.secondaryColor, Colors.blue.value);
5454
expect(updatedSettings.borderWidth, 2);
5555
expect(updatedSettings.height, 10);
5656
expect(updatedSettings.textBarMargin, 1);

ios/Classes/LocationController.swift

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,18 @@ extension LocationOptions {
8484
if let showAccuracyRing = settings.showAccuracyRing {
8585
configuration.showsAccuracyRing = showAccuracyRing.boolValue
8686
}
87+
if settings.pulsingEnabled?.boolValue ?? false {
88+
var pulsing = Puck2DConfiguration.Pulsing()
89+
90+
if let radius = settings.pulsingMaxRadius?.intValue {
91+
// -1 indicates "accuracy" mode(from Android)
92+
pulsing.radius = radius == -1 ? .accuracy : .constant(Double(radius))
93+
}
94+
if let color = settings.pulsingColor?.intValue {
95+
pulsing.color = uiColorFromHex(rgbValue: color)
96+
}
97+
configuration.pulsing = pulsing
98+
}
8799

88100
options.puckType = .puck2D(configuration)
89101
}
@@ -102,6 +114,9 @@ extension LocationOptions {
102114
var accuracyRingColor: NSNumber?
103115
var accuracyRingBorderColor: NSNumber?
104116
var showAccuracyRing: NSNumber?
117+
var pulsingEnabled: NSNumber?
118+
var pulsingRadius: NSNumber?
119+
var pulsingColor: NSNumber?
105120
let locationPuck2D = FLT_SETTINGSLocationPuck2D.init()
106121
let locationPuck3D = FLT_SETTINGSLocationPuck3D.init()
107122
let locationPuck = FLT_SETTINGSLocationPuck.make(with: locationPuck2D, locationPuck3D: locationPuck3D)
@@ -123,6 +138,16 @@ extension LocationOptions {
123138
let encoded = try! JSONEncoder().encode(scaleData)
124139
locationPuck2D.scaleExpression = String(data: encoded, encoding: .utf8)
125140
}
141+
if let pulsing = oldConfiguration.pulsing {
142+
pulsingEnabled = NSNumber(value: true)
143+
switch pulsing.radius {
144+
case .accuracy:
145+
pulsingRadius = NSNumber(value: -1)
146+
case .constant(let radius):
147+
pulsingRadius = NSNumber(value: radius)
148+
}
149+
pulsingColor = NSNumber(value: pulsing.color.rgb())
150+
}
126151
}
127152
if case .puck3D(let oldConfiguration) = self.puckType {
128153
locationPuck3D.modelUri = oldConfiguration.model.uri?.absoluteString
@@ -144,9 +169,9 @@ extension LocationOptions {
144169

145170
return FLT_SETTINGSLocationComponentSettings.make(
146171
withEnabled: enabled,
147-
pulsingEnabled: nil,
148-
pulsingColor: nil,
149-
pulsingMaxRadius: nil,
172+
pulsingEnabled: pulsingEnabled,
173+
pulsingColor: pulsingColor,
174+
pulsingMaxRadius: pulsingRadius,
150175
showAccuracyRing: showAccuracyRing,
151176
accuracyRingColor: accuracyRingColor,
152177
accuracyRingBorderColor: accuracyRingBorderColor,

0 commit comments

Comments
 (0)