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()) {
|
if (eventTime < mLastDownTime + mActiveRule.getVeryLongPressTimeoutMs()) {
|
||||||
mHandler.removeMessages(MSG_KEY_VERY_LONG_PRESS);
|
mHandler.removeMessages(MSG_KEY_VERY_LONG_PRESS);
|
||||||
} else {
|
} 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 */);
|
pressKey(KEYCODE_POWER, 0 /* pressTime */);
|
||||||
assertTrue(mShortPressed.await(mWaitTimeout, TimeUnit.MILLISECONDS));
|
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