summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDonovan Bartish <DRockstar.Epic4G@gmail.com>2012-06-29 11:12:25 -0700
committerDonovan Bartish <djdonovanbartish@yahoo.com>2012-07-05 07:26:52 -0700
commit84ca24573090ce971db1f23103622b2bcc55b967 (patch)
treecb3a240fb4777b16540faf7511340aeb2f3e48fe
parent9ba2de56e07106926118d4b719a8357733cbdbec (diff)
downloadframeworks_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.txt15
-rw-r--r--core/java/android/text/method/QwertyKeyListener.java6
-rw-r--r--core/java/android/view/KeyCharacterMap.java12
-rwxr-xr-xcore/java/android/view/KeyEvent.java73
-rwxr-xr-xcore/res/res/values/attrs.xml13
-rwxr-xr-xinclude/ui/KeycodeLabels.h13
-rw-r--r--media/java/android/media/MediaRecorder.java22
-rw-r--r--native/include/android/keycodes.h13
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.