Skip to content

Commit 276bdc6

Browse files
DzmitryFomchyngithub-actions[bot]
authored andcommitted
Use fresh tokens (#9170)
* Fix RoutingTilesOptions doc * Remove token from RouteShieldToDownload * Remove token from MapboxEvSearchClientFactory * Fix GeoDeeplinkGeocoding, CarPlaceSearchOptions GitOrigin-RevId: 1b5315e8035f5aa50a2e872ad169f2e50abf6555
1 parent c06cab4 commit 276bdc6

File tree

12 files changed

+85
-42
lines changed

12 files changed

+85
-42
lines changed

androidauto/api/current.txt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,8 @@ package com.mapbox.navigation.ui.androidauto.action {
9191
package com.mapbox.navigation.ui.androidauto.deeplink {
9292

9393
public final class GeoDeeplinkGeocoding {
94-
ctor public GeoDeeplinkGeocoding(String accessToken);
94+
ctor @Deprecated public GeoDeeplinkGeocoding(String accessToken);
95+
ctor public GeoDeeplinkGeocoding();
9596
method public void cancel();
9697
method public com.mapbox.api.geocoding.v5.MapboxGeocoding? getCurrentMapboxGeocoding();
9798
method public suspend Object? requestPlaces(com.mapbox.navigation.core.geodeeplink.GeoDeeplink geoDeeplink, com.mapbox.geojson.Point origin, kotlin.coroutines.Continuation<? super com.mapbox.api.geocoding.v5.models.GeocodingResponse>);
@@ -843,14 +844,14 @@ package com.mapbox.navigation.ui.androidauto.screenmanager.factories {
843844
package com.mapbox.navigation.ui.androidauto.search {
844845

845846
public final class CarPlaceSearchOptions {
846-
method public String? getAccessToken();
847+
method @Deprecated public String? getAccessToken();
847848
method public com.mapbox.navigation.ui.androidauto.search.CarPlaceSearchOptions.Builder toBuilder();
848-
property public final String? accessToken;
849+
property @Deprecated public final String? accessToken;
849850
}
850851

851852
public static final class CarPlaceSearchOptions.Builder {
852853
ctor public CarPlaceSearchOptions.Builder();
853-
method public com.mapbox.navigation.ui.androidauto.search.CarPlaceSearchOptions.Builder accessToken(String? accessToken);
854+
method @Deprecated public com.mapbox.navigation.ui.androidauto.search.CarPlaceSearchOptions.Builder accessToken(String? accessToken);
854855
method public com.mapbox.navigation.ui.androidauto.search.CarPlaceSearchOptions build();
855856
}
856857

androidauto/src/main/java/com/mapbox/navigation/ui/androidauto/deeplink/GeoDeeplinkGeocoding.kt

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.mapbox.navigation.ui.androidauto.deeplink
33
import com.mapbox.api.geocoding.v5.GeocodingCriteria
44
import com.mapbox.api.geocoding.v5.MapboxGeocoding
55
import com.mapbox.api.geocoding.v5.models.GeocodingResponse
6+
import com.mapbox.common.MapboxOptions
67
import com.mapbox.geojson.Point
78
import com.mapbox.navigation.core.geodeeplink.GeoDeeplink
89
import kotlinx.coroutines.Dispatchers
@@ -15,11 +16,17 @@ import retrofit2.Call
1516
import retrofit2.Callback
1617
import retrofit2.Response
1718

18-
class GeoDeeplinkGeocoding(
19-
private val accessToken: String,
19+
class GeoDeeplinkGeocoding private constructor(
20+
private val accessTokenWrapper: AccessTokenWrapper,
2021
) {
22+
2123
var currentMapboxGeocoding: MapboxGeocoding? = null
2224

25+
@Deprecated("Access Token should not be cached. Use constructor without parameters")
26+
constructor(accessToken: String) : this(AccessTokenWrapper.Predefined(accessToken))
27+
28+
constructor() : this(AccessTokenWrapper.Default)
29+
2330
suspend fun requestPlaces(
2431
geoDeeplink: GeoDeeplink,
2532
origin: Point,
@@ -30,15 +37,15 @@ class GeoDeeplinkGeocoding(
3037
currentMapboxGeocoding = when {
3138
point != null -> {
3239
MapboxGeocoding.builder()
33-
.accessToken(accessToken)
40+
.accessToken(accessTokenWrapper.getLatestToken())
3441
.query(point)
3542
.proximity(origin)
3643
.geocodingTypes(GeocodingCriteria.TYPE_ADDRESS)
3744
.build()
3845
}
3946
placeQuery != null -> {
4047
MapboxGeocoding.builder()
41-
.accessToken(accessToken)
48+
.accessToken(accessTokenWrapper.getLatestToken())
4249
.query(placeQuery)
4350
.proximity(origin)
4451
.build()
@@ -77,4 +84,17 @@ class GeoDeeplinkGeocoding(
7784
cancelCall()
7885
}
7986
}
87+
88+
private sealed class AccessTokenWrapper {
89+
90+
fun getLatestToken(): String {
91+
return when (this) {
92+
is Predefined -> accessToken
93+
is Default -> MapboxOptions.accessToken
94+
}
95+
}
96+
97+
data class Predefined(val accessToken: String) : AccessTokenWrapper()
98+
object Default : AccessTokenWrapper()
99+
}
80100
}

androidauto/src/main/java/com/mapbox/navigation/ui/androidauto/deeplink/GeoDeeplinkNavigateAction.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.mapbox.navigation.ui.androidauto.deeplink
22

33
import android.content.Intent
4-
import com.mapbox.common.MapboxOptions
54
import com.mapbox.navigation.base.ExperimentalPreviewMapboxNavigationAPI
65
import com.mapbox.navigation.core.geodeeplink.GeoDeeplink
76
import com.mapbox.navigation.core.geodeeplink.GeoDeeplinkParser
@@ -23,7 +22,7 @@ class GeoDeeplinkNavigateAction(val mapboxCarContext: MapboxCarContext) {
2322
): Boolean {
2423
logAndroidAuto("GeoDeeplinkNavigateAction preparePlacesListOnMapScreen")
2524
mapboxCarContext.geoDeeplinkPlacesProvider = GeoDeeplinkPlacesListOnMapProvider(
26-
GeoDeeplinkGeocoding(MapboxOptions.accessToken),
25+
GeoDeeplinkGeocoding(),
2726
geoDeeplink,
2827
)
2928
MapboxScreenManager.push(MapboxScreen.GEO_DEEPLINK)

androidauto/src/main/java/com/mapbox/navigation/ui/androidauto/search/CarPlaceSearchOptions.kt

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package com.mapbox.navigation.ui.androidauto.search
22

3-
import com.mapbox.navigation.base.options.NavigationOptions
4-
53
/**
64
* Options for the Car Mapbox Place Search.
75
*
8-
* @param accessToken place search access token. If null the navigation access token is used.
6+
* @param accessToken place search access token.
7+
* No longer in use. The search component now uses the default MapboxOptions.accessToken
98
*/
109
class CarPlaceSearchOptions private constructor(
10+
@Deprecated(
11+
"No longer in use. The search component now uses the default MapboxOptions.accessToken",
12+
)
1113
val accessToken: String?,
1214
) {
1315
/**
@@ -52,9 +54,12 @@ class CarPlaceSearchOptions private constructor(
5254
private var accessToken: String? = null
5355

5456
/**
55-
* Override the Mapbox Search access token. If null, the access token provided to
56-
* [NavigationOptions.accessToken] will be used.
57+
* Override the Mapbox Search access token.
58+
* No longer in use. The search component now uses the default MapboxOptions.accessToken
5759
*/
60+
@Deprecated(
61+
"No longer in use. The search component now uses the default MapboxOptions.accessToken",
62+
)
5863
fun accessToken(accessToken: String?) = apply {
5964
this.accessToken = accessToken
6065
}

base/api/current.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -537,9 +537,11 @@ package com.mapbox.navigation.base.options {
537537

538538
public final class LocationOptions {
539539
method public com.mapbox.common.location.DeviceLocationProviderFactory? getLocationProviderFactory();
540+
method public String getLocationProviderSource();
540541
method public String getLocationProviderType();
541542
method public com.mapbox.common.location.LocationProviderRequest getRequest();
542543
property public final com.mapbox.common.location.DeviceLocationProviderFactory? locationProviderFactory;
544+
property public final String locationProviderSource;
543545
property public final String locationProviderType;
544546
property public final com.mapbox.common.location.LocationProviderRequest request;
545547
field public static final com.mapbox.navigation.base.options.LocationOptions.Companion Companion;
@@ -548,6 +550,7 @@ package com.mapbox.navigation.base.options {
548550
public static final class LocationOptions.Builder {
549551
ctor public LocationOptions.Builder();
550552
method public com.mapbox.navigation.base.options.LocationOptions build();
553+
method public com.mapbox.navigation.base.options.LocationOptions.Builder defaultLocationProviderSource(String locationProviderSource);
551554
method public com.mapbox.navigation.base.options.LocationOptions.Builder locationProviderFactory(com.mapbox.common.location.DeviceLocationProviderFactory locationProviderFactory, @com.mapbox.navigation.base.options.LocationOptions.LocationProviderType.Type String locationProviderType);
552555
method public com.mapbox.navigation.base.options.LocationOptions.Builder request(com.mapbox.common.location.LocationProviderRequest request);
553556
}
@@ -557,6 +560,19 @@ package com.mapbox.navigation.base.options {
557560
property public final com.mapbox.common.location.LocationProviderRequest! DEFAULT_REQUEST;
558561
}
559562

563+
@kotlin.jvm.JvmInline public static final value class LocationOptions.LocationProviderSource {
564+
field public static final com.mapbox.navigation.base.options.LocationOptions.LocationProviderSource.Companion Companion;
565+
}
566+
567+
public static final class LocationOptions.LocationProviderSource.Companion {
568+
method public String getBEST();
569+
method public String getFUSED();
570+
method public String getGPS();
571+
property public final String BEST;
572+
property public final String FUSED;
573+
property public final String GPS;
574+
}
575+
560576
public static final class LocationOptions.LocationProviderType {
561577
field public static final com.mapbox.navigation.base.options.LocationOptions.LocationProviderType INSTANCE;
562578
field public static final String MIXED = "MIXED";

base/src/main/java/com/mapbox/navigation/base/options/RoutingTilesOptions.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.mapbox.navigation.base.options
22

33
import com.mapbox.common.TileStore
4-
import com.mapbox.common.TileStoreOptions
54
import com.mapbox.navigation.base.ExperimentalMapboxNavigationAPI
65
import java.net.URI
76

@@ -24,9 +23,7 @@ import java.net.URI
2423
* @param tileStore tile store instance. It manages downloads and storage for requests to
2524
* tile-related API endpoints. For offline/predictive-caching use cases this instance should be
2625
* the same that is passed to map resource options, see [MapboxMapsOptions.tileStore].
27-
* When creating the [TileStore] make sure to call [TileStore.setOption] with
28-
* [TileStoreOptions.MAPBOX_ACCESS_TOKEN] and your token. By default (if `null` is provided here),
29-
* the [TileStore] will be created with a [filePath] and [NavigationOptions.accessToken].
26+
* By default (if `null` is provided here), the [TileStore] will be created with a [filePath].
3027
* @param minDaysBetweenServerAndLocalTilesVersion is the minimum time in days between local version of tiles
3128
* and latest on the server to consider using the latest version of routing tiles from the server.
3229
* **As updating tiles frequently consumes considerably energy and bandwidth**.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
- ⚠️ Breaking changes in Experimental API. `MapboxEvSearchClientFactory.#getInstance()` no longer accepts access token as a parameter. The default `MapboxOptions.accessToken` will be used.
2+
- `CarPlaceSearchOptions.accessToken` and corresponding builder function has been deprecated because `accessToken` is no longer in use as the search component now uses the default `MapboxOptions.accessToken`.

navigation/src/main/java/com/mapbox/navigation/core/lifecycle/RequireMapboxNavigation.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ import kotlin.reflect.KProperty
4242
* ) {
4343
* MapboxNavigationApp.setup(
4444
* NavigationOptions.Builder(this)
45-
* .accessToken(accessToken)
4645
* .build()
4746
* )
4847
* }

tripdata/src/main/java/com/mapbox/navigation/tripdata/maneuver/api/MapboxManeuverApi.kt

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import com.mapbox.api.directions.v5.models.DirectionsRoute
66
import com.mapbox.api.directions.v5.models.RouteLeg
77
import com.mapbox.bindgen.Expected
88
import com.mapbox.bindgen.ExpectedFactory
9-
import com.mapbox.common.MapboxOptions
109
import com.mapbox.navigation.base.formatter.DistanceFormatter
1110
import com.mapbox.navigation.base.route.NavigationRoute
1211
import com.mapbox.navigation.base.trip.model.RouteLegProgress
@@ -195,15 +194,13 @@ class MapboxManeuverApi internal constructor(
195194
maneuvers: List<Maneuver>,
196195
shieldCallback: RouteShieldCallback,
197196
) {
198-
val accessToken = MapboxOptions.accessToken
199197
mainJobController.scope.launch {
200198
val shields = mutableListOf<Expected<RouteShieldError, RouteShieldResult>>()
201199
maneuvers.forEach { maneuver ->
202200
routeShieldApi.getRouteShieldsFromModels(
203201
maneuver.primary.componentList.findShieldsToDownload(
204202
userId = userId,
205203
styleId = styleId,
206-
accessToken = accessToken,
207204
),
208205
).let { results ->
209206
shields.addAll(results)
@@ -213,7 +210,6 @@ class MapboxManeuverApi internal constructor(
213210
secondary.componentList.findShieldsToDownload(
214211
userId = userId,
215212
styleId = styleId,
216-
accessToken = accessToken,
217213
),
218214
).let { results ->
219215
shields.addAll(results)
@@ -224,7 +220,6 @@ class MapboxManeuverApi internal constructor(
224220
sub.componentList.findShieldsToDownload(
225221
userId = userId,
226222
styleId = styleId,
227-
accessToken = accessToken,
228223
),
229224
).let { results ->
230225
shields.addAll(results)
@@ -243,7 +238,6 @@ class MapboxManeuverApi internal constructor(
243238
}
244239

245240
private fun List<Component>.findShieldsToDownload(
246-
accessToken: String,
247241
userId: String? = null,
248242
styleId: String? = null,
249243
): List<RouteShieldToDownload> {
@@ -262,7 +256,6 @@ class MapboxManeuverApi internal constructor(
262256
userId = userId,
263257
styleId = styleId,
264258
),
265-
accessToken = accessToken,
266259
mapboxShield = mapboxShield,
267260
legacyFallback = legacy,
268261
)

tripdata/src/main/java/com/mapbox/navigation/tripdata/shield/api/MapboxRouteShieldApi.kt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package com.mapbox.navigation.tripdata.shield.api
33
import android.graphics.Bitmap
44
import com.mapbox.api.directions.v5.models.BannerComponents
55
import com.mapbox.api.directions.v5.models.MapboxShield
6-
import com.mapbox.common.MapboxOptions
76
import com.mapbox.navigation.base.road.model.Road
87
import com.mapbox.navigation.base.road.model.RoadComponent
98
import com.mapbox.navigation.tripdata.shield.RoadShieldContentManagerContainer
@@ -94,11 +93,9 @@ class MapboxRouteShieldApi {
9493
styleId: String?,
9594
callback: RouteShieldCallback,
9695
) {
97-
val accessToken = MapboxOptions.accessToken
9896
val routeShieldToDownload = mutableListOf<RouteShieldToDownload>()
9997
routeShieldToDownload.addAll(
10098
bannerComponents?.findShieldsToDownload(
101-
accessToken = accessToken,
10299
userId = userId,
103100
styleId = styleId,
104101
) ?: emptyList(),
@@ -189,7 +186,6 @@ class MapboxRouteShieldApi {
189186
val routeShieldToDownload = roadComponents.findShieldsToDownloadFromRoadComponent(
190187
userId = userId,
191188
styleId = styleId,
192-
accessToken = MapboxOptions.accessToken,
193189
)
194190
getRouteShieldsInternal(routeShieldToDownload, callback)
195191
}
@@ -217,7 +213,6 @@ class MapboxRouteShieldApi {
217213
private fun List<BannerComponents>.findShieldsToDownload(
218214
userId: String?,
219215
styleId: String?,
220-
accessToken: String,
221216
): List<RouteShieldToDownload> {
222217
return this.mapNotNull { component ->
223218
if (component.type() == BannerComponents.ICON) {
@@ -237,7 +232,6 @@ class MapboxRouteShieldApi {
237232
userId = userId,
238233
styleId = styleId,
239234
),
240-
accessToken = accessToken,
241235
mapboxShield = mapboxShield,
242236
legacyFallback = legacy,
243237
)
@@ -253,7 +247,6 @@ class MapboxRouteShieldApi {
253247
}
254248

255249
private fun List<RoadComponent>.findShieldsToDownloadFromRoadComponent(
256-
accessToken: String,
257250
userId: String?,
258251
styleId: String?,
259252
): List<RouteShieldToDownload> {
@@ -272,7 +265,6 @@ class MapboxRouteShieldApi {
272265
userId = userId,
273266
styleId = styleId,
274267
),
275-
accessToken = accessToken,
276268
mapboxShield = roadComponent.shield!!,
277269
legacyFallback = legacy,
278270
)

0 commit comments

Comments
 (0)