summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/GLSurfaceViewReopenTest.kt
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/GLSurfaceViewReopenTest.kt')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/GLSurfaceViewReopenTest.kt77
1 files changed, 77 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/GLSurfaceViewReopenTest.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/GLSurfaceViewReopenTest.kt
new file mode 100644
index 0000000000..eb44463d72
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/GLSurfaceViewReopenTest.kt
@@ -0,0 +1,77 @@
+package com.mapbox.mapboxsdk.maps
+
+import android.content.Intent
+import android.support.test.InstrumentationRegistry
+import android.support.test.filters.SdkSuppress
+import android.support.test.runner.AndroidJUnit4
+import android.support.test.uiautomator.*
+import org.hamcrest.CoreMatchers.notNullValue
+import org.hamcrest.MatcherAssert.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import java.lang.Thread.sleep
+import android.support.test.uiautomator.UiSelector
+import android.support.test.uiautomator.UiScrollable
+
+private const val BASIC_SAMPLE_PACKAGE = "com.mapbox.mapboxsdk.testapp"
+private const val LAUNCH_TIMEOUT = 5000L
+
+@RunWith(AndroidJUnit4::class)
+@SdkSuppress(minSdkVersion = 18)
+class GLSurfaceViewReopenTest {
+
+ private lateinit var device: UiDevice
+
+ @Before
+ fun startSimpleMapActivityFromHomeScreen() {
+ // Initialize UiDevice instance
+ device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
+
+ // Start from the home screen
+ device.pressHome()
+
+ // Wait for launcher
+ val launcherPackage: String = device.launcherPackageName
+ assertThat(launcherPackage, notNullValue())
+ device.wait(Until.hasObject(By.pkg(launcherPackage).depth(0)), LAUNCH_TIMEOUT)
+
+ // Launch the app
+ val context = InstrumentationRegistry.getInstrumentation().context
+ val intent = context.packageManager.getLaunchIntentForPackage(BASIC_SAMPLE_PACKAGE).apply {
+ // Clear out any previous instances
+ addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
+ }
+ context.startActivity(intent)
+
+ // Wait for the app to appear
+ device.wait(
+ Until.hasObject(By.pkg(BASIC_SAMPLE_PACKAGE).depth(0)),
+ LAUNCH_TIMEOUT
+ )
+
+ // open TextureView debug activity
+ val appView = UiScrollable(UiSelector().scrollable(true))
+ appView.scrollIntoView(UiSelector().text("TextureView debug"))
+ device.findObject(UiSelector().text("TextureView debug")).clickAndWaitForNewWindow()
+
+ // wait for idle
+ device.waitForIdle(LAUNCH_TIMEOUT)
+ }
+
+ @Test
+ fun reopenTextureViewDebugActivity() {
+ // return to home screen
+ device.pressHome()
+
+ // press recent apps button
+ device.pressRecentApps()
+
+ // click to reopen app
+ device.findObject(UiSelector().description("Mapbox Android SDK TestApp")).click()
+
+ // wait for idle
+ device.waitForIdle(LAUNCH_TIMEOUT)
+ sleep(LAUNCH_TIMEOUT)
+ }
+} \ No newline at end of file