summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/FragmentBackStackActivity.kt
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/FragmentBackStackActivity.kt')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/FragmentBackStackActivity.kt22
1 files changed, 17 insertions, 5 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/FragmentBackStackActivity.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/FragmentBackStackActivity.kt
index f7569e5fae..c0f93fce1f 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/FragmentBackStackActivity.kt
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/FragmentBackStackActivity.kt
@@ -14,18 +14,30 @@ import kotlinx.android.synthetic.main.activity_backstack_fragment.*
*/
class FragmentBackStackActivity : AppCompatActivity() {
+ companion object {
+ private const val FRAGMENT_TAG = "map_fragment"
+ }
+
private lateinit var mapFragment: SupportMapFragment
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_backstack_fragment)
- mapFragment = SupportMapFragment.newInstance()
- mapFragment.getMapAsync { initMap(it) }
+ if (savedInstanceState == null) {
+ mapFragment = SupportMapFragment.newInstance()
+ mapFragment.getMapAsync { initMap(it) }
- supportFragmentManager.beginTransaction().apply {
- add(R.id.container, mapFragment)
- }.commit()
+ supportFragmentManager.beginTransaction().apply {
+ add(R.id.container, mapFragment, FRAGMENT_TAG)
+ }.commit()
+ } else {
+ supportFragmentManager.findFragmentByTag(FRAGMENT_TAG)?.also { fragment ->
+ if (fragment is SupportMapFragment) {
+ fragment.getMapAsync { initMap(it) }
+ }
+ }
+ }
button.setOnClickListener { handleClick() }
}