diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main')
5 files changed, 78 insertions, 123 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml index fbba6a4927..cec5bd879b 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml @@ -176,7 +176,7 @@ android:label="@string/activity_map_fragment_backstack"> <meta-data android:name="@string/category" - android:value="@string/category_fragment" /> + android:value="@string/category_integration" /> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".activity.FeatureOverviewActivity" /> @@ -399,7 +399,7 @@ android:label="@string/activity_viewpager"> <meta-data android:name="@string/category" - android:value="@string/category_fragment" /> + android:value="@string/category_integration" /> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".activity.FeatureOverviewActivity" /> @@ -900,7 +900,7 @@ android:label="@string/activity_recyclerview_textureview"> <meta-data android:name="@string/category" - android:value="@string/category_maplayout" /> + android:value="@string/category_integration" /> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".activity.FeatureOverviewActivity" /> @@ -911,7 +911,7 @@ android:label="@string/activity_recyclerview_glsurfaceview"> <meta-data android:name="@string/category" - android:value="@string/category_maplayout" /> + android:value="@string/category_integration" /> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".activity.FeatureOverviewActivity" /> @@ -922,7 +922,7 @@ android:label="@string/activity_nested_viewpager"> <meta-data android:name="@string/category" - android:value="@string/category_fragment" /> + android:value="@string/category_integration" /> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".activity.FeatureOverviewActivity" /> diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/ViewPagerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/ViewPagerActivity.java deleted file mode 100644 index c494842b14..0000000000 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/ViewPagerActivity.java +++ /dev/null @@ -1,117 +0,0 @@ -package com.mapbox.mapboxsdk.testapp.activity.fragment; - -import android.os.Bundle; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentStatePagerAdapter; -import android.support.v4.view.ViewPager; -import android.support.v7.app.AppCompatActivity; - -import com.mapbox.mapboxsdk.camera.CameraPosition; -import com.mapbox.mapboxsdk.geometry.LatLng; -import com.mapbox.mapboxsdk.maps.MapboxMapOptions; -import com.mapbox.mapboxsdk.maps.Style; -import com.mapbox.mapboxsdk.maps.SupportMapFragment; -import com.mapbox.mapboxsdk.testapp.R; - -/** - * Test activity showcasing using the Android SDK ViewPager API to show MapFragments. - */ -public class ViewPagerActivity extends AppCompatActivity { - - private ViewPager viewPager; - private MapFragmentAdapter adapter; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_viewpager); - - viewPager = (ViewPager) findViewById(R.id.viewpager); - if (viewPager != null) { - adapter = new MapFragmentAdapter(getSupportFragmentManager()); - viewPager.setAdapter(adapter); - } - } - - @Override - protected void onRestoreInstanceState(Bundle savedInstanceState) { - super.onRestoreInstanceState(savedInstanceState); - - int currentPosition = viewPager.getCurrentItem(); - SupportMapFragment mapFragment; - - if (Math.abs(0 - currentPosition) <= 1) { - mapFragment = (SupportMapFragment) adapter.instantiateItem(viewPager, 0); - mapFragment.getMapAsync(mapboxMap -> { - mapboxMap.setStyle(Style.MAPBOX_STREETS); - }); - } - - if (Math.abs(1 - currentPosition) <= 1) { - mapFragment = (SupportMapFragment) adapter.instantiateItem(viewPager, 1); - mapFragment.getMapAsync(mapboxMap -> { - mapboxMap.setStyle(Style.DARK); - }); - } - - if (Math.abs(2 - currentPosition) <= 1) { - mapFragment = (SupportMapFragment) adapter.instantiateItem(viewPager, 2); - mapFragment.getMapAsync(mapboxMap -> { - mapboxMap.setStyle(Style.SATELLITE); - }); - } - } - - static class MapFragmentAdapter extends FragmentStatePagerAdapter { - - private static int NUM_ITEMS = 3; - - MapFragmentAdapter(FragmentManager fragmentManager) { - super(fragmentManager); - } - - @Override - public int getCount() { - return NUM_ITEMS; - } - - @Override - public Fragment getItem(int position) { - SupportMapFragment fragment = null; - MapboxMapOptions options = new MapboxMapOptions(); - options.textureMode(true); - - switch (position) { - case 0: - options.camera(new CameraPosition.Builder().target(new LatLng(34.920526, 102.634774)).zoom(3).build()); - fragment = SupportMapFragment.newInstance(options); - fragment.getMapAsync(mapboxMap -> { - mapboxMap.setStyle(Style.MAPBOX_STREETS); - }); - break; - case 1: - options.camera(new CameraPosition.Builder().target(new LatLng(62.326440, 92.764913)).zoom(3).build()); - fragment = SupportMapFragment.newInstance(options); - fragment.getMapAsync(mapboxMap -> { - mapboxMap.setStyle(Style.DARK); - }); - break; - case 2: - options.camera(new CameraPosition.Builder().target(new LatLng(-25.007786, 133.623852)).zoom(3).build()); - fragment = SupportMapFragment.newInstance(options); - fragment.getMapAsync(mapboxMap -> { - mapboxMap.setStyle(Style.SATELLITE); - }); - break; - } - return fragment; - } - - @Override - public CharSequence getPageTitle(int position) { - return "Page " + position; - } - } -} - 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 new file mode 100644 index 0000000000..8312661ebd --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/ViewPagerActivity.kt @@ -0,0 +1,71 @@ +package com.mapbox.mapboxsdk.testapp.activity.fragment + +import android.os.Bundle +import android.support.v4.app.Fragment +import android.support.v4.app.FragmentManager +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.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.* + +/** + * Test activity showcasing using the Android SDK ViewPager API to show MapFragments. + */ +class ViewPagerActivity : AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_viewpager) + viewPager.adapter = MapFragmentAdapter(supportFragmentManager) + } + + override fun onRestoreInstanceState(savedInstanceState: Bundle) { + super.onRestoreInstanceState(savedInstanceState) + val currentPosition = viewPager!!.currentItem + for (i in 0 until FRAGMENT_COUNT) { + if (Math.abs(i - currentPosition) <= 1) { + viewPager.adapter?.instantiateItem(viewPager, 0) + break + } + } + } + + internal class MapFragmentAdapter(fragmentManager: FragmentManager) : FragmentStatePagerAdapter(fragmentManager) { + + override fun getCount(): Int { + return FRAGMENT_COUNT + } + + override fun getItem(position: Int): Fragment { + return when (position) { + 0 -> createFragment(Style.MAPBOX_STREETS, LatLng(34.920526, 102.634774)) + 1 -> createFragment(Style.DARK, LatLng(62.326440, 92.764913)) + 2 -> createFragment(Style.SATELLITE, LatLng(-25.007786, 133.623852)) + 3 -> createFragment(Style.LIGHT, LatLng(-19.922070, -43.939676)) + 4 -> createFragment(Style.OUTDOORS, LatLng(46.881020, 9.098098)) + else -> createFragment(Style.TRAFFIC_DAY, LatLng(40.722517, -74.000029)) + } + } + + private fun createFragment(@Style.StyleUrl style: String, latLng: LatLng): Fragment { + val options = MapboxMapOptions().camera(CameraPosition.Builder().target(latLng).zoom(3.0).build()) + val fragment = SupportMapFragment.newInstance(options) + fragment.getMapAsync { mapboxMap -> mapboxMap.setStyle(style) } + return fragment + } + + override fun getPageTitle(position: Int): CharSequence? { + return "Page $position" + } + } + + companion object { + const val FRAGMENT_COUNT = 6 + } +} + diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_viewpager.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_viewpager.xml index 3edaff6985..516bf60b6b 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_viewpager.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_viewpager.xml @@ -5,7 +5,7 @@ android:layout_height="match_parent"> <com.mapbox.mapboxsdk.testapp.view.MapViewPager - android:id="@+id/viewpager" + android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent"> diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/categories.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/categories.xml index a4403a34f7..918fd4cc3f 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/categories.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/categories.xml @@ -15,4 +15,5 @@ <string name="category_storage">Storage</string> <string name="category_textureview">Texture View</string> <string name="category_location">Location</string> + <string name="category_integration">_Integration</string> </resources>
\ No newline at end of file |