From b0b841029ad7592e8082e59e56645f84b06c558d Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Tue, 12 Oct 2010 18:05:58 -0700 Subject: [PATCH] Use framework-supplied keycode symbols. KeyEvent now offers an (@hidden) method to map keycodes to symbolic names in a way that is compatible with what Monkey was already doing itself. Now we shouldn't need to change monkey each time we add new keycodes. Bug: 2912307 Change-Id: I9cd729b17c3f19505a4d3afcce465dad0c64cce0 --- .../com/android/commands/monkey/Monkey.java | 12 -- .../commands/monkey/MonkeySourceRandom.java | 133 +----------------- 2 files changed, 2 insertions(+), 143 deletions(-) diff --git a/cmds/monkey/src/com/android/commands/monkey/Monkey.java b/cmds/monkey/src/com/android/commands/monkey/Monkey.java index 241baf768..8f42f21f5 100644 --- a/cmds/monkey/src/com/android/commands/monkey/Monkey.java +++ b/cmds/monkey/src/com/android/commands/monkey/Monkey.java @@ -799,18 +799,6 @@ public class Monkey { * @return Returns true if ready to rock. */ private boolean checkInternalConfiguration() { - // Check KEYCODE name array, make sure it's up to date. - - String lastKeyName = null; - try { - lastKeyName = MonkeySourceRandom.getLastKeyName(); - } catch (RuntimeException e) { - } - if (!"TAG_LAST_KEYCODE".equals(lastKeyName)) { - System.err.println("** Error: Key names array malformed (internal error)."); - return false; - } - return true; } diff --git a/cmds/monkey/src/com/android/commands/monkey/MonkeySourceRandom.java b/cmds/monkey/src/com/android/commands/monkey/MonkeySourceRandom.java index f1edae11c..a2fa7326a 100644 --- a/cmds/monkey/src/com/android/commands/monkey/MonkeySourceRandom.java +++ b/cmds/monkey/src/com/android/commands/monkey/MonkeySourceRandom.java @@ -63,123 +63,6 @@ public class MonkeySourceRandom implements MonkeyEventSource { } } - /** Nice names for all key events. */ - private static final String[] KEY_NAMES = { - "KEYCODE_UNKNOWN", - "KEYCODE_SOFT_LEFT", - "KEYCODE_SOFT_RIGHT", - "KEYCODE_HOME", - "KEYCODE_BACK", - "KEYCODE_CALL", - "KEYCODE_ENDCALL", - "KEYCODE_0", - "KEYCODE_1", - "KEYCODE_2", - "KEYCODE_3", - "KEYCODE_4", - "KEYCODE_5", - "KEYCODE_6", - "KEYCODE_7", - "KEYCODE_8", - "KEYCODE_9", - "KEYCODE_STAR", - "KEYCODE_POUND", - "KEYCODE_DPAD_UP", - "KEYCODE_DPAD_DOWN", - "KEYCODE_DPAD_LEFT", - "KEYCODE_DPAD_RIGHT", - "KEYCODE_DPAD_CENTER", - "KEYCODE_VOLUME_UP", - "KEYCODE_VOLUME_DOWN", - "KEYCODE_POWER", - "KEYCODE_CAMERA", - "KEYCODE_CLEAR", - "KEYCODE_A", - "KEYCODE_B", - "KEYCODE_C", - "KEYCODE_D", - "KEYCODE_E", - "KEYCODE_F", - "KEYCODE_G", - "KEYCODE_H", - "KEYCODE_I", - "KEYCODE_J", - "KEYCODE_K", - "KEYCODE_L", - "KEYCODE_M", - "KEYCODE_N", - "KEYCODE_O", - "KEYCODE_P", - "KEYCODE_Q", - "KEYCODE_R", - "KEYCODE_S", - "KEYCODE_T", - "KEYCODE_U", - "KEYCODE_V", - "KEYCODE_W", - "KEYCODE_X", - "KEYCODE_Y", - "KEYCODE_Z", - "KEYCODE_COMMA", - "KEYCODE_PERIOD", - "KEYCODE_ALT_LEFT", - "KEYCODE_ALT_RIGHT", - "KEYCODE_SHIFT_LEFT", - "KEYCODE_SHIFT_RIGHT", - "KEYCODE_TAB", - "KEYCODE_SPACE", - "KEYCODE_SYM", - "KEYCODE_EXPLORER", - "KEYCODE_ENVELOPE", - "KEYCODE_ENTER", - "KEYCODE_DEL", - "KEYCODE_GRAVE", - "KEYCODE_MINUS", - "KEYCODE_EQUALS", - "KEYCODE_LEFT_BRACKET", - "KEYCODE_RIGHT_BRACKET", - "KEYCODE_BACKSLASH", - "KEYCODE_SEMICOLON", - "KEYCODE_APOSTROPHE", - "KEYCODE_SLASH", - "KEYCODE_AT", - "KEYCODE_NUM", - "KEYCODE_HEADSETHOOK", - "KEYCODE_FOCUS", - "KEYCODE_PLUS", - "KEYCODE_MENU", - "KEYCODE_NOTIFICATION", - "KEYCODE_SEARCH", - "KEYCODE_PLAYPAUSE", - "KEYCODE_STOP", - "KEYCODE_NEXTSONG", - "KEYCODE_PREVIOUSSONG", - "KEYCODE_REWIND", - "KEYCODE_FORWARD", - "KEYCODE_MUTE", - "KEYCODE_PAGE_UP", - "KEYCODE_PAGE_DOWN", - "KEYCODE_PICTSYMBOLS", - "KEYCODE_SWITCH_CHARSET", - "KEYCODE_BUTTON_A", - "KEYCODE_BUTTON_B", - "KEYCODE_BUTTON_C", - "KEYCODE_BUTTON_X", - "KEYCODE_BUTTON_Y", - "KEYCODE_BUTTON_Z", - "KEYCODE_BUTTON_L1", - "KEYCODE_BUTTON_R1", - "KEYCODE_BUTTON_L2", - "KEYCODE_BUTTON_R2", - "KEYCODE_BUTTON_THUMBL", - "KEYCODE_BUTTON_THUMBR", - "KEYCODE_BUTTON_START", - "KEYCODE_BUTTON_SELECT", - "KEYCODE_BUTTON_MODE", - - "TAG_LAST_KEYCODE" // EOL. used to keep the lists in sync - }; - public static final int FACTOR_TOUCH = 0; public static final int FACTOR_MOTION = 1; public static final int FACTOR_TRACKBALL = 2; @@ -205,15 +88,8 @@ public class MonkeySourceRandom implements MonkeyEventSource { private boolean mKeyboardOpen = false; - /** - * @return the last name in the key list - */ - public static String getLastKeyName() { - return KEY_NAMES[KeyEvent.getMaxKeyCode() + 1]; - } - public static String getKeyName(int keycode) { - return KEY_NAMES[keycode]; + return KeyEvent.keyCodeToString(keycode); } /** @@ -224,12 +100,7 @@ public class MonkeySourceRandom implements MonkeyEventSource { * @returns the intenger keyCode value, or -1 if not found */ public static int getKeyCode(String keyName) { - for (int x = 0; x < KEY_NAMES.length; x++) { - if (KEY_NAMES[x].equals(keyName)) { - return x; - } - } - return -1; + return KeyEvent.keyCodeFromString(keyName); } public MonkeySourceRandom(Random random, ArrayList MainApps,