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

Commit 0428a7e9 authored by Felix Stern's avatar Felix Stern
Browse files

Fix IME flicker test in split screen when no layer change was applied

The test in question was using the TRACE_CONFIG_REQUIRE_CHANGES, where at least one layer change was asserted.
With the refactor, there will be no change, if the IME is already showing and requested to be shown again.
By using config.allowNoChange, we don't assert at least one change.

Test: atest WMShellFlickerTestsSplitScreenGroupOther:MultipleShowImeRequestsInSplitScreen
Flag: android.view.inputmethod.refactor_insets_controller
Fix: 355057357
Change-Id: I5dcd12b2a0417039b2a94495417b0e01f8c8f6a3
parent ab361647
Loading
Loading
Loading
Loading
+19 −5
Original line number Diff line number Diff line
@@ -17,11 +17,13 @@
package com.android.wm.shell.flicker.splitscreen

import android.platform.test.annotations.Presubmit
import android.tools.NavBar
import android.tools.Rotation
import android.tools.ScenarioBuilder
import android.tools.flicker.junit.FlickerParametersRunnerFactory
import android.tools.flicker.legacy.FlickerBuilder
import android.tools.flicker.legacy.LegacyFlickerTest
import android.tools.flicker.legacy.LegacyFlickerTestFactory
import android.tools.traces.SERVICE_TRACE_CONFIG
import android.tools.traces.component.ComponentNameMatcher
import androidx.test.filters.RequiresDevice
import com.android.wm.shell.flicker.splitscreen.benchmark.MultipleShowImeRequestsInSplitScreenBenchmark
@@ -35,7 +37,7 @@ import org.junit.runners.Parameterized
/**
 * Test quick switch between two split pairs.
 *
 * To run this test: `atest WMShellFlickerTestsSplitScreenGroup2:MultipleShowImeRequestsInSplitScreen`
 * To run this test: `atest WMShellFlickerTestsSplitScreenGroupOther:MultipleShowImeRequestsInSplitScreen`
 */
@RequiresDevice
@RunWith(Parameterized::class)
@@ -58,10 +60,22 @@ class MultipleShowImeRequestsInSplitScreen(override val flicker: LegacyFlickerTe
            }

    companion object {
        private fun createFlickerTest(
            navBarMode: NavBar
        ) = LegacyFlickerTest(ScenarioBuilder()
            .withStartRotation(Rotation.ROTATION_0)
            .withEndRotation(Rotation.ROTATION_0)
            .withNavBarMode(navBarMode), resultReaderProvider = { scenario ->
            android.tools.flicker.datastore.CachedResultReader(
                scenario, SERVICE_TRACE_CONFIG
            )
        })

        @Parameterized.Parameters(name = "{0}")
        @JvmStatic
        fun getParams() = LegacyFlickerTestFactory.nonRotationTests(
                supportedRotations = listOf(Rotation.ROTATION_0)
        fun getParams() = listOf(
            createFlickerTest(NavBar.MODE_GESTURAL),
            createFlickerTest(NavBar.MODE_3BUTTON)
        )
    }
}
 No newline at end of file