summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yunfan Chen <yunfanc@google.com> 2019-02-14 17:08:39 +0900
committer Yunfan Chen <yunfanc@google.com> 2019-02-14 17:13:01 +0900
commitb04dc00a1b07e5590841e078228e109d0beaca27 (patch)
treec4a42a97e49d9ef48ae712391f590a8cde5dc618
parent6a41c383df09459549a84a18f2554f10517d2779 (diff)
Fix flaky InsetsStateControllerTest
There are three always fail tests caused by app window doesn't have control of the insets. Set the correct insets mode to solve it. Mark the tests as pre-submit candidate. Test: atest InsetsStateControllerTest Bug: 69229402 Bug: 124088319 Change-Id: I080bc957a0e58b2044c7d256ce268ecad5ecaf8e
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java27
1 files changed, 23 insertions, 4 deletions
diff --git a/services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java
index bc62e8c5ab24..2d906d1683d5 100644
--- a/services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java
@@ -19,6 +19,7 @@ package com.android.server.wm;
import static android.view.InsetsState.TYPE_IME;
import static android.view.InsetsState.TYPE_NAVIGATION_BAR;
import static android.view.InsetsState.TYPE_TOP_BAR;
+import static android.view.ViewRootImpl.NEW_INSETS_MODE_FULL;
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION;
import static org.junit.Assert.assertEquals;
@@ -28,15 +29,33 @@ import static org.junit.Assert.assertNull;
import android.platform.test.annotations.Presubmit;
import android.view.InsetsSourceControl;
import android.view.InsetsState;
+import android.view.ViewRootImpl;
import androidx.test.filters.FlakyTest;
import androidx.test.filters.SmallTest;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
import org.junit.Test;
@SmallTest
@Presubmit
public class InsetsStateControllerTest extends WindowTestsBase {
+ private static int sPreviousNewInsetsMode;
+
+ @BeforeClass
+ public static void setUpOnce() {
+ // TODO: Make use of SettingsSession when it becomes feasible for this.
+ sPreviousNewInsetsMode = ViewRootImpl.sNewInsetsMode;
+ // To let the insets provider control the insets visibility, the insets mode has to be
+ // NEW_INSETS_MODE_FULL.
+ ViewRootImpl.sNewInsetsMode = NEW_INSETS_MODE_FULL;
+ }
+
+ @AfterClass
+ public static void tearDownOnce() {
+ ViewRootImpl.sNewInsetsMode = sPreviousNewInsetsMode;
+ }
@Test
public void testStripForDispatch_notOwn() {
@@ -47,7 +66,7 @@ public class InsetsStateControllerTest extends WindowTestsBase {
assertNotNull(getController().getInsetsForDispatch(app).getSource(TYPE_TOP_BAR));
}
- @FlakyTest(bugId = 69229402)
+ @FlakyTest(detail = "Promote to pre-submit once confirmed stable.")
@Test
public void testStripForDispatch_own() {
final WindowState topBar = createWindow(null, TYPE_APPLICATION, "parentWindow");
@@ -57,7 +76,7 @@ public class InsetsStateControllerTest extends WindowTestsBase {
assertEquals(new InsetsState(), getController().getInsetsForDispatch(topBar));
}
- @FlakyTest(bugId = 124088319)
+ @FlakyTest(detail = "Promote to pre-submit once confirmed stable.")
@Test
public void testStripForDispatch_navBar() {
final WindowState navBar = createWindow(null, TYPE_APPLICATION, "parentWindow");
@@ -69,7 +88,7 @@ public class InsetsStateControllerTest extends WindowTestsBase {
assertEquals(new InsetsState(), getController().getInsetsForDispatch(navBar));
}
- @FlakyTest(bugId = 124088319)
+ @FlakyTest(detail = "Promote to pre-submit once confirmed stable.")
@Test
public void testBarControllingWinChanged() {
final WindowState navBar = createWindow(null, TYPE_APPLICATION, "parentWindow");
@@ -82,7 +101,7 @@ public class InsetsStateControllerTest extends WindowTestsBase {
assertEquals(2, controls.length);
}
- @FlakyTest(bugId = 124088319)
+ @FlakyTest(detail = "Promote to pre-submit once confirmed stable.")
@Test
public void testControlRevoked() {
final WindowState topBar = createWindow(null, TYPE_APPLICATION, "parentWindow");