@@ -20,38 +20,53 @@ fun Location.toRnLocation(): RNLocation =
2020 elapsedRealtimeNanos = elapsedRealtimeNanos.toDouble(),
2121 bearingAccuracyDegrees =
2222 when {
23- Build .VERSION .SDK_INT >= Build .VERSION_CODES .O ->
24- bearingAccuracyDegrees.toDouble()
25-
26- else -> null
23+ Build .VERSION .SDK_INT < Build .VERSION_CODES .O -> null
24+ else ->
25+ try {
26+ if (hasBearingAccuracy()) bearingAccuracyDegrees.toDouble() else null
27+ } catch (_: IllegalStateException ) {
28+ null
29+ }
2730 },
2831 speedAccuracyMetersPerSecond =
2932 when {
30- Build .VERSION .SDK_INT >= Build .VERSION_CODES .O ->
31- speedAccuracyMetersPerSecond.toDouble()
32-
33- else -> null
33+ Build .VERSION .SDK_INT < Build .VERSION_CODES .O -> null
34+ else ->
35+ try {
36+ if (hasSpeedAccuracy()) speedAccuracyMetersPerSecond.toDouble() else null
37+ } catch (_: IllegalStateException ) {
38+ null
39+ }
3440 },
3541 verticalAccuracyMeters =
3642 when {
37- Build .VERSION .SDK_INT >= Build .VERSION_CODES .O ->
38- verticalAccuracyMeters.toDouble()
39-
40- else -> null
43+ Build .VERSION .SDK_INT < Build .VERSION_CODES .O -> null
44+ else ->
45+ try {
46+ if (hasVerticalAccuracy()) verticalAccuracyMeters.toDouble() else null
47+ } catch (_: IllegalStateException ) {
48+ null
49+ }
4150 },
4251 mslAltitudeMeters =
4352 when {
44- Build .VERSION .SDK_INT >= Build .VERSION_CODES .UPSIDE_DOWN_CAKE ->
45- mslAltitudeMeters
46-
47- else -> null
53+ Build .VERSION .SDK_INT < Build .VERSION_CODES .UPSIDE_DOWN_CAKE -> null
54+ else ->
55+ try {
56+ if (hasMslAltitude()) mslAltitudeMeters else null
57+ } catch (_: IllegalStateException ) {
58+ null
59+ }
4860 },
4961 mslAltitudeAccuracyMeters =
5062 when {
51- Build .VERSION .SDK_INT >= Build .VERSION_CODES .UPSIDE_DOWN_CAKE ->
52- mslAltitudeAccuracyMeters.toDouble()
53-
54- else -> null
63+ Build .VERSION .SDK_INT < Build .VERSION_CODES .UPSIDE_DOWN_CAKE -> null
64+ else ->
65+ try {
66+ if (hasMslAltitude()) mslAltitudeAccuracyMeters.toDouble() else null
67+ } catch (_: IllegalStateException ) {
68+ null
69+ }
5570 },
5671 isMock =
5772 when {
0 commit comments