summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java
diff options
context:
space:
mode:
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.java22
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();
}