summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVacxe <aksenov.kostya@gmail.com>2016-03-25 20:34:52 +0300
committerTobrun <tobrun@mapbox.com>2016-04-08 10:08:47 +0200
commitaaafebddd81eb8d92b19f2f5a4f9e8a1bce9f683 (patch)
tree8e605a85354e5be97c15f6be22259541bc6d25eb
parentf3c64a4c95947768fd9a695744f9fe0965134c55 (diff)
downloadqtlocation-mapboxgl-aaafebddd81eb8d92b19f2f5a4f9e8a1bce9f683.tar.gz
[android] - supportMapFragment: Check KEY_META_DATA
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java24
1 files changed, 23 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java
index ffdb57de8c..30d2ffb67a 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java
@@ -1,9 +1,12 @@
package com.mapbox.mapboxsdk.maps;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
+import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -54,7 +57,26 @@ public class SupportMapFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
- MapboxMapOptions options = getArguments().getParcelable(MapboxConstants.FRAG_ARG_MAPBOXMAPOPTIONS);
+ MapboxMapOptions options = null;
+
+ Bundle bundle = getArguments();
+ if (bundle != null) {
+ options = bundle.getParcelable(MapboxConstants.FRAG_ARG_MAPBOXMAPOPTIONS);
+ }
+
+ if (options == null) {
+ try {
+ PackageManager packageManager = getActivity().getPackageManager();
+ ApplicationInfo appInfo = packageManager.getApplicationInfo(getActivity().getPackageName(), PackageManager.GET_META_DATA);
+ String token = appInfo.metaData.getString(MapboxConstants.KEY_META_DATA_MANIFEST);
+ if (TextUtils.isEmpty(token)) {
+ throw new IllegalArgumentException();
+ }
+ options = new MapboxMapOptions().accessToken(token);
+ } catch (PackageManager.NameNotFoundException e) {
+ e.printStackTrace();
+ }
+ }
return mMap = new MapView(inflater.getContext(), options);
}