Merge "Add keycodes for diagonal dpad inputs"
diff --git a/api/current.txt b/api/current.txt
index 3e994d9..d468831 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -35102,9 +35102,13 @@
     field public static final int KEYCODE_DEL = 67; // 0x43
     field public static final int KEYCODE_DPAD_CENTER = 23; // 0x17
     field public static final int KEYCODE_DPAD_DOWN = 20; // 0x14
+    field public static final int KEYCODE_DPAD_DOWN_LEFT = 269; // 0x10d
+    field public static final int KEYCODE_DPAD_DOWN_RIGHT = 271; // 0x10f
     field public static final int KEYCODE_DPAD_LEFT = 21; // 0x15
     field public static final int KEYCODE_DPAD_RIGHT = 22; // 0x16
     field public static final int KEYCODE_DPAD_UP = 19; // 0x13
+    field public static final int KEYCODE_DPAD_UP_LEFT = 268; // 0x10c
+    field public static final int KEYCODE_DPAD_UP_RIGHT = 270; // 0x10e
     field public static final int KEYCODE_DVR = 173; // 0xad
     field public static final int KEYCODE_E = 33; // 0x21
     field public static final int KEYCODE_EISU = 212; // 0xd4
diff --git a/api/system-current.txt b/api/system-current.txt
index 7c97723..4dd85e6 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -37413,9 +37413,13 @@
     field public static final int KEYCODE_DEL = 67; // 0x43
     field public static final int KEYCODE_DPAD_CENTER = 23; // 0x17
     field public static final int KEYCODE_DPAD_DOWN = 20; // 0x14
+    field public static final int KEYCODE_DPAD_DOWN_LEFT = 269; // 0x10d
+    field public static final int KEYCODE_DPAD_DOWN_RIGHT = 271; // 0x10f
     field public static final int KEYCODE_DPAD_LEFT = 21; // 0x15
     field public static final int KEYCODE_DPAD_RIGHT = 22; // 0x16
     field public static final int KEYCODE_DPAD_UP = 19; // 0x13
+    field public static final int KEYCODE_DPAD_UP_LEFT = 268; // 0x10c
+    field public static final int KEYCODE_DPAD_UP_RIGHT = 270; // 0x10e
     field public static final int KEYCODE_DVR = 173; // 0xad
     field public static final int KEYCODE_E = 33; // 0x21
     field public static final int KEYCODE_EISU = 212; // 0xd4
diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java
index 75e6229..e77daa6 100644
--- a/core/java/android/view/KeyEvent.java
+++ b/core/java/android/view/KeyEvent.java
@@ -770,8 +770,16 @@
     public static final int KEYCODE_STEM_2 = 266;
     /** Key code constant: Generic stem key 3 for Wear */
     public static final int KEYCODE_STEM_3 = 267;
+    /** Key code constant: Directional Pad Up-Left */
+    public static final int KEYCODE_DPAD_UP_LEFT    = 268;
+    /** Key code constant: Directional Pad Down-Left */
+    public static final int KEYCODE_DPAD_DOWN_LEFT  = 269;
+    /** Key code constant: Directional Pad Up-Right */
+    public static final int KEYCODE_DPAD_UP_RIGHT   = 270;
+    /** Key code constant: Directional Pad Down-Right */
+    public static final int KEYCODE_DPAD_DOWN_RIGHT = 271;
 
-    private static final int LAST_KEYCODE = KEYCODE_STEM_3;
+    private static final int LAST_KEYCODE = KEYCODE_DPAD_DOWN_RIGHT;
 
     // NOTE: If you add a new keycode here you must also add it to:
     //  isSystem()
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index 712272f..99beef8 100644
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -1810,6 +1810,10 @@
         <enum name="KEYCODE_STEM_1" value="265" />
         <enum name="KEYCODE_STEM_2" value="266" />
         <enum name="KEYCODE_STEM_3" value="267" />
+        <enum name="KEYCODE_DPAD_UP_LEFT" value="268" />
+        <enum name="KEYCODE_DPAD_DOWN_LEFT" value="269" />
+        <enum name="KEYCODE_DPAD_UP_RIGHT" value="270" />
+        <enum name="KEYCODE_DPAD_DOWN_RIGHT" value="271" />
     </attr>
 
     <!-- ***************************************************************** -->