From 28793458dc2fd857047fbddd91b87ea941253a03 Mon Sep 17 00:00:00 2001 From: tobrun Date: Tue, 14 May 2019 14:42:36 +0200 Subject: [android] - deprecate SupportMapFragment, reintegrate MapFragment to use support/androidx fragments --- .../com/mapbox/mapboxsdk/maps/MapFragment.java | 2 +- .../mapbox/mapboxsdk/maps/SupportMapFragment.java | 2 + .../src/main/AndroidManifest.xml | 11 --- .../activity/fragment/FragmentBackStackActivity.kt | 6 +- .../activity/fragment/MapFragmentActivity.java | 4 +- .../activity/fragment/NestedViewPagerActivity.kt | 9 +- .../fragment/SupportMapFragmentActivity.java | 96 ---------------------- .../testapp/activity/fragment/ViewPagerActivity.kt | 26 +++--- .../src/main/res/values/descriptions.xml | 1 - .../src/main/res/values/titles.xml | 1 - 10 files changed, 25 insertions(+), 133 deletions(-) delete mode 100644 platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/SupportMapFragmentActivity.java 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 8af9f2c6a8..2c067c733a 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,10 +1,10 @@ package com.mapbox.mapboxsdk.maps; -import android.app.Fragment; import android.content.Context; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; 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 011a0bdaa2..4abed82b46 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 @@ -28,7 +28,9 @@ import java.util.List; *

* * @see #getMapAsync(OnMapReadyCallback) + * @deprecated Starting with Android Pie, Android SDK fragments are deprecated. Use {@MapFragment} instead. */ +@Deprecated public class SupportMapFragment extends Fragment implements OnMapReadyCallback { private final List mapReadyCallbackList = new ArrayList<>(); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml index 18fbf33cc8..1bf4864794 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml @@ -160,17 +160,6 @@ android:name="android.support.PARENT_ACTIVITY" android:value=".activity.FeatureOverviewActivity" /> - - - - { options.camera(CameraPosition.Builder().target(LatLng(34.920526, 102.634774)).zoom(3.0).build()) - val fragment = SupportMapFragment.newInstance(options) + val fragment = MapFragment.newInstance(options) fragment.getMapAsync { mapboxMap -> mapboxMap.setStyle(Style.MAPBOX_STREETS) } return fragment } @@ -124,7 +123,7 @@ class NestedViewPagerActivity : AppCompatActivity() { } 2 -> { options.camera(CameraPosition.Builder().target(LatLng(62.326440, 92.764913)).zoom(3.0).build()) - val fragment = SupportMapFragment.newInstance(options) + val fragment = MapFragment.newInstance(options) fragment.getMapAsync { mapboxMap -> mapboxMap.setStyle(Style.DARK) } return fragment } 3 -> { @@ -132,7 +131,7 @@ class NestedViewPagerActivity : AppCompatActivity() { } 4 -> { options.camera(CameraPosition.Builder().target(LatLng(-25.007786, 133.623852)).zoom(3.0).build()) - val fragment = SupportMapFragment.newInstance(options) + val fragment = MapFragment.newInstance(options) fragment.getMapAsync { mapboxMap -> mapboxMap.setStyle(Style.SATELLITE) } return fragment } 5 -> { diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/SupportMapFragmentActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/SupportMapFragmentActivity.java deleted file mode 100644 index 7fd84bcd25..0000000000 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/SupportMapFragmentActivity.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.mapbox.mapboxsdk.testapp.activity.fragment; - -import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v7.app.AppCompatActivity; -import com.mapbox.mapboxsdk.camera.CameraPosition; -import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; -import com.mapbox.mapboxsdk.geometry.LatLng; -import com.mapbox.mapboxsdk.maps.MapFragment; -import com.mapbox.mapboxsdk.maps.MapView; -import com.mapbox.mapboxsdk.maps.MapboxMap; -import com.mapbox.mapboxsdk.maps.MapboxMapOptions; -import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; -import com.mapbox.mapboxsdk.maps.Style; -import com.mapbox.mapboxsdk.maps.SupportMapFragment; -import com.mapbox.mapboxsdk.testapp.R; - -/** - * Test activity showcasing using the MapFragment API using Support Library Fragments. - *

