Loading services/tests/wmtests/src/com/android/server/policy/SingleKeyGestureTests.java +113 −90 Original line number Diff line number Diff line Loading @@ -74,7 +74,8 @@ public class SingleKeyGestureTests { @Before public void setUp() { mInstrumentation.runOnMainSync(() -> { mInstrumentation.runOnMainSync( () -> { mDetector = SingleKeyGestureDetector.get(mContext); initSingleKeyGestureRules(); }); Loading @@ -85,19 +86,23 @@ public class SingleKeyGestureTests { } private void initSingleKeyGestureRules() { mDetector.addRule(new SingleKeyGestureDetector.SingleKeyRule(KEYCODE_POWER) { mDetector.addRule( new SingleKeyGestureDetector.SingleKeyRule(KEYCODE_POWER) { @Override boolean supportLongPress() { return mLongPressOnPowerBehavior; } @Override boolean supportVeryLongPress() { return mVeryLongPressOnPowerBehavior; } @Override int getMaxMultiPressCount() { return mMaxMultiPressCount; } @Override public void onPress(long downTime) { if (mDetector.beganFromNonInteractive() && !mAllowNonInteractiveForPress) { Loading @@ -108,7 +113,8 @@ public class SingleKeyGestureTests { @Override void onLongPress(long downTime) { if (mDetector.beganFromNonInteractive() && !mAllowNonInteractiveForLongPress) { if (mDetector.beganFromNonInteractive() && !mAllowNonInteractiveForLongPress) { return; } mLongPressed.countDown(); Loading @@ -130,15 +136,18 @@ public class SingleKeyGestureTests { } }); mDetector.addRule(new SingleKeyGestureDetector.SingleKeyRule(KEYCODE_BACK) { mDetector.addRule( new SingleKeyGestureDetector.SingleKeyRule(KEYCODE_BACK) { @Override boolean supportLongPress() { return mLongPressOnBackBehavior; } @Override int getMaxMultiPressCount() { return mMaxMultiPressCount; } @Override public void onPress(long downTime) { if (mDetector.beganFromNonInteractive() && !mAllowNonInteractiveForPress) { Loading @@ -162,7 +171,6 @@ public class SingleKeyGestureTests { mLongPressed.countDown(); } }); } private void pressKey(int keyCode, long pressTime) { Loading @@ -176,8 +184,14 @@ public class SingleKeyGestureTests { private void pressKey( int keyCode, long pressTime, boolean interactive, boolean defaultDisplayOn) { long eventTime = SystemClock.uptimeMillis(); final KeyEvent keyDown = new KeyEvent(eventTime, eventTime, ACTION_DOWN, keyCode, 0 /* repeat */, 0 /* metaState */); final KeyEvent keyDown = new KeyEvent( eventTime, eventTime, ACTION_DOWN, keyCode, 0 /* repeat */, 0 /* metaState */); mDetector.interceptKey(keyDown, interactive, defaultDisplayOn); // keep press down. Loading @@ -188,8 +202,14 @@ public class SingleKeyGestureTests { } eventTime += pressTime; final KeyEvent keyUp = new KeyEvent(eventTime, eventTime, ACTION_UP, keyCode, 0 /* repeat */, 0 /* metaState */); final KeyEvent keyUp = new KeyEvent( eventTime, eventTime, ACTION_UP, keyCode, 0 /* repeat */, 0 /* metaState */); mDetector.interceptKey(keyUp, interactive, defaultDisplayOn); } Loading Loading @@ -252,10 +272,12 @@ public class SingleKeyGestureTests { // To make sure we won't get any crash while panic pressing keys. for (int i = 0; i < 100; i++) { mShortPressed = new CountDownLatch(2); newHandler.runWithScissors(() -> { newHandler.runWithScissors( () -> { pressKey(KEYCODE_POWER, 0 /* pressTime */); pressKey(KEYCODE_BACK, 0 /* pressTime */); }, mWaitTimeout); }, mWaitTimeout); assertTrue(mShortPressed.await(mWaitTimeout, TimeUnit.MILLISECONDS)); } } finally { Loading @@ -274,15 +296,16 @@ public class SingleKeyGestureTests { for (int i = 0; i < 5; i++) { mMultiPressed = new CountDownLatch(1); mShortPressed = new CountDownLatch(1); newHandler.runWithScissors(() -> { newHandler.runWithScissors( () -> { pressKey(KEYCODE_POWER, 0 /* pressTime */); pressKey(KEYCODE_POWER, 0 /* pressTime */); }, mWaitTimeout); }, mWaitTimeout); assertTrue(mMultiPressed.await(mWaitTimeout, TimeUnit.MILLISECONDS)); newHandler.runWithScissors(() -> { pressKey(KEYCODE_POWER, 0 /* pressTime */); }, mWaitTimeout); newHandler.runWithScissors( () -> pressKey(KEYCODE_POWER, 0 /* pressTime */), mWaitTimeout); assertTrue(mShortPressed.await(mWaitTimeout, TimeUnit.MILLISECONDS)); } } finally { Loading Loading
services/tests/wmtests/src/com/android/server/policy/SingleKeyGestureTests.java +113 −90 Original line number Diff line number Diff line Loading @@ -74,7 +74,8 @@ public class SingleKeyGestureTests { @Before public void setUp() { mInstrumentation.runOnMainSync(() -> { mInstrumentation.runOnMainSync( () -> { mDetector = SingleKeyGestureDetector.get(mContext); initSingleKeyGestureRules(); }); Loading @@ -85,19 +86,23 @@ public class SingleKeyGestureTests { } private void initSingleKeyGestureRules() { mDetector.addRule(new SingleKeyGestureDetector.SingleKeyRule(KEYCODE_POWER) { mDetector.addRule( new SingleKeyGestureDetector.SingleKeyRule(KEYCODE_POWER) { @Override boolean supportLongPress() { return mLongPressOnPowerBehavior; } @Override boolean supportVeryLongPress() { return mVeryLongPressOnPowerBehavior; } @Override int getMaxMultiPressCount() { return mMaxMultiPressCount; } @Override public void onPress(long downTime) { if (mDetector.beganFromNonInteractive() && !mAllowNonInteractiveForPress) { Loading @@ -108,7 +113,8 @@ public class SingleKeyGestureTests { @Override void onLongPress(long downTime) { if (mDetector.beganFromNonInteractive() && !mAllowNonInteractiveForLongPress) { if (mDetector.beganFromNonInteractive() && !mAllowNonInteractiveForLongPress) { return; } mLongPressed.countDown(); Loading @@ -130,15 +136,18 @@ public class SingleKeyGestureTests { } }); mDetector.addRule(new SingleKeyGestureDetector.SingleKeyRule(KEYCODE_BACK) { mDetector.addRule( new SingleKeyGestureDetector.SingleKeyRule(KEYCODE_BACK) { @Override boolean supportLongPress() { return mLongPressOnBackBehavior; } @Override int getMaxMultiPressCount() { return mMaxMultiPressCount; } @Override public void onPress(long downTime) { if (mDetector.beganFromNonInteractive() && !mAllowNonInteractiveForPress) { Loading @@ -162,7 +171,6 @@ public class SingleKeyGestureTests { mLongPressed.countDown(); } }); } private void pressKey(int keyCode, long pressTime) { Loading @@ -176,8 +184,14 @@ public class SingleKeyGestureTests { private void pressKey( int keyCode, long pressTime, boolean interactive, boolean defaultDisplayOn) { long eventTime = SystemClock.uptimeMillis(); final KeyEvent keyDown = new KeyEvent(eventTime, eventTime, ACTION_DOWN, keyCode, 0 /* repeat */, 0 /* metaState */); final KeyEvent keyDown = new KeyEvent( eventTime, eventTime, ACTION_DOWN, keyCode, 0 /* repeat */, 0 /* metaState */); mDetector.interceptKey(keyDown, interactive, defaultDisplayOn); // keep press down. Loading @@ -188,8 +202,14 @@ public class SingleKeyGestureTests { } eventTime += pressTime; final KeyEvent keyUp = new KeyEvent(eventTime, eventTime, ACTION_UP, keyCode, 0 /* repeat */, 0 /* metaState */); final KeyEvent keyUp = new KeyEvent( eventTime, eventTime, ACTION_UP, keyCode, 0 /* repeat */, 0 /* metaState */); mDetector.interceptKey(keyUp, interactive, defaultDisplayOn); } Loading Loading @@ -252,10 +272,12 @@ public class SingleKeyGestureTests { // To make sure we won't get any crash while panic pressing keys. for (int i = 0; i < 100; i++) { mShortPressed = new CountDownLatch(2); newHandler.runWithScissors(() -> { newHandler.runWithScissors( () -> { pressKey(KEYCODE_POWER, 0 /* pressTime */); pressKey(KEYCODE_BACK, 0 /* pressTime */); }, mWaitTimeout); }, mWaitTimeout); assertTrue(mShortPressed.await(mWaitTimeout, TimeUnit.MILLISECONDS)); } } finally { Loading @@ -274,15 +296,16 @@ public class SingleKeyGestureTests { for (int i = 0; i < 5; i++) { mMultiPressed = new CountDownLatch(1); mShortPressed = new CountDownLatch(1); newHandler.runWithScissors(() -> { newHandler.runWithScissors( () -> { pressKey(KEYCODE_POWER, 0 /* pressTime */); pressKey(KEYCODE_POWER, 0 /* pressTime */); }, mWaitTimeout); }, mWaitTimeout); assertTrue(mMultiPressed.await(mWaitTimeout, TimeUnit.MILLISECONDS)); newHandler.runWithScissors(() -> { pressKey(KEYCODE_POWER, 0 /* pressTime */); }, mWaitTimeout); newHandler.runWithScissors( () -> pressKey(KEYCODE_POWER, 0 /* pressTime */), mWaitTimeout); assertTrue(mShortPressed.await(mWaitTimeout, TimeUnit.MILLISECONDS)); } } finally { Loading