summaryrefslogtreecommitdiffstats
path: root/cmds
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2012-04-11 16:12:54 -0700
committerJeff Brown <jeffbrown@google.com>2012-04-11 16:13:34 -0700
commit2af3f3067a55eaa81be0b90d4cbe0531920d48dc (patch)
tree74bdc93c4f505ce2c8f9119928fd00faee68f232 /cmds
parentee684ebc76c60ab1563bea2ac67a58de0cf57772 (diff)
downloadandroid_development-2af3f3067a55eaa81be0b90d4cbe0531920d48dc.tar.gz
android_development-2af3f3067a55eaa81be0b90d4cbe0531920d48dc.tar.bz2
android_development-2af3f3067a55eaa81be0b90d4cbe0531920d48dc.zip
Ensure Monkey uses sane timestamps for key events.
Bug: 6323659 Change-Id: Idc14c36026bc8d1b612765e2da73e9b618d94ded
Diffstat (limited to 'cmds')
-rw-r--r--cmds/monkey/src/com/android/commands/monkey/MonkeyKeyEvent.java30
1 files changed, 16 insertions, 14 deletions
diff --git a/cmds/monkey/src/com/android/commands/monkey/MonkeyKeyEvent.java b/cmds/monkey/src/com/android/commands/monkey/MonkeyKeyEvent.java
index b05c3a7b2..53f230c35 100644
--- a/cmds/monkey/src/com/android/commands/monkey/MonkeyKeyEvent.java
+++ b/cmds/monkey/src/com/android/commands/monkey/MonkeyKeyEvent.java
@@ -18,7 +18,6 @@ package com.android.commands.monkey;
import android.app.IActivityManager;
import android.hardware.input.InputManager;
-import android.os.RemoteException;
import android.os.SystemClock;
import android.view.IWindowManager;
import android.view.InputDevice;
@@ -36,7 +35,7 @@ public class MonkeyKeyEvent extends MonkeyEvent {
private int mDeviceId = -1;
private long mEventTime = -1;
- private KeyEvent keyEvent = null;
+ private KeyEvent mKeyEvent;
public MonkeyKeyEvent(int action, int keycode) {
super(EVENT_TYPE_KEY);
@@ -46,7 +45,7 @@ public class MonkeyKeyEvent extends MonkeyEvent {
public MonkeyKeyEvent(KeyEvent e) {
super(EVENT_TYPE_KEY);
- keyEvent = e;
+ mKeyEvent = e;
}
public MonkeyKeyEvent(long downTime, long eventTime, int action,
@@ -113,18 +112,21 @@ public class MonkeyKeyEvent extends MonkeyEvent {
}
}
- long eventTime = mEventTime;
- if (eventTime == 0) {
- eventTime = SystemClock.uptimeMillis();
- }
- long downTime = mDownTime;
- if (downTime == 0) {
- downTime = eventTime;
+ KeyEvent keyEvent = mKeyEvent;
+ if (keyEvent == null) {
+ long eventTime = mEventTime;
+ if (eventTime <= 0) {
+ eventTime = SystemClock.uptimeMillis();
+ }
+ long downTime = mDownTime;
+ if (downTime <= 0) {
+ downTime = eventTime;
+ }
+ keyEvent = new KeyEvent(downTime, eventTime, mAction, mKeyCode,
+ mRepeatCount, mMetaState, mDeviceId, mScancode,
+ KeyEvent.FLAG_FROM_SYSTEM, InputDevice.SOURCE_KEYBOARD);
}
- KeyEvent newEvent = new KeyEvent(downTime, eventTime, mAction, mKeyCode,
- mRepeatCount, mMetaState, mDeviceId, mScancode,
- KeyEvent.FLAG_FROM_SYSTEM, InputDevice.SOURCE_KEYBOARD);
- if (!InputManager.getInstance().injectInputEvent(newEvent,
+ if (!InputManager.getInstance().injectInputEvent(keyEvent,
InputManager.INJECT_INPUT_EVENT_MODE_WAIT_FOR_RESULT)) {
return MonkeyEvent.INJECT_FAIL;
}