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

Commit 0d97e88c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Changes to reduce flakiness of TrustTests" into tm-dev

parents 6a1b6bc9 c7dd3cab
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -16,6 +16,13 @@
  -->
<configuration description="TrustTests configuration">
    <option name="test-tag" value="TrustTests" />
    <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
        <!-- Disable the double-tap power button for camera -->
        <option name="run-command"
                value="settings put secure camera_double_tap_power_gesture_disabled 1" />
        <option name="teardown-command"
                value="settings delete secure camera_double_tap_power_gesture_disabled" />
    </target_preparer>
    <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
        <option name="cleanup-apks" value="true" />
        <option name="test-file-name" value="TrustTests.apk" />
+1 −1
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ import org.junit.runner.RunWith
 */
@RunWith(AndroidJUnit4::class)
class UserUnlockRequestTest {
    private val context: Context = getApplicationContext()
    private val context = getApplicationContext<Context>()
    private val trustManager = context.getSystemService(TrustManager::class.java) as TrustManager
    private val userId = context.userId
    private val activityScenarioRule = ActivityScenarioRule(TrustTestActivity::class.java)
+11 −8
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.trust.test.lib

import android.content.Context
import android.util.Log
import android.view.KeyEvent
import android.view.WindowManagerGlobal
import androidx.test.core.app.ApplicationProvider.getApplicationContext
import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
@@ -64,17 +65,19 @@ class ScreenLockRule : TestRule {

    fun dismissKeyguard() {
        wait("keyguard dismissed") { count ->
            windowManager.dismissKeyguard(null, null)

            // Sometimes, bouncer gets shown due to a race, so we have to put display to sleep
            // and wake it back up to get it to go away
            if (count >= 10 && count % 5 == 0) {
                Log.i(TAG, "Escalation: attempting screen off/on to get rid of bouncer")
                uiDevice.sleep()
                Thread.sleep(250)
            if (!uiDevice.isScreenOn) {
                Log.i(TAG, "Waking device, +500ms")
                uiDevice.wakeUp()
            }

            // Bouncer may be shown due to a race; back dismisses it
            if (count >= 10) {
                Log.i(TAG, "Pressing back to dismiss Bouncer")
                uiDevice.pressKeyCode(KeyEvent.KEYCODE_BACK)
            }

            windowManager.dismissKeyguard(null, null)

            !windowManager.isKeyguardLocked
        }
    }