Wakeup screen before dismissing keyguard am: f97924d826
Original change: https://android-review.googlesource.com/c/platform/tools/tradefederation/+/3504430
Change-Id: I8037dfe5533c15d2ff9e1f703fa3057ca9e88c4e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/javatests/com/android/tradefed/suite/checker/baseline/LockSettingsBaselineSetterTest.java b/javatests/com/android/tradefed/suite/checker/baseline/LockSettingsBaselineSetterTest.java
index 4aecb53..a809870 100644
--- a/javatests/com/android/tradefed/suite/checker/baseline/LockSettingsBaselineSetterTest.java
+++ b/javatests/com/android/tradefed/suite/checker/baseline/LockSettingsBaselineSetterTest.java
@@ -47,6 +47,7 @@
private static final String GET_LOCK_SCREEN_COMMAND = "locksettings get-disabled";
private static final String LOCK_SCREEN_OFF_COMMAND = "locksettings set-disabled true";
private static final String CLEAR_PWD_COMMAND = "locksettings clear --old %s";
+ private static final String KEYCODE_WAKEUP_COMMAND = "input keyevent KEYCODE_WAKEUP";
private static final String KEYCODE_MENU_COMMAND = "input keyevent KEYCODE_MENU";
private static final String KEYCODE_HOME_COMMAND = "input keyevent KEYCODE_HOME";
@@ -71,6 +72,8 @@
public void setBaseline_lockScreenOff_skipRemovingPasswords() throws Exception {
when(mMockDevice.executeShellV2Command(GET_LOCK_SCREEN_COMMAND))
.thenReturn(getMockCommandResult(CommandStatus.SUCCESS, "true"));
+ when(mMockDevice.executeShellV2Command(KEYCODE_WAKEUP_COMMAND))
+ .thenReturn(getMockCommandResult(CommandStatus.SUCCESS, null));
when(mMockDevice.executeShellV2Command(KEYCODE_MENU_COMMAND))
.thenReturn(getMockCommandResult(CommandStatus.SUCCESS, null));
when(mMockDevice.executeShellV2Command(KEYCODE_HOME_COMMAND))
@@ -90,6 +93,8 @@
.thenReturn(
getMockCommandResult(CommandStatus.SUCCESS, "false"),
getMockCommandResult(CommandStatus.SUCCESS, "true"));
+ when(mMockDevice.executeShellV2Command(KEYCODE_WAKEUP_COMMAND))
+ .thenReturn(getMockCommandResult(CommandStatus.SUCCESS, null));
when(mMockDevice.executeShellV2Command(KEYCODE_MENU_COMMAND))
.thenReturn(getMockCommandResult(CommandStatus.SUCCESS, null));
when(mMockDevice.executeShellV2Command(KEYCODE_HOME_COMMAND))
@@ -100,11 +105,27 @@
verify(mMockDevice).executeShellV2Command(String.format(CLEAR_PWD_COMMAND, "1234"));
}
- /** Test that the setter returns false when the baseline is failed to remove lock screen. */
+ /** Test that the setter returns false when the lockscreen is disabled and so not removed. */
@Test
public void setBaseline_removeLockScreenFails_returnFalse() throws Exception {
when(mMockDevice.executeShellV2Command(GET_LOCK_SCREEN_COMMAND))
.thenReturn(getMockCommandResult(CommandStatus.SUCCESS, "false"));
+ when(mMockDevice.executeShellV2Command(KEYCODE_WAKEUP_COMMAND))
+ .thenReturn(getMockCommandResult(CommandStatus.SUCCESS, null));
+ when(mMockDevice.executeShellV2Command(KEYCODE_MENU_COMMAND))
+ .thenReturn(getMockCommandResult(CommandStatus.SUCCESS, null));
+ when(mMockDevice.executeShellV2Command(KEYCODE_HOME_COMMAND))
+ .thenReturn(getMockCommandResult(CommandStatus.SUCCESS, null));
+ assertFalse(mSetter.setBaseline(mMockDevice));
+ }
+
+ /** Test that the setter returns false when the baseline is failed to input KEYCODE_WAKEUP. */
+ @Test
+ public void setBaseline_inputKeycodeWakeupFails_returnFalse() throws Exception {
+ when(mMockDevice.executeShellV2Command(GET_LOCK_SCREEN_COMMAND))
+ .thenReturn(getMockCommandResult(CommandStatus.SUCCESS, "true"));
+ when(mMockDevice.executeShellV2Command(KEYCODE_WAKEUP_COMMAND))
+ .thenReturn(getMockCommandResult(CommandStatus.FAILED, null));
when(mMockDevice.executeShellV2Command(KEYCODE_MENU_COMMAND))
.thenReturn(getMockCommandResult(CommandStatus.SUCCESS, null));
when(mMockDevice.executeShellV2Command(KEYCODE_HOME_COMMAND))
@@ -117,6 +138,8 @@
public void setBaseline_inputKeycodeMenuFails_returnFalse() throws Exception {
when(mMockDevice.executeShellV2Command(GET_LOCK_SCREEN_COMMAND))
.thenReturn(getMockCommandResult(CommandStatus.SUCCESS, "true"));
+ when(mMockDevice.executeShellV2Command(KEYCODE_WAKEUP_COMMAND))
+ .thenReturn(getMockCommandResult(CommandStatus.SUCCESS, null));
when(mMockDevice.executeShellV2Command(KEYCODE_MENU_COMMAND))
.thenReturn(getMockCommandResult(CommandStatus.FAILED, null));
when(mMockDevice.executeShellV2Command(KEYCODE_HOME_COMMAND))
@@ -129,6 +152,8 @@
public void setBaseline_inputKeycodeHomeFails_returnFalse() throws Exception {
when(mMockDevice.executeShellV2Command(GET_LOCK_SCREEN_COMMAND))
.thenReturn(getMockCommandResult(CommandStatus.SUCCESS, "true"));
+ when(mMockDevice.executeShellV2Command(KEYCODE_WAKEUP_COMMAND))
+ .thenReturn(getMockCommandResult(CommandStatus.SUCCESS, null));
when(mMockDevice.executeShellV2Command(KEYCODE_MENU_COMMAND))
.thenReturn(getMockCommandResult(CommandStatus.SUCCESS, null));
when(mMockDevice.executeShellV2Command(KEYCODE_HOME_COMMAND))
diff --git a/src/com/android/tradefed/suite/checker/baseline/LockSettingsBaselineSetter.java b/src/com/android/tradefed/suite/checker/baseline/LockSettingsBaselineSetter.java
index 80b3b89..d219f85 100644
--- a/src/com/android/tradefed/suite/checker/baseline/LockSettingsBaselineSetter.java
+++ b/src/com/android/tradefed/suite/checker/baseline/LockSettingsBaselineSetter.java
@@ -36,6 +36,7 @@
private static final String CLEAR_PWD_COMMAND = "locksettings clear --old %s";
private static final String KEYCODE_MENU_COMMAND = "input keyevent KEYCODE_MENU";
private static final String KEYCODE_HOME_COMMAND = "input keyevent KEYCODE_HOME";
+ private static final String KEYCODE_WAKEUP_COMMAND = "input keyevent KEYCODE_WAKEUP";
public LockSettingsBaselineSetter(JSONObject object, String name) throws JSONException {
super(object, name);
@@ -60,9 +61,11 @@
if (!isLockScreenDisabled(mDevice)) {
return false;
}
+ CommandResult wakeupResult = mDevice.executeShellV2Command(KEYCODE_WAKEUP_COMMAND);
CommandResult menuResult = mDevice.executeShellV2Command(KEYCODE_MENU_COMMAND);
CommandResult homeResult = mDevice.executeShellV2Command(KEYCODE_HOME_COMMAND);
- return CommandStatus.SUCCESS.equals(menuResult.getStatus())
+ return CommandStatus.SUCCESS.equals(wakeupResult.getStatus())
+ && CommandStatus.SUCCESS.equals(menuResult.getStatus())
&& CommandStatus.SUCCESS.equals(homeResult.getStatus());
}