Merge "Scroll down to avoid tapping on nav bar" into main
diff --git a/tests/FlickerTests/ActivityEmbedding/src/com/android/server/wm/flicker/activityembedding/open/OpenTrampolineActivityTest.kt b/tests/FlickerTests/ActivityEmbedding/src/com/android/server/wm/flicker/activityembedding/open/OpenTrampolineActivityTest.kt
index 67825d2..095c819 100644
--- a/tests/FlickerTests/ActivityEmbedding/src/com/android/server/wm/flicker/activityembedding/open/OpenTrampolineActivityTest.kt
+++ b/tests/FlickerTests/ActivityEmbedding/src/com/android/server/wm/flicker/activityembedding/open/OpenTrampolineActivityTest.kt
@@ -41,7 +41,7 @@
  * Transitions: From A launch a trampoline Activity T, T launches secondary Activity B and finishes
  * itself, end up in split A|B.
  *
- * To run this test: `atest FlickerTestsOther:OpenTrampolineActivityTest`
+ * To run this test: `atest FlickerTestsActivityEmbedding:OpenTrampolineActivityTest`
  */
 @FlakyTest(bugId = 341209752)
 @RequiresDevice
diff --git a/tests/FlickerTests/test-apps/app-helpers/src/com/android/server/wm/flicker/helpers/ActivityEmbeddingAppHelper.kt b/tests/FlickerTests/test-apps/app-helpers/src/com/android/server/wm/flicker/helpers/ActivityEmbeddingAppHelper.kt
index 4a675be..0bcd2f3 100644
--- a/tests/FlickerTests/test-apps/app-helpers/src/com/android/server/wm/flicker/helpers/ActivityEmbeddingAppHelper.kt
+++ b/tests/FlickerTests/test-apps/app-helpers/src/com/android/server/wm/flicker/helpers/ActivityEmbeddingAppHelper.kt
@@ -17,6 +17,7 @@
 package com.android.server.wm.flicker.helpers
 
 import android.app.Instrumentation
+import android.os.SystemClock
 import android.tools.PlatformConsts
 import android.tools.device.apphelpers.StandardAppHelper
 import android.tools.helpers.FIND_TIMEOUT
@@ -25,6 +26,7 @@
 import android.tools.traces.parsers.toFlickerComponent
 import android.util.Log
 import androidx.test.uiautomator.By
+import androidx.test.uiautomator.Direction
 import androidx.test.uiautomator.Until
 import androidx.window.extensions.WindowExtensions
 import androidx.window.extensions.WindowExtensionsProvider
@@ -83,6 +85,7 @@
      * activity and finish itself.
      */
     fun launchTrampolineActivity(wmHelper: WindowManagerStateHelper) {
+        scrollToBottom()
         val launchButton =
             uiDevice.wait(
                 Until.findObject(By.res(packageName, "launch_trampoline_button")),
@@ -210,6 +213,7 @@
      * placeholder secondary activity based on the placeholder rule.
      */
     fun launchPlaceholderSplitRTL(wmHelper: WindowManagerStateHelper) {
+        scrollToBottom()
         val launchButton =
             uiDevice.wait(
                 Until.findObject(By.res(packageName, "launch_placeholder_split_rtl_button")),
@@ -224,6 +228,21 @@
             .waitForAndVerify()
     }
 
+    /**
+     * Scrolls to the bottom of the launch options. This is needed if the launch button is at the
+     * bottom. Otherwise the click may trigger touch on navBar.
+     */
+    private fun scrollToBottom() {
+        val launchOptionsList = uiDevice.wait(
+            Until.findObject(By.res(packageName, "launch_options_list")),
+            FIND_TIMEOUT
+        )
+        requireNotNull(launchOptionsList) { "Unable to find the list of launch options" }
+        launchOptionsList.scrollUntil(Direction.DOWN, Until.scrollFinished(Direction.DOWN))
+        // Wait a bit after scrolling, otherwise the immediate click may not be treated as "click".
+        SystemClock.sleep(1000L)
+    }
+
     companion object {
         private const val TAG = "ActivityEmbeddingAppHelper"
 
diff --git a/tests/FlickerTests/test-apps/flickerapp/res/layout/activity_embedding_main_layout.xml b/tests/FlickerTests/test-apps/flickerapp/res/layout/activity_embedding_main_layout.xml
index 917aec1..939ba81 100644
--- a/tests/FlickerTests/test-apps/flickerapp/res/layout/activity_embedding_main_layout.xml
+++ b/tests/FlickerTests/test-apps/flickerapp/res/layout/activity_embedding_main_layout.xml
@@ -21,8 +21,10 @@
     android:background="@android:color/holo_orange_light">
 
     <LinearLayout
+        android:id="@+id/launch_options_list"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
+        android:paddingBottom="48dp"
         android:orientation="vertical">
 
         <Button