Skip to content

Commit 1f2fea3

Browse files
committed
update from comments
1 parent 8859bdc commit 1f2fea3

File tree

5 files changed

+20
-29
lines changed

5 files changed

+20
-29
lines changed

libnavigation-core/api/current.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1025,7 +1025,6 @@ package com.mapbox.navigation.core.telemetry.events {
10251025
package com.mapbox.navigation.core.trip {
10261026

10271027
@com.mapbox.navigation.base.ExperimentalPreviewMapboxNavigationAPI public final class MapboxTripStarter implements com.mapbox.navigation.core.lifecycle.MapboxNavigationObserver {
1028-
method public static com.mapbox.navigation.core.trip.MapboxTripStarter create();
10291028
method public com.mapbox.navigation.core.trip.MapboxTripStarterOptions getOptions();
10301029
method public static com.mapbox.navigation.core.trip.MapboxTripStarter getRegisteredInstance();
10311030
method public void onAttached(com.mapbox.navigation.core.MapboxNavigation mapboxNavigation);
@@ -1036,7 +1035,6 @@ package com.mapbox.navigation.core.trip {
10361035
}
10371036

10381037
public static final class MapboxTripStarter.Companion {
1039-
method public com.mapbox.navigation.core.trip.MapboxTripStarter create();
10401038
method public com.mapbox.navigation.core.trip.MapboxTripStarter getRegisteredInstance();
10411039
}
10421040

libnavigation-core/src/main/java/com/mapbox/navigation/core/trip/MapboxTripStarter.kt

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ import kotlinx.coroutines.launch
2525
* permissions change, so you must notify it of changes. It will check location permissions upon
2626
* attach. The location permissions are not required for replay sessions.
2727
*
28-
* In order to share the state between an App and Android Auto, it is recommended to make this
29-
* class a singleton. That will be done automatically if you use [getRegisteredInstance].
28+
* In order to share the state between an App and Android Auto, the instance of this class should
29+
* be shared. That will be done automatically if you use [getRegisteredInstance].
3030
*/
3131
@ExperimentalPreviewMapboxNavigationAPI
32-
class MapboxTripStarter private constructor() : MapboxNavigationObserver {
32+
class MapboxTripStarter internal constructor() : MapboxNavigationObserver {
3333

3434
private val optionsFlow = MutableStateFlow(MapboxTripStarterOptions.Builder().build())
3535
private var replayRouteTripSession: ReplayRouteSession? = null
@@ -106,7 +106,7 @@ class MapboxTripStarter private constructor() : MapboxNavigationObserver {
106106
if (granted && !PermissionsManager.areLocationPermissionsGranted(context)) {
107107
error(
108108
"updateLocationPermissions can only be set to true when location permissions" +
109-
" have been accepted."
109+
" are granted."
110110
)
111111
}
112112
}
@@ -154,18 +154,12 @@ class MapboxTripStarter private constructor() : MapboxNavigationObserver {
154154

155155
companion object {
156156

157-
/**
158-
* Construct an instance without registering to [MapboxNavigationApp].
159-
*/
160-
@JvmStatic
161-
fun create() = MapboxTripStarter()
162-
163157
/**
164158
* Get the registered instance or create one and register it to [MapboxNavigationApp].
165159
*/
166160
@JvmStatic
167161
fun getRegisteredInstance(): MapboxTripStarter = MapboxNavigationApp
168162
.getObservers(MapboxTripStarter::class)
169-
.firstOrNull() ?: create().also { MapboxNavigationApp.registerObserver(it) }
163+
.firstOrNull() ?: MapboxTripStarter().also { MapboxNavigationApp.registerObserver(it) }
170164
}
171165
}

libnavigation-core/src/test/java/com/mapbox/navigation/core/trip/MapboxTripStarterTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import org.junit.Test
1616
@OptIn(ExperimentalPreviewMapboxNavigationAPI::class)
1717
class MapboxTripStarterTest {
1818

19-
private val sut = MapboxTripStarter.create()
19+
private val sut = MapboxTripStarter()
2020

2121
@Before
2222
fun setup() {

libnavui-dropin/src/test/java/com/mapbox/navigation/dropin/navigationview/MapboxNavigationViewApiTest.kt

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package com.mapbox.navigation.dropin.navigationview
22

33
import com.mapbox.geojson.Point
4+
import com.mapbox.navigation.base.ExperimentalPreviewMapboxNavigationAPI
45
import com.mapbox.navigation.base.route.NavigationRoute
6+
import com.mapbox.navigation.core.MapboxNavigation
7+
import com.mapbox.navigation.core.lifecycle.MapboxNavigationApp
58
import com.mapbox.navigation.dropin.NavigationViewApiErrorTypes
69
import com.mapbox.navigation.dropin.util.TestStore
710
import com.mapbox.navigation.ui.app.internal.Reducer
@@ -19,7 +22,7 @@ import io.mockk.every
1922
import io.mockk.mockk
2023
import io.mockk.mockkObject
2124
import io.mockk.spyk
22-
import io.mockk.unmockkObject
25+
import io.mockk.unmockkAll
2326
import io.mockk.verify
2427
import org.junit.After
2528
import org.junit.Assert.assertEquals
@@ -54,6 +57,9 @@ class MapboxNavigationViewApiTest {
5457
}
5558
)
5659

60+
mockkObject(MapboxNavigationApp)
61+
every { MapboxNavigationApp.current() } returns null
62+
5763
mockkObject(MapboxAudioGuidance.Companion)
5864
every { MapboxAudioGuidance.getRegisteredInstance() } returns audioGuidance
5965

@@ -62,7 +68,7 @@ class MapboxNavigationViewApiTest {
6268

6369
@After
6470
fun cleanUp() {
65-
unmockkObject(MapboxAudioGuidance.Companion)
71+
unmockkAll()
6672
}
6773

6874
@Test
@@ -325,14 +331,15 @@ class MapboxNavigationViewApiTest {
325331
assertEquals(NavigationViewApiErrorTypes.InvalidRoutesInfo, result.error?.type)
326332
}
327333

334+
@OptIn(ExperimentalPreviewMapboxNavigationAPI::class)
328335
@Test
329336
fun `isReplayEnabled should return true when replay trip session is enabled `() {
337+
val mapboxNavigation = mockk<MapboxNavigation>()
338+
every { MapboxNavigationApp.current() } returns mapboxNavigation
339+
340+
every { mapboxNavigation.isReplayEnabled() } returns false
330341
assertFalse(sut.isReplayEnabled())
331-
testStore.updateState {
332-
it.copy(
333-
tripSession = it.tripSession.copy(isReplayRouteEnabled = true)
334-
)
335-
}
342+
every { mapboxNavigation.isReplayEnabled() } returns true
336343
assertTrue(sut.isReplayEnabled())
337344
}
338345

libnavui-dropin/src/test/java/com/mapbox/navigation/dropin/permission/LocationPermissionComponentTest.kt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import com.mapbox.android.core.permissions.PermissionsManager
1212
import com.mapbox.navigation.core.MapboxNavigation
1313
import com.mapbox.navigation.dropin.util.TestStore
1414
import com.mapbox.navigation.testing.MainCoroutineRule
15-
import com.mapbox.navigation.ui.app.internal.State
1615
import com.mapbox.navigation.ui.app.internal.tripsession.TripSessionStarterAction
1716
import io.mockk.every
1817
import io.mockk.mockk
@@ -175,13 +174,6 @@ class LocationPermissionComponentTest {
175174
componentActivity,
176175
testStore
177176
)
178-
testStore.setState(
179-
State(
180-
tripSession = mockk {
181-
every { isLocationPermissionGranted } returns false
182-
}
183-
)
184-
)
185177
every { PermissionsManager.areLocationPermissionsGranted(any()) } returns false
186178

187179
locationPermissionComponent.onAttached(mockMapboxNavigation())

0 commit comments

Comments
 (0)