summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk
diff options
context:
space:
mode:
authorŁukasz Paczos <lukas.paczos@gmail.com>2018-04-13 10:12:39 +0200
committerTobrun <tobrun.van.nuland@gmail.com>2018-04-13 12:16:09 +0200
commit397ab623a2eaf83509681b1ffe8c5777961eab28 (patch)
tree4fa1f998807c5bf8dbf06a63632cfbbf495a8208 /platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk
parentff11cb20163caddf5e31ebdaeaafa0e1a9e456ec (diff)
downloadqtlocation-mapboxgl-upstream/lp-fragment-freeze.tar.gz
[android] - fragment freeze native setupupstream/lp-fragment-freeze
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/mapboxfreezerepro/MainActivity.kt49
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/mapboxfreezerepro/fragment/CustomMapFragment.kt41
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/mapboxfreezerepro/views/EmptyView.kt14
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/mapboxfreezerepro/views/MapView.kt44
4 files changed, 148 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/mapboxfreezerepro/MainActivity.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/mapboxfreezerepro/MainActivity.kt
new file mode 100644
index 0000000000..03377e2fb4
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/mapboxfreezerepro/MainActivity.kt
@@ -0,0 +1,49 @@
+package com.mapbox.mapboxsdk.testapp.mapboxfreezerepro
+
+import android.os.Bundle
+import android.support.v7.app.AppCompatActivity
+import com.mapbox.mapboxsdk.testapp.R
+import com.mapbox.mapboxsdk.testapp.mapboxfreezerepro.views.EmptyView
+import com.mapbox.mapboxsdk.testapp.mapboxfreezerepro.views.MapView
+import kotlinx.android.synthetic.main.activity_main.*
+import timber.log.Timber
+
+class MainActivity : AppCompatActivity() {
+
+ private var empty = true
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_main)
+ fragmentContainer.addView(EmptyView(this))
+ button.setOnClickListener {
+ Timber.e("removeAllViews")
+
+ if (!empty) {
+ val fragment = supportFragmentManager.findFragmentByTag(com.mapbox.mapboxsdk.testapp.mapboxfreezerepro.views.TAG)
+ if (fragment != null) {
+ supportFragmentManager.beginTransaction()
+ .remove(fragment)
+ .commitNowAllowingStateLoss()
+ }
+ }
+
+ fragmentContainer.removeAllViews()
+ if (empty) {
+ fragmentContainer.addView(
+ MapView(
+ this
+ )
+ )
+ empty = false
+ } else {
+ fragmentContainer.addView(
+ EmptyView(
+ this
+ )
+ )
+ empty = true
+ }
+ }
+ }
+}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/mapboxfreezerepro/fragment/CustomMapFragment.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/mapboxfreezerepro/fragment/CustomMapFragment.kt
new file mode 100644
index 0000000000..4cf6fd7260
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/mapboxfreezerepro/fragment/CustomMapFragment.kt
@@ -0,0 +1,41 @@
+package com.mapbox.mapboxsdk.testapp.mapboxfreezerepro.fragment
+
+import android.os.Bundle
+import android.view.View
+import com.mapbox.mapboxsdk.maps.SupportMapFragment
+import timber.log.Timber
+
+class CustomMapFragment : SupportMapFragment() {
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ getMapAsync { map ->
+ map.cameraPosition
+ with(map.uiSettings) {
+ isAttributionEnabled = false
+ isCompassEnabled = false
+ isLogoEnabled = false
+ isDeselectMarkersOnTap = false
+ isScrollGesturesEnabled = false
+ isZoomGesturesEnabled = false
+ isTiltGesturesEnabled = false
+ isRotateGesturesEnabled = false
+ isDoubleTapGesturesEnabled = false
+ }
+ }
+ }
+
+ override fun onDestroy() {
+ super.onDestroy()
+ Timber.e("onDestroy")
+ }
+
+ override fun onDestroyView() {
+ super.onDestroyView()
+ Timber.e("onDestroyView")
+ }
+
+ override fun onStop() {
+ super.onStop()
+ Timber.e("onStop")
+ }
+}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/mapboxfreezerepro/views/EmptyView.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/mapboxfreezerepro/views/EmptyView.kt
new file mode 100644
index 0000000000..d20b5334ea
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/mapboxfreezerepro/views/EmptyView.kt
@@ -0,0 +1,14 @@
+package com.mapbox.mapboxsdk.testapp.mapboxfreezerepro.views
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.View
+import android.widget.FrameLayout
+import com.mapbox.mapboxsdk.testapp.R
+
+class EmptyView(context: Context, attributeSet: AttributeSet? = null) : FrameLayout(context, attributeSet) {
+
+ init {
+ View.inflate(context, R.layout.empty_view, this)
+ }
+}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/mapboxfreezerepro/views/MapView.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/mapboxfreezerepro/views/MapView.kt
new file mode 100644
index 0000000000..764de0937f
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/mapboxfreezerepro/views/MapView.kt
@@ -0,0 +1,44 @@
+package com.mapbox.mapboxsdk.testapp.mapboxfreezerepro.views
+
+import android.content.Context
+import android.support.v4.app.FragmentManager
+import android.support.v7.app.AppCompatActivity
+import android.util.AttributeSet
+import android.widget.FrameLayout
+import android.view.View
+import com.mapbox.mapboxsdk.testapp.R
+import com.mapbox.mapboxsdk.testapp.mapboxfreezerepro.fragment.CustomMapFragment
+import timber.log.Timber
+
+const val TAG = "tag"
+class MapView(context: Context,
+ attrs: AttributeSet? = null) : FrameLayout(context, attrs) {
+
+ private val fragmentManager: FragmentManager
+
+ init {
+ fragmentManager = (context as AppCompatActivity).supportFragmentManager
+ View.inflate(context, R.layout.map_view, this)
+ }
+
+ override fun onAttachedToWindow() {
+ super.onAttachedToWindow()
+ Timber.e("onAttachedToWindow")
+ val fragment = CustomMapFragment()
+ fragmentManager.beginTransaction()
+ .add(
+ R.id.mapContainer, fragment,
+ TAG
+ )
+ .commit()
+ }
+
+ override fun onDetachedFromWindow() {
+ super.onDetachedFromWindow()
+ Timber.e("onDetachedToWindow")
+// val fragment = fragmentManager.findFragmentByTag(TAG)
+// fragmentManager.beginTransaction()
+// .remove(fragment)
+// .commitNowAllowingStateLoss()
+ }
+}