Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8fb5ae14 authored by Priyanka Advani (xWF)'s avatar Priyanka Advani (xWF) Committed by Android (Google) Code Review
Browse files

Revert "Add flicker tests to verify non-match parent on exit PIP"

Revert submission 30467296-bottom_half_exit_pip_flicker_tests

Reason for revert: Droidmonitor created revert due to b/380397174. Will be verifying through ABTD before submission.

Reverted changes: /q/submissionid:30467296-bottom_half_exit_pip_flicker_tests

Change-Id: I1a3ec44fe700285d6a613451fbdaba72c7738bbb
parent f7f24703
Loading
Loading
Loading
Loading
+0 −21
Original line number Diff line number Diff line
@@ -266,26 +266,5 @@ test_module_config {
    test_suites: ["device-tests"],
}

test_module_config {
    name: "WMShellFlickerTestsPip-nonMatchParent",
    base: "WMShellFlickerTestsPip",
    include_filters: ["com.android.wm.shell.flicker.pip.nonmatchparent.*"],
    test_suites: ["device-tests"],
}

test_module_config {
    name: "WMShellFlickerTestsPip-BottomHalfExitPipToAppViaExpandButtonTest",
    base: "WMShellFlickerTestsPip",
    include_filters: ["com.android.wm.shell.flicker.pip.nonmatchparent.BottomHalfExitPipToAppViaExpandButtonTest"],
    test_suites: ["device-tests"],
}

test_module_config {
    name: "WMShellFlickerTestsPip-BottomHalfExitPipToAppViaIntentTest",
    base: "WMShellFlickerTestsPip",
    include_filters: ["com.android.wm.shell.flicker.pip.nonmatchparent.BottomHalfExitPipToAppViaIntentTest"],
    test_suites: ["device-tests"],
}

// End breakdowns for WMShellFlickerTestsPip module
////////////////////////////////////////////////////////////////////////////////
+1 −5
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ abstract class PipTransition(flicker: LegacyFlickerTest) : BaseTest(flicker) {
    @Rule
    val checkFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule()

    protected val pipApp = PipAppHelper(instrumentation)
    protected val displayBounds = WindowUtils.getDisplayBounds(flicker.scenario.startRotation)
    protected val broadcastActionTrigger = BroadcastActionTrigger(instrumentation)

@@ -62,11 +63,6 @@ abstract class PipTransition(flicker: LegacyFlickerTest) : BaseTest(flicker) {
        }
    }

    /**
     * Defines the test app to run PIP flicker test.
     */
    protected open val pipApp = PipAppHelper(instrumentation)

    /** Defines the transition used to run the test */
    protected open val thisTransition: FlickerBuilder.() -> Unit = {}

+0 −96
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 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.wm.shell.flicker.pip.nonmatchparent

import android.platform.test.annotations.Presubmit
import android.platform.test.annotations.RequiresFlagsEnabled
import android.tools.flicker.legacy.LegacyFlickerTest
import android.tools.traces.component.ComponentNameMatcher
import com.android.server.wm.flicker.helpers.BottomHalfPipAppHelper
import com.android.server.wm.flicker.helpers.PipAppHelper
import com.android.window.flags.Flags
import com.android.wm.shell.flicker.pip.common.ExitPipToAppTransition
import org.junit.Test

/**
 * Base test class to verify PIP exit animation with an activity layout to the bottom half of
 * the container.
 */
@RequiresFlagsEnabled(Flags.FLAG_BETTER_SUPPORT_NON_MATCH_PARENT_ACTIVITY)
abstract class BottomHalfExitPipToAppTransition(flicker: LegacyFlickerTest) :
    ExitPipToAppTransition(flicker) {

    override val pipApp: PipAppHelper = BottomHalfPipAppHelper(instrumentation)

    @Presubmit
    @Test
    override fun showBothAppLayersThenHidePip() {
        // Disabled since the BottomHalfPipActivity just covers half of the simple activity.
    }

    @Presubmit
    @Test
    override fun showBothAppWindowsThenHidePip() {
        // Disabled since the BottomHalfPipActivity just covers half of the simple activity.
    }

    @Presubmit
    @Test
    override fun pipAppCoversFullScreenAtEnd() {
        // Disabled since the BottomHalfPipActivity just covers half of the simple activity.
    }

    /**
     * Checks that the [testApp] and [pipApp] are always visible since the [pipApp] only covers
     * half of screen.
     */
    @Presubmit
    @Test
    fun showBothAppLayersDuringPipTransition() {
        flicker.assertLayers {
            isVisible(testApp)
                .isVisible(pipApp.or(ComponentNameMatcher.TRANSITION_SNAPSHOT))
        }
    }

    /**
     * Checks that the [testApp] and [pipApp] are always visible since the [pipApp] only covers
     * half of screen.
     */
    @Presubmit
    @Test
    fun showBothAppWindowsDuringPipTransition() {
        flicker.assertWm {
            isAppWindowVisible(testApp)
                .isAppWindowOnTop(pipApp)
                .isAppWindowVisible(pipApp)
        }
    }

    /**
     * Verify that the [testApp] and [pipApp] covers the entire screen at the end of PIP exit
     * animation since the [pipApp] will use a bottom half layout.
     */
    @Presubmit
    @Test
    fun testPlusPipAppCoversWindowFrameAtEnd() {
        flicker.assertLayersEnd {
            val pipRegion = visibleRegion(pipApp).region
            visibleRegion(testApp).plus(pipRegion).coversExactly(displayBounds)
        }
    }
}
 No newline at end of file
