From 58b3b5b52e10690befd998a135d8f78ea4375f0b Mon Sep 17 00:00:00 2001 From: Tony Wickham Date: Fri, 19 Jan 2024 23:43:31 +0000 Subject: [PATCH] Simplify/fix testThreeButtonsTaskbarBoundsAfterConfigChangeDuringIme Instead of dealing with changing dark theme which can lead to races with stale Taskbar icons, instead just go home and launch the IME activity. This is sufficient because the taskbar height changes when going between home and an app, and the IME will stash the Taskbar during this transition. Fixes: 320490387 Test: testThreeButtonsTaskbarBoundsAfterConfigChangeDuringIme Flag: None Change-Id: Ib5b1481751af0bf1fccda085c78174f6612441b9 --- .../quickstep/TaplTestsPersistentTaskbar.java | 40 ++++++------------- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/quickstep/tests/src/com/android/quickstep/TaplTestsPersistentTaskbar.java b/quickstep/tests/src/com/android/quickstep/TaplTestsPersistentTaskbar.java index a71d74a35a..df73e0913e 100644 --- a/quickstep/tests/src/com/android/quickstep/TaplTestsPersistentTaskbar.java +++ b/quickstep/tests/src/com/android/quickstep/TaplTestsPersistentTaskbar.java @@ -15,18 +15,14 @@ */ package com.android.quickstep; -import static com.android.launcher3.util.rule.TestStabilityRule.LOCAL; -import static com.android.launcher3.util.rule.TestStabilityRule.PLATFORM_POSTSUBMIT; import static com.android.quickstep.TaskbarModeSwitchRule.Mode.PERSISTENT; import android.graphics.Rect; import androidx.test.filters.LargeTest; -import androidx.test.platform.app.InstrumentationRegistry; import androidx.test.runner.AndroidJUnit4; import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape; -import com.android.launcher3.util.rule.TestStabilityRule; import com.android.quickstep.NavigationModeSwitchRule.NavigationModeSwitch; import com.android.quickstep.TaskbarModeSwitchRule.TaskbarModeSwitch; @@ -34,9 +30,6 @@ import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; -import java.io.Closeable; -import java.io.IOException; - @LargeTest @RunWith(AndroidJUnit4.class) public class TaplTestsPersistentTaskbar extends AbstractTaplTestsTaskbar { @@ -51,27 +44,20 @@ public class TaplTestsPersistentTaskbar extends AbstractTaplTestsTaskbar { } @Test - @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/320490387 @NavigationModeSwitch(mode = NavigationModeSwitchRule.Mode.THREE_BUTTON) public void testThreeButtonsTaskbarBoundsAfterConfigChangeDuringIme() { - // Start off in light mode. - try (Closeable c = InstrumentationRegistry.getInstrumentation().getUiAutomation() - .executeShellCommand("cmd uimode night no")) { - Rect taskbarBoundsBefore = getTaskbar().getVisibleBounds(); - startImeTestActivity(); - // IME should stash the taskbar, which hides icons even in 3 button mode. - mLauncher.getLaunchedAppState().assertTaskbarHidden(); - // Switch to dark mode (any configuration change here would do). - InstrumentationRegistry.getInstrumentation().getUiAutomation().executeShellCommand( - "cmd uimode night yes").close(); - // Close IME to check new taskbar bounds. - mLauncher.pressBack(); - Rect taskbarBoundsAfter = getTaskbar().getVisibleBounds(); - Assert.assertEquals( - "Taskbar bounds are not the same after a configuration change while stashed.", - taskbarBoundsBefore, taskbarBoundsAfter); - } catch (IOException e) { - throw new RuntimeException(e); - } + Rect taskbarBoundsBefore = getTaskbar().getVisibleBounds(); + // Go home and to an IME activity (any configuration change would do, as long as it + // triggers taskbar insets or height change while taskbar is stashed). + mLauncher.goHome(); + startImeTestActivity(); + // IME should stash the taskbar, which hides icons even in 3 button mode. + mLauncher.getLaunchedAppState().assertTaskbarHidden(); + // Close IME to check new taskbar bounds. + startTestActivity(2); + Rect taskbarBoundsAfter = getTaskbar().getVisibleBounds(); + Assert.assertEquals( + "Taskbar bounds are not the same after a configuration change while stashed.", + taskbarBoundsBefore, taskbarBoundsAfter); } }