- * Uses MapboxMapOptions to initialise the Fragment. - *

- */ -public class SupportMapFragmentActivity extends AppCompatActivity implements MapFragment.OnMapViewReadyCallback, - OnMapReadyCallback, MapView.OnDidFinishRenderingFrameListener { - - private static final String TAG = "com.mapbox.map"; - private MapboxMap mapboxMap; - private MapView mapView; - private boolean initialCameraAnimation = true; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_map_fragment); - SupportMapFragment mapFragment; - if (savedInstanceState == null) { - mapFragment = SupportMapFragment.newInstance(createFragmentOptions()); - getSupportFragmentManager() - .beginTransaction() - .add(R.id.fragment_container, mapFragment, TAG) - .commit(); - } else { - mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentByTag(TAG); - } - mapFragment.getMapAsync(this); - - } - - private MapboxMapOptions createFragmentOptions() { - MapboxMapOptions options = new MapboxMapOptions(); - - options.scrollGesturesEnabled(false); - options.zoomGesturesEnabled(false); - options.tiltGesturesEnabled(false); - options.rotateGesturesEnabled(false); - options.debugActive(false); - - LatLng dc = new LatLng(38.90252, -77.02291); - - options.minZoomPreference(9); - options.maxZoomPreference(11); - options.camera(new CameraPosition.Builder() - .target(dc) - .zoom(11) - .build()); - return options; - } - - @Override - public void onMapViewReady(MapView map) { - mapView = map; - mapView.addOnDidFinishRenderingFrameListener(this); - } - - @Override - public void onMapReady(@NonNull MapboxMap map) { - mapboxMap = map; - mapboxMap.setStyle(Style.SATELLITE); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - mapView.removeOnDidFinishRenderingFrameListener(this); - } - - @Override - public void onDidFinishRenderingFrame(boolean fully) { - if (initialCameraAnimation && fully && mapboxMap != null) { - mapboxMap.animateCamera( - CameraUpdateFactory.newCameraPosition(new CameraPosition.Builder().tilt(45.0).build()), 5000); - initialCameraAnimation = false; - } - } -} \ No newline at end of file diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/ViewPagerActivity.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/ViewPagerActivity.kt index 77e2e1370d..c2c325e56f 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/ViewPagerActivity.kt +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/ViewPagerActivity.kt @@ -7,9 +7,9 @@ import android.support.v4.app.FragmentStatePagerAdapter import android.support.v7.app.AppCompatActivity import com.mapbox.mapboxsdk.camera.CameraPosition import com.mapbox.mapboxsdk.geometry.LatLng +import com.mapbox.mapboxsdk.maps.MapFragment import com.mapbox.mapboxsdk.maps.MapboxMapOptions import com.mapbox.mapboxsdk.maps.Style -import com.mapbox.mapboxsdk.maps.SupportMapFragment import com.mapbox.mapboxsdk.testapp.R import kotlinx.android.synthetic.main.activity_viewpager.* @@ -28,30 +28,30 @@ class ViewPagerActivity : AppCompatActivity() { super.onRestoreInstanceState(savedInstanceState) val currentPosition = viewPager.currentItem - var mapFragment: SupportMapFragment + var mapFragment: MapFragment if (Math.abs(0 - currentPosition) <= 1) { - mapFragment = viewPager.adapter?.instantiateItem(viewPager, 0) as SupportMapFragment + mapFragment = viewPager.adapter?.instantiateItem(viewPager, 0) as MapFragment mapFragment.getMapAsync { mapboxMap -> mapboxMap.setStyle(Style.MAPBOX_STREETS) } } if (Math.abs(1 - currentPosition) <= 1) { - mapFragment = viewPager.adapter?.instantiateItem(viewPager, 1) as SupportMapFragment + mapFragment = viewPager.adapter?.instantiateItem(viewPager, 1) as MapFragment mapFragment.getMapAsync { mapboxMap -> mapboxMap.setStyle(Style.DARK) } } if (Math.abs(2 - currentPosition) <= 1) { - mapFragment = viewPager.adapter?.instantiateItem(viewPager, 2) as SupportMapFragment + mapFragment = viewPager.adapter?.instantiateItem(viewPager, 2) as MapFragment mapFragment.getMapAsync { mapboxMap -> mapboxMap.setStyle(Style.SATELLITE) } } if (Math.abs(3 - currentPosition) <= 1) { - mapFragment = viewPager.adapter?.instantiateItem(viewPager, 3) as SupportMapFragment + mapFragment = viewPager.adapter?.instantiateItem(viewPager, 3) as MapFragment mapFragment.getMapAsync { mapboxMap -> mapboxMap.setStyle(Style.SATELLITE) } } if (Math.abs(4 - currentPosition) <= 1) { - mapFragment = viewPager.adapter?.instantiateItem(viewPager, 4) as SupportMapFragment + mapFragment = viewPager.adapter?.instantiateItem(viewPager, 4) as MapFragment mapFragment.getMapAsync { mapboxMap -> mapboxMap.setStyle(Style.SATELLITE) } } } @@ -63,34 +63,34 @@ class ViewPagerActivity : AppCompatActivity() { } override fun getItem(position: Int): Fragment? { - var fragment: SupportMapFragment? = null + var fragment: MapFragment? = null val options = MapboxMapOptions() options.textureMode(true) when (position) { 0 -> { options.camera(CameraPosition.Builder().target(LatLng(34.920526, 102.634774)).zoom(3.0).build()) - fragment = SupportMapFragment.newInstance(options) + fragment = MapFragment.newInstance(options) fragment.getMapAsync { mapboxMap -> mapboxMap.setStyle(Style.MAPBOX_STREETS) } } 1 -> { options.camera(CameraPosition.Builder().target(LatLng(62.326440, 92.764913)).zoom(3.0).build()) - fragment = SupportMapFragment.newInstance(options) + fragment = MapFragment.newInstance(options) fragment.getMapAsync { mapboxMap -> mapboxMap.setStyle(Style.DARK) } } 2 -> { options.camera(CameraPosition.Builder().target(LatLng(-25.007786, 133.623852)).zoom(3.0).build()) - fragment = SupportMapFragment.newInstance(options) + fragment = MapFragment.newInstance(options) fragment.getMapAsync { mapboxMap -> mapboxMap.setStyle(Style.SATELLITE) } } 3 -> { options.camera(CameraPosition.Builder().target(LatLng(62.326440, 92.764913)).zoom(3.0).build()) - fragment = SupportMapFragment.newInstance(options) + fragment = MapFragment.newInstance(options) fragment.getMapAsync { mapboxMap -> mapboxMap.setStyle(Style.LIGHT) } } 4 -> { options.camera(CameraPosition.Builder().target(LatLng(34.920526, 102.634774)).zoom(3.0).build()) - fragment = SupportMapFragment.newInstance(options) + fragment = MapFragment.newInstance(options) fragment.getMapAsync { mapboxMap -> mapboxMap.setStyle(Style.TRAFFIC_NIGHT) } } } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/descriptions.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/descriptions.xml index be8dae57a0..876645d110 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/descriptions.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/descriptions.xml @@ -4,7 +4,6 @@ Learn how to create a custom InfoWindow CameraPosition capabilities Showcase MapFragment - Showcase SupportMapFragment Showcase using a Map Fragment with a fragment backstack Activity with multiple maps on screen Add marker to map on long press diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/titles.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/titles.xml index 027198c71b..e14d8aa12f 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/titles.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/titles.xml @@ -1,6 +1,5 @@ - Support Map Fragment Map Fragment Backstack Map Fragment Multiple Maps on Screen -- cgit v1.2.1