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

Commit 8ef0e48e authored by Nataniel Borges's avatar Nataniel Borges
Browse files

Support different navigation modes on WM flicker

By default use only Gestural navigation, but more navigation modes can now be enabled on each test

Test: atest FlickerTests
Bug: 167521849
Change-Id: Ic8dcd2390da63663b228977928925fb1e2f99ed5
parent a6508610
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.server.wm.flicker.close

import android.view.WindowManagerPolicyConstants
import androidx.test.filters.RequiresDevice
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
import com.android.server.wm.flicker.FlickerTestParameter
@@ -49,7 +50,12 @@ class CloseAppBackButtonTest(testSpec: FlickerTestParameter) : CloseAppTransitio
        @JvmStatic
        fun getParams(): List<FlickerTestParameter> {
            return FlickerTestParameterFactory.getInstance()
                .getConfigNonRotationTests(repetitions = 5)
                .getConfigNonRotationTests(
                    repetitions = 5,
                    supportedNavigationModes = listOf(
                        WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL_OVERLAY
                    )
                )
        }
    }
}
 No newline at end of file
+7 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.server.wm.flicker.close

import android.view.WindowManagerPolicyConstants
import androidx.test.filters.RequiresDevice
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
import com.android.server.wm.flicker.FlickerTestParameter
@@ -49,7 +50,12 @@ class CloseAppHomeButtonTest(testSpec: FlickerTestParameter) : CloseAppTransitio
        @JvmStatic
        fun getParams(): Collection<FlickerTestParameter> {
            return FlickerTestParameterFactory.getInstance()
                .getConfigNonRotationTests(repetitions = 5)
                .getConfigNonRotationTests(
                    repetitions = 5,
                    supportedNavigationModes = listOf(
                        WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL_OVERLAY
                    )
                )
        }
    }
}
 No newline at end of file
+3 −21
Original line number Diff line number Diff line
@@ -16,31 +16,13 @@

package com.android.server.wm.flicker.helpers

import android.os.RemoteException
import android.view.Surface
import com.android.server.wm.flicker.Flicker
import com.android.server.wm.flicker.rules.ChangeDisplayOrientationRule

/**
 * Changes the device [rotation] and wait for the rotation animation to complete
 *
 * @param rotation New device rotation
 */
fun Flicker.setRotation(rotation: Int) {
    try {
        when (rotation) {
            Surface.ROTATION_270 -> device.setOrientationRight()
            Surface.ROTATION_90 -> device.setOrientationLeft()
            Surface.ROTATION_0 -> device.setOrientationNatural()
            else -> device.setOrientationNatural()
        }

        wmHelper.waitForRotation(rotation)
        wmHelper.waitForNavBarStatusBarVisible()
        wmHelper.waitForAppTransitionIdle()

        // Ensure WindowManagerService wait until all animations have completed
        instrumentation.uiAutomation.syncInputTransactions()
    } catch (e: RemoteException) {
        throw RuntimeException(e)
    }
}
 No newline at end of file
fun Flicker.setRotation(rotation: Int) =
    ChangeDisplayOrientationRule.setRotation(rotation, instrumentation, wmHelper)
+7 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.app.Instrumentation
import android.platform.test.annotations.Postsubmit
import android.platform.test.annotations.Presubmit
import android.view.Surface
import android.view.WindowManagerPolicyConstants
import androidx.test.filters.FlakyTest
import androidx.test.filters.RequiresDevice
import androidx.test.platform.app.InstrumentationRegistry
@@ -164,7 +165,12 @@ class CloseImeAutoOpenWindowToAppTest(private val testSpec: FlickerTestParameter
        @JvmStatic
        fun getParams(): Collection<FlickerTestParameter> {
            return FlickerTestParameterFactory.getInstance()
                .getConfigNonRotationTests(repetitions = 5)
                .getConfigNonRotationTests(
                    repetitions = 5,
                    supportedNavigationModes = listOf(
                        WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL_OVERLAY
                    )
                )
        }
    }
}
+7 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.server.wm.flicker.ime
import android.app.Instrumentation
import android.platform.test.annotations.Presubmit
import android.view.Surface
import android.view.WindowManagerPolicyConstants
import androidx.test.filters.FlakyTest
import androidx.test.filters.RequiresDevice
import androidx.test.platform.app.InstrumentationRegistry
@@ -178,7 +179,12 @@ class CloseImeAutoOpenWindowToHomeTest(private val testSpec: FlickerTestParamete
        @JvmStatic
        fun getParams(): Collection<FlickerTestParameter> {
            return FlickerTestParameterFactory.getInstance()
                .getConfigNonRotationTests(repetitions = 5)
                .getConfigNonRotationTests(
                    repetitions = 5,
                    supportedNavigationModes = listOf(
                        WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL_OVERLAY
                    )
                )
        }
    }
}
Loading