diff options
author | Donovan Bartish <DRockstar.Epic4G@gmail.com> | 2012-06-29 11:12:25 -0700 |
---|---|---|
committer | Donovan Bartish <djdonovanbartish@yahoo.com> | 2012-07-05 07:26:52 -0700 |
commit | 84ca24573090ce971db1f23103622b2bcc55b967 (patch) | |
tree | cb3a240fb4777b16540faf7511340aeb2f3e48fe | |
parent | 9ba2de56e07106926118d4b719a8357733cbdbec (diff) | |
download | frameworks_base-84ca24573090ce971db1f23103622b2bcc55b967.zip frameworks_base-84ca24573090ce971db1f23103622b2bcc55b967.tar.gz frameworks_base-84ca24573090ce971db1f23103622b2bcc55b967.tar.bz2 |
input: add keymapping and handle www/com key for keypads in ics
Based off of this commit, updated for ics:
https://github.com/CyanogenMod/android_frameworks_base/commit/ebb5e47760cc156fba6d6a93ad0dfaeb562f4771
Allows keypads to have custom keymapping, and brings back www./.com key
function
Fixed: Corrected all wrong entries to api/current.txt,
including for those that already passed gerrit review
@hide used in java for all non aosp api
Change-Id: I0ffb35dae441e3ef7a4924492cc9168939551d3f
-rw-r--r-- | api/current.txt | 15 | ||||
-rw-r--r-- | core/java/android/text/method/QwertyKeyListener.java | 6 | ||||
-rw-r--r-- | core/java/android/view/KeyCharacterMap.java | 12 | ||||
-rwxr-xr-x | core/java/android/view/KeyEvent.java | 73 | ||||
-rwxr-xr-x | core/res/res/values/attrs.xml | 13 | ||||
-rwxr-xr-x | include/ui/KeycodeLabels.h | 13 | ||||
-rw-r--r-- | media/java/android/media/MediaRecorder.java | 22 | ||||
-rw-r--r-- | native/include/android/keycodes.h | 13 |
8 files changed, 145 insertions, 22 deletions
diff --git a/api/current.txt b/api/current.txt index 630ab00..68fb4bc 100644 --- a/api/current.txt +++ b/api/current.txt @@ -10813,8 +10813,6 @@ package android.media { ctor public MediaRecorder(); method public static final int getAudioSourceMax(); method public int getMaxAmplitude() throws java.lang.IllegalStateException; - method public void native_start() throws java.lang.IllegalStateException; - method public void native_stop() throws java.lang.IllegalStateException; method public void prepare() throws java.io.IOException, java.lang.IllegalStateException; method public void release(); method public void reset(); @@ -10853,13 +10851,9 @@ package android.media { public final class MediaRecorder.AudioEncoder { field public static final int AAC = 3; // 0x3 - field public static final int AAC_PLUS = 4; // 0x4 field public static final int AMR_NB = 1; // 0x1 field public static final int AMR_WB = 2; // 0x2 field public static final int DEFAULT = 0; // 0x0 - field public static final int EAAC_PLUS = 5; // 0x5 - field public static final int EVRC = 6; // 0x6 - field public static final int QCELP = 7; // 0x7 } public final class MediaRecorder.AudioSource { @@ -10886,10 +10880,8 @@ package android.media { field public static final int AMR_WB = 4; // 0x4 field public static final int DEFAULT = 0; // 0x0 field public static final int MPEG_4 = 2; // 0x2 - field public static final int QCP = 9; // 0x9 field public static final int RAW_AMR = 3; // 0x3 field public static final int THREE_GPP = 1; // 0x1 - field public static final int THREE_GPP2 = 10; // 0xa } public final class MediaRecorder.VideoEncoder { @@ -22208,9 +22200,6 @@ package android.view { field public static final int KEYCODE_BACKSLASH = 73; // 0x49 field public static final int KEYCODE_BOOKMARK = 174; // 0xae field public static final int KEYCODE_BREAK = 121; // 0x79 - field public static final int KEYCODE_BRIGHTNESS_AUTO = 216; // 0xd8 - field public static final int KEYCODE_BRIGHTNESS_DOWN = 214; // 0xd6 - field public static final int KEYCODE_BRIGHTNESS_UP = 215; // 0xd7 field public static final int KEYCODE_BUTTON_1 = 188; // 0xbc field public static final int KEYCODE_BUTTON_10 = 197; // 0xc5 field public static final int KEYCODE_BUTTON_11 = 198; // 0xc6 @@ -22364,7 +22353,6 @@ package android.view { field public static final int KEYCODE_R = 46; // 0x2e field public static final int KEYCODE_RIGHT_BRACKET = 72; // 0x48 field public static final int KEYCODE_S = 47; // 0x2f - field public static final int KEYCODE_SCREENSHOT = 217; // 0xd9 field public static final int KEYCODE_SCROLL_LOCK = 116; // 0x74 field public static final int KEYCODE_SEARCH = 84; // 0x54 field public static final int KEYCODE_SEMICOLON = 74; // 0x4a @@ -22383,9 +22371,6 @@ package android.view { field public static final int KEYCODE_SYSRQ = 120; // 0x78 field public static final int KEYCODE_T = 48; // 0x30 field public static final int KEYCODE_TAB = 61; // 0x3d - field public static final int KEYCODE_TOGGLE_BT = 212; // 0xd4 - field public static final int KEYCODE_TOGGLE_TOUCHPAD = 213; // 0xd5 - field public static final int KEYCODE_TOGGLE_WIFI = 211; // 0xd3 field public static final int KEYCODE_TV = 170; // 0xaa field public static final int KEYCODE_TV_INPUT = 178; // 0xb2 field public static final int KEYCODE_TV_POWER = 177; // 0xb1 diff --git a/core/java/android/text/method/QwertyKeyListener.java b/core/java/android/text/method/QwertyKeyListener.java index 192257b..97ee48a 100644 --- a/core/java/android/text/method/QwertyKeyListener.java +++ b/core/java/android/text/method/QwertyKeyListener.java @@ -129,6 +129,12 @@ public class QwertyKeyListener extends BaseKeyListener { return true; } + if (i == KeyCharacterMap.DOT_WWW_INPUT || i == KeyCharacterMap.DOT_COM_INPUT) { + content.replace(selStart, selEnd, selStart == 0 ? "www." : ".com"); + adjustMetaAfterKeypress(content); + return true; + } + if (i == KeyCharacterMap.HEX_INPUT) { int start; diff --git a/core/java/android/view/KeyCharacterMap.java b/core/java/android/view/KeyCharacterMap.java index 575af3b..4e4116d 100644 --- a/core/java/android/view/KeyCharacterMap.java +++ b/core/java/android/view/KeyCharacterMap.java @@ -120,6 +120,18 @@ public class KeyCharacterMap { public static final char PICKER_DIALOG_INPUT = '\uEF01'; /** + * Private use character denoting a .com suffix + * @hide + */ + public static final char DOT_COM_INPUT = '\uEF03'; + + /** + * Private use character denoting a www. prefix + * @hide + */ + public static final char DOT_WWW_INPUT = '\uEF04'; + + /** * Modifier keys may be chorded with character keys. * * @see {#link #getModifierBehavior()} for more details. diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java index 458eb85..0d15d66 100755 --- a/core/java/android/view/KeyEvent.java +++ b/core/java/android/view/KeyEvent.java @@ -592,15 +592,53 @@ public class KeyEvent extends InputEvent implements Parcelable { * Used to launch a calculator application. */ public static final int KEYCODE_CALCULATOR = 210; + /** Please note all remaining keycodes need to be + * hidden from the api */ + + /** @hide */ public static final int KEYCODE_TOGGLE_WIFI = 211; + /** @hide */ public static final int KEYCODE_TOGGLE_BT = 212; + /** @hide */ public static final int KEYCODE_TOGGLE_TOUCHPAD = 213; + /** @hide */ public static final int KEYCODE_BRIGHTNESS_DOWN = 214; + /** @hide */ public static final int KEYCODE_BRIGHTNESS_UP = 215; + /** @hide */ public static final int KEYCODE_BRIGHTNESS_AUTO = 216; + /** @hide */ public static final int KEYCODE_SCREENSHOT = 217; + /** @hide */ + /** FUNC_1 through USER5 to support keypad mapping */ + /** @hide */ + public static final int KEYCODE_FUNC_1 = 218; + /** @hide */ + public static final int KEYCODE_FUNC_2 = 219; + /** @hide */ + public static final int KEYCODE_FUNC_3 = 220; + /** @hide */ + public static final int KEYCODE_FUNC_4 = 221; + /** @hide */ + public static final int KEYCODE_FUNC_5 = 222; + /** @hide */ + public static final int KEYCODE_FUNC_6 = 223; + /** @hide */ + public static final int KEYCODE_FUNC_7 = 224; + /** @hide */ + public static final int KEYCODE_FUNC_8 = 225; + /** @hide */ + public static final int KEYCODE_USER1 = 226; + /** @hide */ + public static final int KEYCODE_USER2 = 227; + /** @hide */ + public static final int KEYCODE_USER3 = 228; + /** @hide */ + public static final int KEYCODE_USER4 = 229; + /** @hide */ + public static final int KEYCODE_USER5 = 230; - private static final int LAST_KEYCODE = KEYCODE_SCREENSHOT; + private static final int LAST_KEYCODE = KEYCODE_USER5; // NOTE: If you add a new keycode here you must also add it to: // isSystem() @@ -833,13 +871,46 @@ public class KeyEvent extends InputEvent implements Parcelable { names.append(KEYCODE_CALENDAR, "KEYCODE_CALENDAR"); names.append(KEYCODE_MUSIC, "KEYCODE_MUSIC"); names.append(KEYCODE_CALCULATOR, "KEYCODE_CALCULATOR"); + /** @hide */ names.append(KEYCODE_TOGGLE_WIFI, "KEYCODE_TOGGLE_WIFI"); + /** @hide */ names.append(KEYCODE_TOGGLE_BT, "KEYCODE_TOGGLE_BT"); + /** @hide */ names.append(KEYCODE_TOGGLE_TOUCHPAD, "KEYCODE_TOGGLE_TOUCHPAD"); + /** @hide */ names.append(KEYCODE_BRIGHTNESS_DOWN, "KEYCODE_BRIGHTNESS_DOWN"); + /** @hide */ names.append(KEYCODE_BRIGHTNESS_UP, "KEYCODE_BRIGHTNESS_UP"); + /** @hide */ names.append(KEYCODE_BRIGHTNESS_AUTO, "KEYCODE_BRIGHTNESS_AUTO"); + /** @hide */ names.append(KEYCODE_SCREENSHOT, "KEYCODE_SCREENSHOT"); + /** @hide */ + names.append(KEYCODE_SCREENSHOT, "KEYCODE_FUNC_1"); + /** @hide */ + names.append(KEYCODE_SCREENSHOT, "KEYCODE_FUNC_2"); + /** @hide */ + names.append(KEYCODE_SCREENSHOT, "KEYCODE_FUNC_3"); + /** @hide */ + names.append(KEYCODE_SCREENSHOT, "KEYCODE_FUNC_4"); + /** @hide */ + names.append(KEYCODE_SCREENSHOT, "KEYCODE_FUNC_5"); + /** @hide */ + names.append(KEYCODE_SCREENSHOT, "KEYCODE_FUNC_6"); + /** @hide */ + names.append(KEYCODE_SCREENSHOT, "KEYCODE_FUNC_7"); + /** @hide */ + names.append(KEYCODE_SCREENSHOT, "KEYCODE_FUNC_8"); + /** @hide */ + names.append(KEYCODE_SCREENSHOT, "KEYCODE_USER1"); + /** @hide */ + names.append(KEYCODE_SCREENSHOT, "KEYCODE_USER2"); + /** @hide */ + names.append(KEYCODE_SCREENSHOT, "KEYCODE_USER3"); + /** @hide */ + names.append(KEYCODE_SCREENSHOT, "KEYCODE_USER4"); + /** @hide */ + names.append(KEYCODE_SCREENSHOT, "KEYCODE_USER5"); }; // Symbolic names of all metakeys in bit order from least significant to most significant. diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index 320aac9..49162ea 100755 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -1504,6 +1504,19 @@ <enum name="KEYCODE_BRIGHTNESS_UP" value="215" /> <enum name="KEYCODE_BRIGHTNESS_AUTO" value="216" /> <enum name="KEYCODE_SCREENSHOT" value="217" /> + <enum name="KEYCODE_FUNC_1" value="218" /> + <enum name="KEYCODE_FUNC_2" value="219" /> + <enum name="KEYCODE_FUNC_3" value="220" /> + <enum name="KEYCODE_FUNC_4" value="221" /> + <enum name="KEYCODE_FUNC_5" value="222" /> + <enum name="KEYCODE_FUNC_6" value="223" /> + <enum name="KEYCODE_FUNC_7" value="224" /> + <enum name="KEYCODE_FUNC_8" value="225" /> + <enum name="KEYCODE_USER1" value="226" /> + <enum name="KEYCODE_USER2" value="227" /> + <enum name="KEYCODE_USER3" value="228" /> + <enum name="KEYCODE_USER4" value="229" /> + <enum name="KEYCODE_USER5" value="230" /> </attr> <!-- ***************************************************************** --> diff --git a/include/ui/KeycodeLabels.h b/include/ui/KeycodeLabels.h index a443232..dde50f7 100755 --- a/include/ui/KeycodeLabels.h +++ b/include/ui/KeycodeLabels.h @@ -242,6 +242,19 @@ static const KeycodeLabel KEYCODES[] = { { "BRIGHTNESS_UP", 215 }, { "BRIGHTNESS_AUTO", 216 }, { "SCREENSHOT", 217 }, + { "FUNC_1", 218 }, + { "FUNC_2", 219 }, + { "FUNC_3", 220 }, + { "FUNC_4", 221 }, + { "FUNC_5", 222 }, + { "FUNC_6", 223 }, + { "FUNC_7", 224 }, + { "FUNC_8", 225 }, + { "USER1", 226 }, + { "USER2", 227 }, + { "USER3", 228 }, + { "USER4", 229 }, + { "USER5", 230 }, // NOTE: If you add a new keycode here you must also add it to several other files. // Refer to frameworks/base/core/java/android/view/KeyEvent.java for the full list. diff --git a/media/java/android/media/MediaRecorder.java b/media/java/android/media/MediaRecorder.java index dd377be..9dda80e 100644 --- a/media/java/android/media/MediaRecorder.java +++ b/media/java/android/media/MediaRecorder.java @@ -228,9 +228,11 @@ public class MediaRecorder /** @hide H.264/AAC data encapsulated in MPEG2/TS */ public static final int OUTPUT_FORMAT_MPEG2TS = 8; - /** QCP file format */ + /** QCP file format + * @hide */ public static final int QCP = 9; - /** 3GPP2 media file format*/ + /** 3GPP2 media file format + * @hide */ public static final int THREE_GPP2 = 10; }; @@ -250,13 +252,17 @@ public class MediaRecorder public static final int AMR_WB = 2; /** AAC audio codec */ public static final int AAC = 3; - /** enhanced AAC audio codec */ + /** enhanced AAC audio codec + * @hide */ public static final int AAC_PLUS = 4; - /** enhanced AAC plus audio codec */ + /** enhanced AAC plus audio codec + * @hide */ public static final int EAAC_PLUS = 5; - /** EVRC audio codec */ + /** EVRC audio codec + * @hide */ public static final int EVRC = 6; - /** QCELP audio codec */ + /** QCELP audio codec + * @hide */ public static final int QCELP =7; } @@ -669,6 +675,8 @@ public class MediaRecorder * * @throws IllegalStateException if it is called before * prepare(). + * + * @hide */ public native void native_start() throws IllegalStateException; @@ -683,6 +691,8 @@ public class MediaRecorder * the output file is not properly constructed when this happens. * * @throws IllegalStateException if it is called before start() + * + * @hide */ public native void native_stop() throws IllegalStateException; diff --git a/native/include/android/keycodes.h b/native/include/android/keycodes.h index f9c808d..44611e0 100644 --- a/native/include/android/keycodes.h +++ b/native/include/android/keycodes.h @@ -261,6 +261,19 @@ enum { AKEYCODE_BRIGHTNESS_UP = 215, AKEYCODE_BRIGHTNESS_AUTO = 216, AKEYCODE_SCREENSHOT = 217, + AKEYCODE_FUNC_1 = 218, + AKEYCODE_FUNC_2 = 219, + AKEYCODE_FUNC_3 = 220, + AKEYCODE_FUNC_4 = 221, + AKEYCODE_FUNC_5 = 222, + AKEYCODE_FUNC_6 = 223, + AKEYCODE_FUNC_7 = 224, + AKEYCODE_FUNC_8 = 225, + AKEYCODE_USER1 = 226, + AKEYCODE_USER2 = 227, + AKEYCODE_USER3 = 228, + AKEYCODE_USER4 = 229, + AKEYCODE_USER5 = 230, // NOTE: If you add a new keycode here you must also add it to several other files. // Refer to frameworks/base/core/java/android/view/KeyEvent.java for the full list. |