Loading tests/FlickerTests/AndroidTest.xml +8 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,14 @@ <option name="screen-always-on" value="on" /> <!-- prevents the phone from restarting --> <option name="force-skip-system-props" value="true" /> <!-- set WM tracing verbose level to all --> <option name="run-command" value="adb shell cmd window tracing level all" /> <!-- inform WM to log all transactions --> <option name="run-command" value="adb shell cmd window tracing transaction" /> </target_preparer> <target_preparer class="com.android.tradefed.targetprep.DeviceCleaner"> <!-- keeps the screen on during tests --> <option name="cleanup-action" value="REBOOT" /> </target_preparer> <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller"> <option name="cleanup-apks" value="true"/> Loading tests/FlickerTests/src/com/android/server/wm/flicker/CommonTransitions.java +25 −15 Original line number Diff line number Diff line Loading @@ -20,7 +20,6 @@ import static android.os.SystemClock.sleep; import static android.view.Surface.rotationToString; import static com.android.server.wm.flicker.helpers.AutomationUtils.clearRecents; import static com.android.server.wm.flicker.helpers.AutomationUtils.closePipWindow; import static com.android.server.wm.flicker.helpers.AutomationUtils.exitSplitScreen; import static com.android.server.wm.flicker.helpers.AutomationUtils.expandPipWindow; import static com.android.server.wm.flicker.helpers.AutomationUtils.launchSplitScreen; Loading Loading @@ -285,41 +284,52 @@ class CommonTransitions { .repeat(ITERATIONS); } static TransitionBuilder enterPipMode(PipAppHelper testApp, UiDevice device) { static TransitionBuilder enterPipMode(PipAppHelper testApp, UiDevice device, int beginRotation) { return TransitionRunner.newBuilder() .withTag("enterPipMode_" + testApp.getLauncherName()) .withTag("enterPipMode_" + testApp.getLauncherName() + rotationToString(beginRotation)) .runBeforeAll(AutomationUtils::wakeUpAndGoToHomeScreen) .runBefore(device::pressHome) .runBefore(() -> setRotation(device, beginRotation)) .runBefore(testApp::open) .run(() -> testApp.clickEnterPipButton(device)) .runAfter(() -> closePipWindow(device)) .runAfter(() -> testApp.closePipWindow(device)) .runAfterAll(testApp::exit) .repeat(ITERATIONS); } static TransitionBuilder exitPipModeToHome(PipAppHelper testApp, UiDevice device) { static TransitionBuilder exitPipModeToHome(PipAppHelper testApp, UiDevice device, int beginRotation) { return TransitionRunner.newBuilder() .withTag("exitPipModeToHome_" + testApp.getLauncherName()) .withTag("exitPipModeToHome_" + testApp.getLauncherName() + rotationToString(beginRotation)) .recordAllRuns() .runBeforeAll(AutomationUtils::wakeUpAndGoToHomeScreen) .runBefore(device::pressHome) .runBefore(() -> setRotation(device, beginRotation)) .runBefore(testApp::open) .runBefore(() -> testApp.clickEnterPipButton(device)) .run(() -> closePipWindow(device)) .run(() -> testApp.clickEnterPipButton(device)) .run(() -> testApp.closePipWindow(device)) .run(device::waitForIdle) .runAfterAll(testApp::exit) .run(testApp::exit) .repeat(ITERATIONS); } static TransitionBuilder exitPipModeToApp(PipAppHelper testApp, UiDevice device) { static TransitionBuilder exitPipModeToApp(PipAppHelper testApp, UiDevice device, int beginRotation) { return TransitionRunner.newBuilder() .withTag("exitPipModeToApp_" + testApp.getLauncherName()) .withTag("exitPipModeToApp_" + testApp.getLauncherName() + rotationToString(beginRotation)) .recordAllRuns() .runBeforeAll(AutomationUtils::wakeUpAndGoToHomeScreen) .runBefore(device::pressHome) .runBefore(testApp::open) .runBefore(() -> testApp.clickEnterPipButton(device)) .run(device::pressHome) .run(() -> setRotation(device, beginRotation)) .run(testApp::open) .run(() -> testApp.clickEnterPipButton(device)) .run(() -> expandPipWindow(device)) .run(device::waitForIdle) .runAfterAll(testApp::exit) .run(testApp::exit) .repeat(ITERATIONS); } } tests/FlickerTests/src/com/android/server/wm/flicker/DebugTest.java +8 −7 Original line number Diff line number Diff line Loading @@ -116,7 +116,7 @@ public class DebugTest { ImeAppHelper bottomApp = new ImeAppHelper(InstrumentationRegistry.getInstrumentation()); CommonTransitions.resizeSplitScreen(testApp, bottomApp, uiDevice, Surface.ROTATION_0, new Rational(1, 3), new Rational(2, 3)) .includeJankyRuns().recordEachRun().build().run(); .includeJankyRuns().build().run(); } // IME tests Loading @@ -128,7 +128,7 @@ public class DebugTest { public void editTextSetFocus() { ImeAppHelper testApp = new ImeAppHelper(InstrumentationRegistry.getInstrumentation()); CommonTransitions.editTextSetFocus(testApp, uiDevice, Surface.ROTATION_0) .includeJankyRuns().recordEachRun() .includeJankyRuns() .build().run(); } Loading @@ -139,7 +139,7 @@ public class DebugTest { public void editTextLoseFocusToHome() { ImeAppHelper testApp = new ImeAppHelper(InstrumentationRegistry.getInstrumentation()); CommonTransitions.editTextLoseFocusToHome(testApp, uiDevice, Surface.ROTATION_0) .includeJankyRuns().recordEachRun() .includeJankyRuns() .build().run(); } Loading @@ -150,7 +150,7 @@ public class DebugTest { public void editTextLoseFocusToApp() { ImeAppHelper testApp = new ImeAppHelper(InstrumentationRegistry.getInstrumentation()); CommonTransitions.editTextLoseFocusToHome(testApp, uiDevice, Surface.ROTATION_0) .includeJankyRuns().recordEachRun() .includeJankyRuns() .build().run(); } Loading @@ -162,7 +162,7 @@ public class DebugTest { @Test public void enterPipMode() { PipAppHelper testApp = new PipAppHelper(InstrumentationRegistry.getInstrumentation()); CommonTransitions.enterPipMode(testApp, uiDevice).includeJankyRuns().recordEachRun() CommonTransitions.enterPipMode(testApp, uiDevice, Surface.ROTATION_0).includeJankyRuns() .build().run(); } Loading @@ -172,7 +172,8 @@ public class DebugTest { @Test public void exitPipModeToHome() { PipAppHelper testApp = new PipAppHelper(InstrumentationRegistry.getInstrumentation()); CommonTransitions.exitPipModeToHome(testApp, uiDevice).includeJankyRuns().recordEachRun() CommonTransitions.exitPipModeToHome(testApp, uiDevice, Surface.ROTATION_0) .includeJankyRuns() .build().run(); } Loading @@ -182,7 +183,7 @@ public class DebugTest { @Test public void exitPipModeToApp() { PipAppHelper testApp = new PipAppHelper(InstrumentationRegistry.getInstrumentation()); CommonTransitions.exitPipModeToApp(testApp, uiDevice).includeJankyRuns().recordEachRun() CommonTransitions.exitPipModeToApp(testApp, uiDevice, Surface.ROTATION_0).includeJankyRuns() .build().run(); } } tests/FlickerTests/src/com/android/server/wm/flicker/PipToAppTest.java 0 → 100644 +89 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.server.wm.flicker; import static com.android.server.wm.flicker.CommonTransitions.exitPipModeToApp; import androidx.test.InstrumentationRegistry; import androidx.test.filters.LargeTest; import com.android.server.wm.flicker.helpers.PipAppHelper; import org.junit.Before; import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.MethodSorters; import org.junit.runners.Parameterized; /** * Test Pip launch. * To run this test: {@code atest FlickerTests:PipToAppTest} */ @LargeTest @RunWith(Parameterized.class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class PipToAppTest extends NonRotationTestBase { static final String sPipWindowTitle = "PipMenuActivity"; public PipToAppTest(String beginRotationName, int beginRotation) { super(beginRotationName, beginRotation); this.mTestApp = new PipAppHelper(InstrumentationRegistry.getInstrumentation()); } @Before public void runTransition() { run(exitPipModeToApp((PipAppHelper) mTestApp, mUiDevice, mBeginRotation) .includeJankyRuns().build()); } @Test public void checkVisibility_pipWindowBecomesVisible() { checkResults(result -> WmTraceSubject.assertThat(result) .skipUntilFirstAssertion() .showsAppWindowOnTop(sPipWindowTitle) .then() .hidesAppWindow(sPipWindowTitle) .forAllEntries()); } @Test public void checkVisibility_pipLayerBecomesVisible() { checkResults(result -> LayersTraceSubject.assertThat(result) .skipUntilFirstAssertion() .showsLayer(sPipWindowTitle) .then() .hidesLayer(sPipWindowTitle) .forAllEntries()); } @Test public void checkVisibility_backgroundWindowVisibleBehindPipLayer() { checkResults(result -> WmTraceSubject.assertThat(result) .skipUntilFirstAssertion() .showsAppWindowOnTop(sPipWindowTitle) .then() .showsBelowAppWindow("Wallpaper") .then() .showsAppWindowOnTop(mTestApp.getPackage()) .then() .hidesAppWindowOnTop(mTestApp.getPackage()) .forAllEntries()); } } tests/FlickerTests/src/com/android/server/wm/flicker/PipToHomeTest.java 0 → 100644 +93 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.server.wm.flicker; import static com.android.server.wm.flicker.CommonTransitions.exitPipModeToHome; import android.view.Surface; import androidx.test.InstrumentationRegistry; import androidx.test.filters.LargeTest; import androidx.test.runner.AndroidJUnit4; import com.android.server.wm.flicker.helpers.PipAppHelper; import org.junit.Before; import org.junit.FixMethodOrder; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.MethodSorters; /** * Test Pip launch. * To run this test: {@code atest FlickerTests:PipToHomeTest} */ @LargeTest @RunWith(AndroidJUnit4.class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class PipToHomeTest extends FlickerTestBase { static final String sPipWindowTitle = "PipActivity"; // public PipToHomeTest(String beginRotationName, int beginRotation) { public PipToHomeTest() { // super(beginRotationName, beginRotation); this.mTestApp = new PipAppHelper(InstrumentationRegistry.getInstrumentation()); } @Before public void runTransition() { // run(exitPipModeToHome((PipAppHelper) mTestApp, mUiDevice, mBeginRotation) run(exitPipModeToHome((PipAppHelper) mTestApp, mUiDevice, Surface.ROTATION_0) .includeJankyRuns().build()); } @Ignore @Test public void checkVisibility_pipWindowBecomesVisible() { checkResults(result -> WmTraceSubject.assertThat(result) .skipUntilFirstAssertion() .showsAppWindowOnTop(sPipWindowTitle) .then() .hidesAppWindow(sPipWindowTitle) .forAllEntries()); } @Test public void checkVisibility_pipLayerBecomesVisible() { checkResults(result -> LayersTraceSubject.assertThat(result) .skipUntilFirstAssertion() .showsLayer(sPipWindowTitle) .then() .hidesLayer(sPipWindowTitle) .forAllEntries()); } @Ignore @Test public void checkVisibility_backgroundWindowVisibleBehindPipLayer() { checkResults(result -> WmTraceSubject.assertThat(result) .showsAppWindowOnTop(sPipWindowTitle) .then() .showsBelowAppWindow("Wallpaper") .then() .showsAppWindowOnTop("Wallpaper") .forAllEntries()); } } Loading
tests/FlickerTests/AndroidTest.xml +8 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,14 @@ <option name="screen-always-on" value="on" /> <!-- prevents the phone from restarting --> <option name="force-skip-system-props" value="true" /> <!-- set WM tracing verbose level to all --> <option name="run-command" value="adb shell cmd window tracing level all" /> <!-- inform WM to log all transactions --> <option name="run-command" value="adb shell cmd window tracing transaction" /> </target_preparer> <target_preparer class="com.android.tradefed.targetprep.DeviceCleaner"> <!-- keeps the screen on during tests --> <option name="cleanup-action" value="REBOOT" /> </target_preparer> <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller"> <option name="cleanup-apks" value="true"/> Loading
tests/FlickerTests/src/com/android/server/wm/flicker/CommonTransitions.java +25 −15 Original line number Diff line number Diff line Loading @@ -20,7 +20,6 @@ import static android.os.SystemClock.sleep; import static android.view.Surface.rotationToString; import static com.android.server.wm.flicker.helpers.AutomationUtils.clearRecents; import static com.android.server.wm.flicker.helpers.AutomationUtils.closePipWindow; import static com.android.server.wm.flicker.helpers.AutomationUtils.exitSplitScreen; import static com.android.server.wm.flicker.helpers.AutomationUtils.expandPipWindow; import static com.android.server.wm.flicker.helpers.AutomationUtils.launchSplitScreen; Loading Loading @@ -285,41 +284,52 @@ class CommonTransitions { .repeat(ITERATIONS); } static TransitionBuilder enterPipMode(PipAppHelper testApp, UiDevice device) { static TransitionBuilder enterPipMode(PipAppHelper testApp, UiDevice device, int beginRotation) { return TransitionRunner.newBuilder() .withTag("enterPipMode_" + testApp.getLauncherName()) .withTag("enterPipMode_" + testApp.getLauncherName() + rotationToString(beginRotation)) .runBeforeAll(AutomationUtils::wakeUpAndGoToHomeScreen) .runBefore(device::pressHome) .runBefore(() -> setRotation(device, beginRotation)) .runBefore(testApp::open) .run(() -> testApp.clickEnterPipButton(device)) .runAfter(() -> closePipWindow(device)) .runAfter(() -> testApp.closePipWindow(device)) .runAfterAll(testApp::exit) .repeat(ITERATIONS); } static TransitionBuilder exitPipModeToHome(PipAppHelper testApp, UiDevice device) { static TransitionBuilder exitPipModeToHome(PipAppHelper testApp, UiDevice device, int beginRotation) { return TransitionRunner.newBuilder() .withTag("exitPipModeToHome_" + testApp.getLauncherName()) .withTag("exitPipModeToHome_" + testApp.getLauncherName() + rotationToString(beginRotation)) .recordAllRuns() .runBeforeAll(AutomationUtils::wakeUpAndGoToHomeScreen) .runBefore(device::pressHome) .runBefore(() -> setRotation(device, beginRotation)) .runBefore(testApp::open) .runBefore(() -> testApp.clickEnterPipButton(device)) .run(() -> closePipWindow(device)) .run(() -> testApp.clickEnterPipButton(device)) .run(() -> testApp.closePipWindow(device)) .run(device::waitForIdle) .runAfterAll(testApp::exit) .run(testApp::exit) .repeat(ITERATIONS); } static TransitionBuilder exitPipModeToApp(PipAppHelper testApp, UiDevice device) { static TransitionBuilder exitPipModeToApp(PipAppHelper testApp, UiDevice device, int beginRotation) { return TransitionRunner.newBuilder() .withTag("exitPipModeToApp_" + testApp.getLauncherName()) .withTag("exitPipModeToApp_" + testApp.getLauncherName() + rotationToString(beginRotation)) .recordAllRuns() .runBeforeAll(AutomationUtils::wakeUpAndGoToHomeScreen) .runBefore(device::pressHome) .runBefore(testApp::open) .runBefore(() -> testApp.clickEnterPipButton(device)) .run(device::pressHome) .run(() -> setRotation(device, beginRotation)) .run(testApp::open) .run(() -> testApp.clickEnterPipButton(device)) .run(() -> expandPipWindow(device)) .run(device::waitForIdle) .runAfterAll(testApp::exit) .run(testApp::exit) .repeat(ITERATIONS); } }
tests/FlickerTests/src/com/android/server/wm/flicker/DebugTest.java +8 −7 Original line number Diff line number Diff line Loading @@ -116,7 +116,7 @@ public class DebugTest { ImeAppHelper bottomApp = new ImeAppHelper(InstrumentationRegistry.getInstrumentation()); CommonTransitions.resizeSplitScreen(testApp, bottomApp, uiDevice, Surface.ROTATION_0, new Rational(1, 3), new Rational(2, 3)) .includeJankyRuns().recordEachRun().build().run(); .includeJankyRuns().build().run(); } // IME tests Loading @@ -128,7 +128,7 @@ public class DebugTest { public void editTextSetFocus() { ImeAppHelper testApp = new ImeAppHelper(InstrumentationRegistry.getInstrumentation()); CommonTransitions.editTextSetFocus(testApp, uiDevice, Surface.ROTATION_0) .includeJankyRuns().recordEachRun() .includeJankyRuns() .build().run(); } Loading @@ -139,7 +139,7 @@ public class DebugTest { public void editTextLoseFocusToHome() { ImeAppHelper testApp = new ImeAppHelper(InstrumentationRegistry.getInstrumentation()); CommonTransitions.editTextLoseFocusToHome(testApp, uiDevice, Surface.ROTATION_0) .includeJankyRuns().recordEachRun() .includeJankyRuns() .build().run(); } Loading @@ -150,7 +150,7 @@ public class DebugTest { public void editTextLoseFocusToApp() { ImeAppHelper testApp = new ImeAppHelper(InstrumentationRegistry.getInstrumentation()); CommonTransitions.editTextLoseFocusToHome(testApp, uiDevice, Surface.ROTATION_0) .includeJankyRuns().recordEachRun() .includeJankyRuns() .build().run(); } Loading @@ -162,7 +162,7 @@ public class DebugTest { @Test public void enterPipMode() { PipAppHelper testApp = new PipAppHelper(InstrumentationRegistry.getInstrumentation()); CommonTransitions.enterPipMode(testApp, uiDevice).includeJankyRuns().recordEachRun() CommonTransitions.enterPipMode(testApp, uiDevice, Surface.ROTATION_0).includeJankyRuns() .build().run(); } Loading @@ -172,7 +172,8 @@ public class DebugTest { @Test public void exitPipModeToHome() { PipAppHelper testApp = new PipAppHelper(InstrumentationRegistry.getInstrumentation()); CommonTransitions.exitPipModeToHome(testApp, uiDevice).includeJankyRuns().recordEachRun() CommonTransitions.exitPipModeToHome(testApp, uiDevice, Surface.ROTATION_0) .includeJankyRuns() .build().run(); } Loading @@ -182,7 +183,7 @@ public class DebugTest { @Test public void exitPipModeToApp() { PipAppHelper testApp = new PipAppHelper(InstrumentationRegistry.getInstrumentation()); CommonTransitions.exitPipModeToApp(testApp, uiDevice).includeJankyRuns().recordEachRun() CommonTransitions.exitPipModeToApp(testApp, uiDevice, Surface.ROTATION_0).includeJankyRuns() .build().run(); } }
tests/FlickerTests/src/com/android/server/wm/flicker/PipToAppTest.java 0 → 100644 +89 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.server.wm.flicker; import static com.android.server.wm.flicker.CommonTransitions.exitPipModeToApp; import androidx.test.InstrumentationRegistry; import androidx.test.filters.LargeTest; import com.android.server.wm.flicker.helpers.PipAppHelper; import org.junit.Before; import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.MethodSorters; import org.junit.runners.Parameterized; /** * Test Pip launch. * To run this test: {@code atest FlickerTests:PipToAppTest} */ @LargeTest @RunWith(Parameterized.class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class PipToAppTest extends NonRotationTestBase { static final String sPipWindowTitle = "PipMenuActivity"; public PipToAppTest(String beginRotationName, int beginRotation) { super(beginRotationName, beginRotation); this.mTestApp = new PipAppHelper(InstrumentationRegistry.getInstrumentation()); } @Before public void runTransition() { run(exitPipModeToApp((PipAppHelper) mTestApp, mUiDevice, mBeginRotation) .includeJankyRuns().build()); } @Test public void checkVisibility_pipWindowBecomesVisible() { checkResults(result -> WmTraceSubject.assertThat(result) .skipUntilFirstAssertion() .showsAppWindowOnTop(sPipWindowTitle) .then() .hidesAppWindow(sPipWindowTitle) .forAllEntries()); } @Test public void checkVisibility_pipLayerBecomesVisible() { checkResults(result -> LayersTraceSubject.assertThat(result) .skipUntilFirstAssertion() .showsLayer(sPipWindowTitle) .then() .hidesLayer(sPipWindowTitle) .forAllEntries()); } @Test public void checkVisibility_backgroundWindowVisibleBehindPipLayer() { checkResults(result -> WmTraceSubject.assertThat(result) .skipUntilFirstAssertion() .showsAppWindowOnTop(sPipWindowTitle) .then() .showsBelowAppWindow("Wallpaper") .then() .showsAppWindowOnTop(mTestApp.getPackage()) .then() .hidesAppWindowOnTop(mTestApp.getPackage()) .forAllEntries()); } }
tests/FlickerTests/src/com/android/server/wm/flicker/PipToHomeTest.java 0 → 100644 +93 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.server.wm.flicker; import static com.android.server.wm.flicker.CommonTransitions.exitPipModeToHome; import android.view.Surface; import androidx.test.InstrumentationRegistry; import androidx.test.filters.LargeTest; import androidx.test.runner.AndroidJUnit4; import com.android.server.wm.flicker.helpers.PipAppHelper; import org.junit.Before; import org.junit.FixMethodOrder; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.MethodSorters; /** * Test Pip launch. * To run this test: {@code atest FlickerTests:PipToHomeTest} */ @LargeTest @RunWith(AndroidJUnit4.class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class PipToHomeTest extends FlickerTestBase { static final String sPipWindowTitle = "PipActivity"; // public PipToHomeTest(String beginRotationName, int beginRotation) { public PipToHomeTest() { // super(beginRotationName, beginRotation); this.mTestApp = new PipAppHelper(InstrumentationRegistry.getInstrumentation()); } @Before public void runTransition() { // run(exitPipModeToHome((PipAppHelper) mTestApp, mUiDevice, mBeginRotation) run(exitPipModeToHome((PipAppHelper) mTestApp, mUiDevice, Surface.ROTATION_0) .includeJankyRuns().build()); } @Ignore @Test public void checkVisibility_pipWindowBecomesVisible() { checkResults(result -> WmTraceSubject.assertThat(result) .skipUntilFirstAssertion() .showsAppWindowOnTop(sPipWindowTitle) .then() .hidesAppWindow(sPipWindowTitle) .forAllEntries()); } @Test public void checkVisibility_pipLayerBecomesVisible() { checkResults(result -> LayersTraceSubject.assertThat(result) .skipUntilFirstAssertion() .showsLayer(sPipWindowTitle) .then() .hidesLayer(sPipWindowTitle) .forAllEntries()); } @Ignore @Test public void checkVisibility_backgroundWindowVisibleBehindPipLayer() { checkResults(result -> WmTraceSubject.assertThat(result) .showsAppWindowOnTop(sPipWindowTitle) .then() .showsBelowAppWindow("Wallpaper") .then() .showsAppWindowOnTop("Wallpaper") .forAllEntries()); } }