1 /*
2  * Copyright (C) 2022 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.server.wm.flicker.activityembedding
18 
19 import android.platform.test.annotations.Presubmit
20 import android.tools.flicker.legacy.LegacyFlickerTest
21 import android.tools.traces.component.ComponentNameMatcher
22 import com.android.server.wm.flicker.BaseTest
23 import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper
24 import org.junit.Before
25 import org.junit.Test
26 
27 abstract class ActivityEmbeddingTestBase(flicker: LegacyFlickerTest) : BaseTest(flicker) {
28     val testApp = ActivityEmbeddingAppHelper(instrumentation)
29 
30     @Before
assumeActivityEmbeddingSupportednull31     fun assumeActivityEmbeddingSupported() {
32         // The test should only be run on devices that support ActivityEmbedding.
33         ActivityEmbeddingAppHelper.assumeActivityEmbeddingSupportedDevice()
34     }
35 
36     /** Asserts the background animation layer is never visible during bounds change transition. */
37     @Presubmit
38     @Test
backgroundLayerNeverVisiblenull39     open fun backgroundLayerNeverVisible() {
40         val backgroundColorLayer = ComponentNameMatcher("", "Animation Background")
41         flicker.assertLayers { isInvisible(backgroundColorLayer) }
42     }
43 }
44