Merge changes from topic "presubmit-am-6fdfbe39c42b4f2494a48e8d3918acc0" into tm-mainline-prod
* changes:
[automerge] Changes to reduce flakiness of TrustTests 2p: c7dd3cabf3
Changes to reduce flakiness of TrustTests
This commit is contained in:
committed by
Android (Google) Code Review
commit
825609d299
@@ -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" />
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user