diff options
author | Łukasz Paczos <lukas.paczos@gmail.com> | 2019-07-09 12:35:38 +0200 |
---|---|---|
committer | Łukasz Paczos <lukasz.paczos@mapbox.com> | 2019-07-11 11:02:24 +0200 |
commit | 348c437c0a3fb177dc53b2a0b0a64e422964b82f (patch) | |
tree | a10f675f9a33177e91c63fd431b2ff0668588122 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java | |
parent | 1c931e4006e669816d24b35897bd4c24a8993ae4 (diff) | |
download | qtlocation-mapboxgl-348c437c0a3fb177dc53b2a0b0a64e422964b82f.tar.gz |
[android] throw configuration exception when accessing Mapbox services with an invalid token
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java index 5a1c49a0a4..01c82ddad4 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java @@ -5,6 +5,7 @@ import android.content.Context; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.annotation.UiThread; + import com.mapbox.mapboxsdk.constants.MapboxConstants; import com.mapbox.mapboxsdk.exceptions.MapboxConfigurationException; import com.mapbox.mapboxsdk.log.Logger; @@ -87,6 +88,20 @@ public final class Mapbox { public static void setAccessToken(String accessToken) { validateMapbox(); INSTANCE.accessToken = accessToken; + + // cleanup telemetry which is dependent on an access token + if (INSTANCE.telemetry != null) { + INSTANCE.telemetry.disableTelemetrySession(); + INSTANCE.telemetry = null; + } + + // initialize components dependent on a token + if (isAccessTokenValid(accessToken)) { + initializeTelemetry(); + INSTANCE.accounts = new AccountsManager(); + } else { + INSTANCE.accounts = null; + } FileSource.getInstance(getApplicationContext()).setAccessToken(accessToken); } @@ -97,6 +112,13 @@ public final class Mapbox { * @return the SKU token */ public static String getSkuToken() { + if (INSTANCE.accounts == null) { + throw new MapboxConfigurationException( + "A valid access token parameter is required when using a Mapbox service." + + "\nPlease see https://www.mapbox.com/help/create-api-access-token/ to learn how to create one." + + "\nMore information in this guide https://www.mapbox.com/help/first-steps-android-sdk/#access-tokens." + + "Currently provided token is: " + INSTANCE.accessToken); + } return INSTANCE.accounts.getSkuToken(); } |