diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2015-10-08 10:06:33 +0200 |
---|---|---|
committer | Brad Leege <bleege@gmail.com> | 2015-10-08 11:36:04 -0500 |
commit | fd45a206ec16e82daea0e33ad9ea1590694dc86a (patch) | |
tree | 454616ed68b5053f55f7c72bc389ec8ea6e3e451 /android | |
parent | bd41ae1deb5879e8207bafcfbf0ad153a0a6232e (diff) | |
download | qtlocation-mapboxgl-fd45a206ec16e82daea0e33ad9ea1590694dc86a.tar.gz |
[android] #2462 refactored ApiAccess token setup
Diffstat (limited to 'android')
6 files changed, 52 insertions, 35 deletions
diff --git a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java index 30bc470f02..3cd542bb17 100644 --- a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java +++ b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java @@ -7,4 +7,7 @@ public class MapboxConstants { // Default Locale for data processing (ex: String.toLowerCase(MAPBOX_LOCALE, "foo")) public static final Locale MAPBOX_LOCALE = Locale.US; + // Key used to store access token in AndroidManifest.xml + public static final String KEY_META_DATA_MANIFEST = "com.mapbox.AccessToken"; + } diff --git a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/ApiAccess.java b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/ApiAccess.java new file mode 100644 index 0000000000..bec77f7ff0 --- /dev/null +++ b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/ApiAccess.java @@ -0,0 +1,44 @@ +package com.mapbox.mapboxsdk.utils; + +import android.content.Context; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.support.annotation.NonNull; +import android.text.TextUtils; + +import com.mapbox.mapboxsdk.R; +import com.mapbox.mapboxsdk.constants.MapboxConstants; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class ApiAccess { + + public static String getToken(@NonNull Context context) { + String accessToken = getReleaseToken(context); + if (TextUtils.isEmpty(accessToken)) { + accessToken = getDevelopmentToken(context); + } + return accessToken; + } + + private static String getReleaseToken(@NonNull Context context){ + try { + PackageManager packageManager = context.getPackageManager(); + ApplicationInfo appInfo = packageManager.getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA); + return appInfo.metaData.getString(MapboxConstants.KEY_META_DATA_MANIFEST); + } catch (Exception e) { + return null; + } + } + + private static String getDevelopmentToken(@NonNull Context context) { + try { + BufferedReader reader = new BufferedReader(new InputStreamReader(context.getResources().openRawResource(R.raw.token))); + return reader.readLine(); + }catch (IOException e){ + return null; + } + } +} diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml index e0de39162f..dfd43694ff 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml @@ -38,7 +38,7 @@ android:value="9724157045ff7d083492c6d9ae03e60e8609d461" /> <meta-data - android:name="com.mapbox.accessToken" + android:name="com.mapbox.AccessToken" android:value="" /> </application> diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/InfoWindowAdapterActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/InfoWindowAdapterActivity.java index 6c77bf9515..08311c9689 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/InfoWindowAdapterActivity.java +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/InfoWindowAdapterActivity.java @@ -12,6 +12,7 @@ import android.widget.TextView; import com.mapbox.mapboxsdk.annotations.Marker; import com.mapbox.mapboxsdk.annotations.MarkerOptions; import com.mapbox.mapboxsdk.geometry.LatLng; +import com.mapbox.mapboxsdk.utils.ApiAccess; import com.mapbox.mapboxsdk.views.MapView; public class InfoWindowAdapterActivity extends AppCompatActivity { @@ -35,7 +36,7 @@ public class InfoWindowAdapterActivity extends AppCompatActivity { } mMapView = (MapView) findViewById(R.id.secondMapView); - mMapView.setAccessToken(Util.getAccessToken(this)); + mMapView.setAccessToken(ApiAccess.getToken(this)); mMapView.onCreate(savedInstanceState); mMapView.setStyleUrl(MapView.StyleUrls.MAPBOX_STREETS); mMapView.setInfoWindowAdapter(new MapView.InfoWindowAdapter() { diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java index 36107abea5..99a8a0073a 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java @@ -30,6 +30,7 @@ import com.mapbox.mapboxsdk.annotations.MarkerOptions; import com.mapbox.mapboxsdk.annotations.PolygonOptions; import com.mapbox.mapboxsdk.annotations.PolylineOptions; import com.mapbox.mapboxsdk.geometry.LatLng; +import com.mapbox.mapboxsdk.utils.ApiAccess; import com.mapbox.mapboxsdk.views.MapView; import io.fabric.sdk.android.Fabric; @@ -100,7 +101,7 @@ public class MainActivity extends AppCompatActivity { } mMapView = (MapView) findViewById(R.id.mainMapView); - mMapView.setAccessToken(Util.getAccessToken(this)); + mMapView.setAccessToken(ApiAccess.getToken(this)); mMapView.onCreate(savedInstanceState); mMapView.setOnFpsChangedListener(new MyOnFpsChangedListener()); diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/Util.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/Util.java index deb26a5dd6..d284246210 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/Util.java +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/Util.java @@ -63,36 +63,4 @@ public class Util { } return sb.toString(); } - - // TODO move this to SDK - public static String getAccessToken(Context context) { - String accessToken = getReleaseAccessToken(context); - if (TextUtils.isEmpty(accessToken)) { - accessToken = getDevelopmentAccessToken(context); - } - // TODO add validation + throw exception - return accessToken; - } - - // TODO move this to SDK - private static String getReleaseAccessToken(Context context){ - try { - PackageManager packageManager = context.getPackageManager(); - ApplicationInfo appInfo = packageManager.getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA); - return appInfo.metaData.getString("com.mapbox.accessToken"); - } catch (Exception e) { - Log.e(TAG, "Failed to load AccessToken: " + e.getMessage()); - return null; - } - } - - // TODO move this to SDK - private static String getDevelopmentAccessToken(Context context) { - try { - BufferedReader reader = new BufferedReader(new InputStreamReader(context.getResources().openRawResource(R.raw.token))); - return reader.readLine(); - }catch (IOException e){ - return null; - } - } } |