+0 −70
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 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.wm.shell.flicker.pip.nonmatchparent

import android.tools.flicker.junit.FlickerParametersRunnerFactory
import android.tools.flicker.legacy.FlickerBuilder
import android.tools.flicker.legacy.LegacyFlickerTest
import org.junit.FixMethodOrder
import org.junit.runner.RunWith
import org.junit.runners.MethodSorters
import org.junit.runners.Parameterized

/**
 * Test expanding a pip window back to bottom half layout via the expand button
 *
 * To run this test: `atest WMShellFlickerTestsPip:BottomHalfExitPipToAppViaExpandButtonTest`
 *
 * Actions:
 * ```
 *     Launch an app in pip mode [bottomHalfPipApp],
 *     Launch another full screen mode [testApp]
 *     Expand [bottomHalfPipApp] app to bottom half layout by clicking on the pip window and
 *     then on the expand button
 * ```
 *
 * Notes:
 * ```
 *     1. Some default assertions (e.g., nav bar, status bar and screen covered)
 *        are inherited [PipTransition]
 *     2. Part of the test setup occurs automatically via
 *        [android.tools.flicker.legacy.runner.TransitionRunner],
 *        including configuring navigation mode, initial orientation and ensuring no
 *        apps are running before setup
 * ```
 */
@RunWith(Parameterized::class)
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
class BottomHalfExitPipToAppViaExpandButtonTest(flicker: LegacyFlickerTest) :
    BottomHalfExitPipToAppTransition(flicker)
{
    override val thisTransition: FlickerBuilder.() -> Unit = {
        setup {
            // launch an app behind the pip one
            testApp.launchViaIntent(wmHelper)
        }
        transitions {
            // This will bring PipApp to fullscreen
            pipApp.expandPipWindowToApp(wmHelper)
            // Wait until the transition idle and test and pip app still shows.
            wmHelper.StateSyncBuilder().withLayerVisible(testApp).withLayerVisible(pipApp)
                .withAppTransitionIdle().waitForAndVerify()
        }
    }
}
 No newline at end of file
+0 −68
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 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.wm.shell.flicker.pip.nonmatchparent

import android.tools.flicker.junit.FlickerParametersRunnerFactory
import android.tools.flicker.legacy.FlickerBuilder
import android.tools.flicker.legacy.LegacyFlickerTest
import org.junit.FixMethodOrder
import org.junit.runner.RunWith
import org.junit.runners.MethodSorters
import org.junit.runners.Parameterized

/**
 * Test expanding a pip window back to bottom half layout via an intent
 *
 * To run this test: `atest WMShellFlickerTestsPip:BottomHalfExitPipToAppViaIntentTest`
 *
 * Actions:
 * ```
 *     Launch an app in pip mode [bottomHalfPipApp],
 *     Launch another full screen mode [testApp]
 *     Expand [bottomHalfPipApp] app to bottom half layout via an intent
 * ```
 *
 * Notes:
 * ```
 *     1. Some default assertions (e.g., nav bar, status bar and screen covered)
 *        are inherited from [PipTransition]
 *     2. Part of the test setup occurs automatically via
 *        [android.tools.flicker.legacy.runner.TransitionRunner],
 *        including configuring navigation mode, initial orientation and ensuring no
 *        apps are running before setup
 * ```
 */
@RunWith(Parameterized::class)
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
class BottomHalfExitPipToAppViaIntentTest(flicker: LegacyFlickerTest) :
    BottomHalfExitPipToAppTransition(flicker)
{
    override val thisTransition: FlickerBuilder.() -> Unit = {
        setup {
            // launch an app behind the pip one
            testApp.launchViaIntent(wmHelper)
        }
        transitions {
            // This will bring PipApp to fullscreen
            pipApp.exitPipToFullScreenViaIntent(wmHelper)
            // Wait until the transition idle and test and pip app still shows.
            wmHelper.StateSyncBuilder().withLayerVisible(testApp).withLayerVisible(pipApp)
                .withAppTransitionIdle().waitForAndVerify()
        }
    }
}
 No newline at end of file
Loading