File tree Expand file tree Collapse file tree 5 files changed +42
-4
lines changed
libnavui-androidauto/src/main/java/com/mapbox/androidauto/navigation/audioguidance
src/main/java/com/mapbox/navigation/ui/voice/api
qa-test-app/src/main/java/com/mapbox/navigation/qa_test_app/testing Expand file tree Collapse file tree 5 files changed +42
-4
lines changed Original file line number Diff line number Diff line change @@ -7,7 +7,6 @@ import androidx.lifecycle.Lifecycle
77import androidx.lifecycle.LifecycleOwner
88import androidx.lifecycle.lifecycleScope
99import androidx.lifecycle.repeatOnLifecycle
10- import com.mapbox.androidauto.MapboxCarApp
1110import com.mapbox.navigation.ui.voice.api.MapboxAudioGuidance
1211import com.mapbox.navigation.ui.voice.api.MapboxAudioGuidanceState
1312import com.mapbox.navigation.ui.voice.view.MapboxSoundButton
Original file line number Diff line number Diff line change @@ -8,7 +8,6 @@ import androidx.core.graphics.drawable.IconCompat
88import androidx.lifecycle.Lifecycle
99import androidx.lifecycle.coroutineScope
1010import androidx.lifecycle.repeatOnLifecycle
11- import com.mapbox.androidauto.MapboxCarApp
1211import com.mapbox.androidauto.R
1312import com.mapbox.androidauto.car.MainActionStrip
1413import com.mapbox.androidauto.car.action.MapboxActionProvider
Original file line number Diff line number Diff line change @@ -22,13 +22,20 @@ package com.mapbox.navigation.ui.voice.api {
2222 }
2323
2424 public final class MapboxAudioGuidance implements com.mapbox.navigation.core.lifecycle.MapboxNavigationObserver {
25- ctor public MapboxAudioGuidance();
25+ method public static com.mapbox.navigation.ui.voice.api.MapboxAudioGuidance create();
26+ method public static com.mapbox.navigation.ui.voice.api.MapboxAudioGuidance getInstance();
2627 method public void mute();
2728 method public void onAttached(com.mapbox.navigation.core.MapboxNavigation mapboxNavigation);
2829 method public void onDetached(com.mapbox.navigation.core.MapboxNavigation mapboxNavigation);
2930 method public kotlinx.coroutines.flow.StateFlow<com.mapbox.navigation.ui.voice.api.MapboxAudioGuidanceState> stateFlow();
3031 method public void toggle();
3132 method public void unMute();
33+ field public static final com.mapbox.navigation.ui.voice.api.MapboxAudioGuidance.Companion Companion;
34+ }
35+
36+ public static final class MapboxAudioGuidance.Companion {
37+ method public com.mapbox.navigation.ui.voice.api.MapboxAudioGuidance create();
38+ method public com.mapbox.navigation.ui.voice.api.MapboxAudioGuidance getInstance();
3239 }
3340
3441 public final class MapboxAudioGuidanceState {
Original file line number Diff line number Diff line change @@ -200,9 +200,19 @@ internal constructor(
200200 booleanDataStoreKey(" audio_guidance_muted" , false )
201201 private const val DEFAULT_DATA_STORE_NAME = " mapbox_navigation_preferences"
202202
203+ /* *
204+ * Construct an instance without registering to [MapboxNavigationApp].
205+ */
206+ @JvmStatic
207+ fun create () = MapboxAudioGuidance (MapboxAudioGuidanceServices (), Dispatchers .Main )
208+
209+ /* *
210+ * Get the registered instance or create one and register it to [MapboxNavigationApp].
211+ */
212+ @JvmStatic
203213 fun getInstance (): MapboxAudioGuidance = MapboxNavigationApp
204214 .getObservers(MapboxAudioGuidance ::class )
205- .firstOrNull() ? : MapboxAudioGuidance ( MapboxAudioGuidanceServices (), Dispatchers . Main )
215+ .firstOrNull() ? : create( )
206216 .also { MapboxNavigationApp .registerObserver(it) }
207217 }
208218}
Original file line number Diff line number Diff line change 1+ package com .mapbox .navigation .qa_test_app .testing ;
2+
3+ import com .mapbox .navigation .core .lifecycle .MapboxNavigationApp ;
4+ import com .mapbox .navigation .ui .voice .api .MapboxAudioGuidance ;
5+
6+ import kotlinx .coroutines .CoroutineScope ;
7+
8+ class JavaInterfaceChecker {
9+
10+ void MapboxAudioGuidance (
11+ CoroutineScope coroutineScope
12+ ) {
13+ MapboxAudioGuidance sut = MapboxAudioGuidance .getInstance ();
14+ sut .mute ();
15+ sut .unMute ();
16+ sut .toggle ();
17+ MapboxNavigationApp .registerObserver (sut );
18+ MapboxNavigationApp .unregisterObserver (sut );
19+ JavaFlow .collect (sut .stateFlow (), coroutineScope , (enabled ) -> {
20+ // observe state
21+ });
22+ }
23+ }
You can’t perform that action at this time.
0 commit comments