summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk
diff options
context:
space:
mode:
authorTobrun <tobrun@mapbox.com>2016-02-01 16:45:41 +0100
committerTobrun <tobrun@mapbox.com>2016-02-02 08:18:41 +0100
commita699690c1689222f518b5d7adc0dfd059884ac49 (patch)
treeed3d6cac910f5fc5664d6a6c7a81f5e6510827ae /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk
parent7694eebe8837f45540687aea65301a83243d74f7 (diff)
downloadqtlocation-mapboxgl-a699690c1689222f518b5d7adc0dfd059884ac49.tar.gz
[android] #3759 - Add SupportMapFragment, test app integration, cleanup old fragment implementation
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java5
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapFragment.java22
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java104
3 files changed, 112 insertions, 19 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java
index 153a7d63c2..e9b654b627 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java
@@ -52,6 +52,11 @@ public class MapboxConstants {
*/
public static final double MINIMUM_DIRECTION = 0;
+ /**
+ * Fragment Argument Key for MapboxMapOptions
+ */
+ public static final String FRAG_ARG_MAPBOXMAPOPTIONS = "MapboxMapOptions";
+
// Save instance state keys
public static final String STATE_CAMERA_POSITION = "cameraPosition";
public static final String STATE_ZOOM_ENABLED = "zoomEnabled";
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapFragment.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapFragment.java
index 0802245f43..51834adb51 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapFragment.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapFragment.java
@@ -1,16 +1,15 @@
package com.mapbox.mapboxsdk.maps;
+import android.app.Fragment;
import android.os.Bundle;
import android.support.annotation.NonNull;
-import android.support.v4.app.Fragment;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.mapbox.mapboxsdk.R;
+import com.mapbox.mapboxsdk.constants.MapboxConstants;
import com.mapbox.mapboxsdk.utils.ApiAccess;
-import com.mapbox.mapboxsdk.maps.MapView;
/**
* Fragment wrapper around a {@link MapView}.
@@ -28,21 +27,6 @@ import com.mapbox.mapboxsdk.maps.MapView;
*/
public class MapFragment extends Fragment {
- //
- // Static members
- //
-
- // Tag used for logging
- private static final String TAG = "MapFragment";
-
- // Argument used for configuration
- private static final String ARGS_MAPBOXMAP_OPTIONS = "MapboxMapOptions";
-
- //
- // Instance members
- //
-
- // The map
private MapView mMap;
private OnMapReadyCallback mMapReadyCallback;
@@ -53,7 +37,7 @@ public class MapFragment extends Fragment {
public static MapFragment newInstance(MapboxMapOptions mapboxMapOptions) {
final MapFragment mapFragment = new MapFragment();
Bundle bundle = new Bundle();
- bundle.putParcelable(ARGS_MAPBOXMAP_OPTIONS, mapboxMapOptions);
+ bundle.putParcelable(MapboxConstants.FRAG_ARG_MAPBOXMAPOPTIONS, mapboxMapOptions);
mapFragment.setArguments(bundle);
return mapFragment;
}
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
new file mode 100644
index 0000000000..2b268777a0
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java
@@ -0,0 +1,104 @@
+package com.mapbox.mapboxsdk.maps;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.v4.app.Fragment;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.mapbox.mapboxsdk.R;
+import com.mapbox.mapboxsdk.constants.MapboxConstants;
+import com.mapbox.mapboxsdk.utils.ApiAccess;
+
+/**
+ * Fragment wrapper around a {@link MapView}.
+ * <p>
+ * A Map component in an app. This fragment is the simplest way to place a map in an application.
+ * It's a wrapper around a view of a map to automatically handle the necessary life cycle needs.
+ * Being a fragment, this component can be added to an activity's layout or can dynamically be added
+ * using a FragmentManager.
+ * </p>
+ * <p>
+ * To get a reference to the MapView, use {@link #getMapAsync(OnMapReadyCallback)}}
+ * </p>
+ *
+ * @see #getMapAsync(OnMapReadyCallback)
+ */
+public class SupportMapFragment extends Fragment {
+
+ private MapView mMap;
+ private OnMapReadyCallback mMapReadyCallback;
+
+ public static SupportMapFragment newInstance(){
+ return new SupportMapFragment();
+ }
+
+ public static SupportMapFragment newInstance(MapboxMapOptions mapboxMapOptions) {
+ final SupportMapFragment mapFragment = new SupportMapFragment();
+ Bundle bundle = new Bundle();
+ bundle.putParcelable(MapboxConstants.FRAG_ARG_MAPBOXMAPOPTIONS, mapboxMapOptions);
+ mapFragment.setArguments(bundle);
+ return mapFragment;
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ super.onCreateView(inflater, container, savedInstanceState);
+ mMap = (MapView) inflater.inflate(R.layout.fragment_mapview, container, false);
+ mMap.setAccessToken(ApiAccess.getToken(inflater.getContext()));
+ mMap.onCreate(savedInstanceState);
+ return mMap;
+ }
+
+ @Override
+ public void onStart() {
+ super.onStart();
+ mMap.onStart();
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ mMap.onResume();
+ if(mMapReadyCallback!=null){
+ mMapReadyCallback.onMapReady(mMap.getMapboxMap());
+ }
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ mMap.onPause();
+ }
+
+ @Override
+ public void onSaveInstanceState(@NonNull Bundle outState) {
+ mMap.onSaveInstanceState(outState);
+ super.onSaveInstanceState(outState);
+ }
+
+ @Override
+ public void onStop() {
+ super.onStop();
+ mMap.onStop();
+ }
+
+ @Override
+ public void onLowMemory() {
+ mMap.onLowMemory();
+ super.onLowMemory();
+ }
+
+ @Override
+ public void onDestroyView() {
+ super.onDestroyView();
+ mMap.onDestroy();
+ mMap = null;
+ }
+
+ @NonNull
+ public void getMapAsync(@NonNull OnMapReadyCallback onMapReadyCallback){
+ mMapReadyCallback = onMapReadyCallback;
+ }
+}