diff options
author | Vacxe <aksenov.kostya@gmail.com> | 2016-03-25 20:34:52 +0300 |
---|---|---|
committer | Tobrun <tobrun@mapbox.com> | 2016-04-08 10:08:47 +0200 |
commit | aaafebddd81eb8d92b19f2f5a4f9e8a1bce9f683 (patch) | |
tree | 8e605a85354e5be97c15f6be22259541bc6d25eb | |
parent | f3c64a4c95947768fd9a695744f9fe0965134c55 (diff) | |
download | qtlocation-mapboxgl-aaafebddd81eb8d92b19f2f5a4f9e8a1bce9f683.tar.gz |
[android] - supportMapFragment: Check KEY_META_DATA
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java | 24 |
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); } |