Merge "Fix screen turns off once triggering long press power behavior" into udc-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
01a9c09f67
@@ -314,7 +314,9 @@ public final class SingleKeyGestureDetector {
|
||||
if (eventTime < mLastDownTime + mActiveRule.getVeryLongPressTimeoutMs()) {
|
||||
mHandler.removeMessages(MSG_KEY_VERY_LONG_PRESS);
|
||||
} else {
|
||||
mHandledByLongPress = mActiveRule.supportVeryLongPress();
|
||||
// If long press or very long press (~3.5s) had been handled, we should skip the
|
||||
// short press behavior.
|
||||
mHandledByLongPress |= mActiveRule.supportVeryLongPress();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -316,4 +316,16 @@ public class SingleKeyGestureTests {
|
||||
pressKey(KEYCODE_POWER, 0 /* pressTime */);
|
||||
assertTrue(mShortPressed.await(mWaitTimeout, TimeUnit.MILLISECONDS));
|
||||
}
|
||||
|
||||
// Verify short press should not be triggered if no very long press behavior defined but the
|
||||
// press time exceeded the very long press timeout.
|
||||
@Test
|
||||
public void testTimeoutExceedVeryLongPress() throws InterruptedException {
|
||||
mVeryLongPressOnPowerBehavior = false;
|
||||
|
||||
pressKey(KEYCODE_POWER, mVeryLongPressTime + 50);
|
||||
assertTrue(mLongPressed.await(mWaitTimeout, TimeUnit.MILLISECONDS));
|
||||
assertEquals(mVeryLongPressed.getCount(), 1);
|
||||
assertEquals(mShortPressed.getCount(), 1);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user