diff --git a/api/current.txt b/api/current.txt
index 058053b19de2a..44cbe7be2a2c1 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -35046,6 +35046,10 @@ package android.view {
field public static final int KEYCODE_MUSIC = 209; // 0xd1
field public static final int KEYCODE_MUTE = 91; // 0x5b
field public static final int KEYCODE_N = 42; // 0x2a
+ field public static final int KEYCODE_NAVIGATE_IN = 262; // 0x106
+ field public static final int KEYCODE_NAVIGATE_NEXT = 261; // 0x105
+ field public static final int KEYCODE_NAVIGATE_OUT = 263; // 0x107
+ field public static final int KEYCODE_NAVIGATE_PREVIOUS = 260; // 0x104
field public static final int KEYCODE_NOTIFICATION = 83; // 0x53
field public static final int KEYCODE_NUM = 78; // 0x4e
field public static final int KEYCODE_NUMPAD_0 = 144; // 0x90
diff --git a/api/system-current.txt b/api/system-current.txt
index 24da8782e875e..9d3a3c9682dd9 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -37245,6 +37245,10 @@ package android.view {
field public static final int KEYCODE_MUSIC = 209; // 0xd1
field public static final int KEYCODE_MUTE = 91; // 0x5b
field public static final int KEYCODE_N = 42; // 0x2a
+ field public static final int KEYCODE_NAVIGATE_IN = 262; // 0x106
+ field public static final int KEYCODE_NAVIGATE_NEXT = 261; // 0x105
+ field public static final int KEYCODE_NAVIGATE_OUT = 263; // 0x107
+ field public static final int KEYCODE_NAVIGATE_PREVIOUS = 260; // 0x104
field public static final int KEYCODE_NOTIFICATION = 83; // 0x53
field public static final int KEYCODE_NUM = 78; // 0x4e
field public static final int KEYCODE_NUMPAD_0 = 144; // 0x90
diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java
index 779560cb15f0b..1ac3f4598d949 100644
--- a/core/java/android/view/KeyEvent.java
+++ b/core/java/android/view/KeyEvent.java
@@ -747,8 +747,22 @@ public class KeyEvent extends InputEvent implements Parcelable {
public static final int KEYCODE_TV_TIMER_PROGRAMMING = 258;
/** Key code constant: Help key. */
public static final int KEYCODE_HELP = 259;
+ /** Key code constant: Navigate to previous key.
+ * Goes backward by one item in an ordered collection of items. */
+ public static final int KEYCODE_NAVIGATE_PREVIOUS = 260;
+ /** Key code constant: Navigate to next key.
+ * Advances to the next item in an ordered collection of items. */
+ public static final int KEYCODE_NAVIGATE_NEXT = 261;
+ /** Key code constant: Navigate in key.
+ * Activates the item that currently has focus or expands to the next level of a navigation
+ * hierarchy. */
+ public static final int KEYCODE_NAVIGATE_IN = 262;
+ /** Key code constant: Navigate out key.
+ * Backs out one level of a navigation hierarchy or collapses the item that currently has
+ * focus. */
+ public static final int KEYCODE_NAVIGATE_OUT = 263;
- private static final int LAST_KEYCODE = KEYCODE_HELP;
+ private static final int LAST_KEYCODE = KEYCODE_NAVIGATE_OUT;
// 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 b8825b6574179..ef438ab8487c6 100644
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -1783,6 +1783,10 @@
+
+
+
+