diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml
index 57d0bbb39..e0de39162 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml
@@ -37,6 +37,10 @@
android:name="io.fabric.ApiKey"
android:value="9724157045ff7d083492c6d9ae03e60e8609d461" />
+
+
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 ec6baab75..a7bbc8adc 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
@@ -41,15 +41,7 @@ public class InfoWindowAdapterActivity extends AppCompatActivity {
}
mMapView = (MapView) findViewById(R.id.secondMapView);
- // Load the access token
- try {
- BufferedReader reader = new BufferedReader(new InputStreamReader(getResources().openRawResource(R.raw.token)));
- String line = reader.readLine();
- mMapView.setAccessToken(line);
- } catch (IOException e) {
- Log.e(TAG, "Error loading access token from token.txt: " + e.toString());
- }
-
+ mMapView.setAccessToken(Util.getAccessToken(this));
mMapView.onCreate(savedInstanceState);
mMapView.setStyleUrl(MapView.StyleUrls.EMERALD);
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 7b4e49514..36107abea 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
@@ -286,6 +286,9 @@ public class MainActivity extends AppCompatActivity {
startActivity(new Intent(getApplicationContext(), InfoWindowAdapterActivity.class));
return true;
+ case R.id.action_map_fragment:
+ startActivity(new Intent(getApplicationContext(), MapFragmentActivity.class));
+ return true;
/*
case R.id.followNone:
mMapView.setUserLocationTrackingMode(MapView.UserLocationTrackingMode.NONE);
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapFragment.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapFragment.java
index 766e0a309..1dc464536 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapFragment.java
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapFragment.java
@@ -9,6 +9,7 @@ import android.view.ViewGroup;
import com.mapbox.mapboxsdk.views.MapView;
+// TODO move this to SDK
public class MapFragment extends Fragment {
//
@@ -36,7 +37,10 @@ public class MapFragment extends Fragment {
Log.v(TAG, "onCreateView");
// Create the map
- mMap = (MapView) inflater.inflate(R.layout.fragment_main, container, true);
+ mMap = (MapView) inflater.inflate(R.layout.fragment_main, container, false);
+
+ // Set accessToken
+ mMap.setAccessToken(Util.getAccessToken(container.getContext()));
// Need to pass on any saved state to the map
mMap.onCreate(savedInstanceState);
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapFragmentActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapFragmentActivity.java
index 578908b94..b460378d1 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapFragmentActivity.java
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapFragmentActivity.java
@@ -1,11 +1,12 @@
package com.mapbox.mapboxsdk.testapp;
-import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
+import android.view.Gravity;
import android.view.View;
+import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.views.MapView;
public class MapFragmentActivity extends AppCompatActivity {
@@ -32,11 +33,16 @@ public class MapFragmentActivity extends AppCompatActivity {
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
- Context context = view.getContext();
- MapView map = getMap();
- map.setAccessToken(Util.getAccessToken(context));
- map.setStyleUrl(MapView.StyleUrls.EMERALD);
+ MapView mapView = getMap();
+ mapView.setStyleUrl(MapView.StyleUrls.EMERALD);
+ mapView.setZoomLevel(12);
+ mapView.setCenterCoordinate(new LatLng(50.853658, 4.352419));
+
+ // move attribution control to right of screen
+ mapView.setAttributionGravity(Gravity.BOTTOM | Gravity.END);
+ int tenDp = (int) getResources().getDimension(R.dimen.attr_margin);
+ mapView.setAttributionMargins(0, 0, tenDp, tenDp);
}
}
}
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 4f4a2a0da..deb26a5dd 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
@@ -1,6 +1,8 @@
package com.mapbox.mapboxsdk.testapp;
import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
import android.text.TextUtils;
import android.util.Log;
@@ -62,14 +64,35 @@ public class Util {
return sb.toString();
}
- public static String getAccessToken(final Context context){
- // Load the access token
+ // 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) {
- Log.e(TAG, "Error loading access token from token.txt: " + e.toString());
+ }catch (IOException e){
+ return null;
}
- return "";
}
}
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/fragment_main.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/fragment_main.xml
index a612b577f..22afd6e51 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/fragment_main.xml
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/fragment_main.xml
@@ -1,6 +1,5 @@
-
+
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/dimens.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/dimens.xml
index f76eef07c..ec0e973cb 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/dimens.xml
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/dimens.xml
@@ -1,4 +1,5 @@
16dp
+ 10dp