Merge "Update to call new Skia APIs."
diff --git a/api/current.txt b/api/current.txt
index 5d875a0..7fed429 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -8158,6 +8158,7 @@
     field public static final int UI_MODE_TYPE_NORMAL = 1; // 0x1
     field public static final int UI_MODE_TYPE_TELEVISION = 4; // 0x4
     field public static final int UI_MODE_TYPE_UNDEFINED = 0; // 0x0
+    field public static final int UI_MODE_TYPE_WATCH = 6; // 0x6
     field public int densityDpi;
     field public float fontScale;
     field public int hardKeyboardHidden;
diff --git a/core/java/android/app/ActionBar.java b/core/java/android/app/ActionBar.java
index 13ae352..34b0f3a 100644
--- a/core/java/android/app/ActionBar.java
+++ b/core/java/android/app/ActionBar.java
@@ -1224,6 +1224,13 @@
 
         public LayoutParams(@NonNull Context c, AttributeSet attrs) {
             super(c, attrs);
+
+            TypedArray a = c.obtainStyledAttributes(attrs,
+                    com.android.internal.R.styleable.ActionBar_LayoutParams);
+            gravity = a.getInt(
+                    com.android.internal.R.styleable.ActionBar_LayoutParams_layout_gravity,
+                    Gravity.NO_GRAVITY);
+            a.recycle();
         }
 
         public LayoutParams(int width, int height) {
diff --git a/core/java/android/app/UiModeManager.java b/core/java/android/app/UiModeManager.java
index 0c22740..c6731c9 100644
--- a/core/java/android/app/UiModeManager.java
+++ b/core/java/android/app/UiModeManager.java
@@ -166,9 +166,11 @@
     /**
      * Return the current running mode type.  May be one of
      * {@link Configuration#UI_MODE_TYPE_NORMAL Configuration.UI_MODE_TYPE_NORMAL},
-     * {@link Configuration#UI_MODE_TYPE_DESK Configuration.UI_MODE_TYPE_DESK}, or
-     * {@link Configuration#UI_MODE_TYPE_CAR Configuration.UI_MODE_TYPE_CAR}, or
-     * {@link Configuration#UI_MODE_TYPE_TELEVISION Configuration.UI_MODE_TYPE_APPLIANCE}.
+     * {@link Configuration#UI_MODE_TYPE_DESK Configuration.UI_MODE_TYPE_DESK},
+     * {@link Configuration#UI_MODE_TYPE_CAR Configuration.UI_MODE_TYPE_CAR},
+     * {@link Configuration#UI_MODE_TYPE_TELEVISION Configuration.UI_MODE_TYPE_TELEVISION},
+     * {@link Configuration#UI_MODE_TYPE_APPLIANCE Configuration.UI_MODE_TYPE_APPLIANCE}, or
+     * {@link Configuration#UI_MODE_TYPE_WATCH Configuration.UI_MODE_TYPE_WATCH}.
      */
     public int getCurrentModeType() {
         if (mService != null) {
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index 3fdaef2..27e526b 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -573,6 +573,9 @@
      * Open a private file associated with this Context's application package
      * for writing.  Creates the file if it doesn't already exist.
      *
+     * <p>No permissions are required to invoke this method, since it uses internal
+     * storage.
+     *
      * @param name The name of the file to open; can not contain path
      *             separators.
      * @param mode Operating mode.  Use 0 or {@link #MODE_PRIVATE} for the
@@ -630,6 +633,9 @@
      * Returns the absolute path to the directory on the filesystem where
      * files created with {@link #openFileOutput} are stored.
      *
+     * <p>No permissions are required to read or write to the returned path, since this
+     * path is internal storage.
+     *
      * @return The path of the directory holding application files.
      *
      * @see #openFileOutput
diff --git a/core/java/android/content/res/Configuration.java b/core/java/android/content/res/Configuration.java
index 48b6fca..a07fc97 100644
--- a/core/java/android/content/res/Configuration.java
+++ b/core/java/android/content/res/Configuration.java
@@ -440,6 +440,11 @@
      * <a href="{@docRoot}guide/topics/resources/providing-resources.html#UiModeQualifier">appliance</a>
      * resource qualifier. */
     public static final int UI_MODE_TYPE_APPLIANCE = 0x05;
+    /** Constant for {@link #uiMode}: a {@link #UI_MODE_TYPE_MASK}
+     * value that corresponds to the
+     * <a href="{@docRoot}guide/topics/resources/providing-resources.html#UiModeQualifier">watch</a>
+     * resource qualifier. */
+    public static final int UI_MODE_TYPE_WATCH = 0x06;
 
     /** Constant for {@link #uiMode}: bits that encode the night mode. */
     public static final int UI_MODE_NIGHT_MASK = 0x30;
@@ -462,8 +467,8 @@
      * <p>The {@link #UI_MODE_TYPE_MASK} bits define the overall ui mode of the
      * device. They may be one of {@link #UI_MODE_TYPE_UNDEFINED},
      * {@link #UI_MODE_TYPE_NORMAL}, {@link #UI_MODE_TYPE_DESK},
-     * {@link #UI_MODE_TYPE_CAR}, {@link #UI_MODE_TYPE_TELEVISION}, or
-     * {@link #UI_MODE_TYPE_APPLIANCE}.
+     * {@link #UI_MODE_TYPE_CAR}, {@link #UI_MODE_TYPE_TELEVISION},
+     * {@link #UI_MODE_TYPE_APPLIANCE}, or {@link #UI_MODE_TYPE_WATCH}.
      *
      * <p>The {@link #UI_MODE_NIGHT_MASK} defines whether the screen
      * is in a special mode. They may be one of {@link #UI_MODE_NIGHT_UNDEFINED},
@@ -700,6 +705,7 @@
             case UI_MODE_TYPE_CAR: sb.append(" car"); break;
             case UI_MODE_TYPE_TELEVISION: sb.append(" television"); break;
             case UI_MODE_TYPE_APPLIANCE: sb.append(" appliance"); break;
+            case UI_MODE_TYPE_WATCH: sb.append(" watch"); break;
             default: sb.append(" uimode="); sb.append(uiMode&UI_MODE_TYPE_MASK); break;
         }
         switch ((uiMode&UI_MODE_NIGHT_MASK)) {
diff --git a/core/java/android/os/IPowerManager.aidl b/core/java/android/os/IPowerManager.aidl
index d03b0c5..be3c0cc 100644
--- a/core/java/android/os/IPowerManager.aidl
+++ b/core/java/android/os/IPowerManager.aidl
@@ -23,7 +23,7 @@
 
 interface IPowerManager
 {
-    // WARNING: The first four methods must remain the first three methods because their
+    // WARNING: The first five methods must remain the first five methods because their
     // transaction numbers must not change unless IPowerManager.cpp is also updated.
     void acquireWakeLock(IBinder lock, int flags, String tag, String packageName, in WorkSource ws,
             String historyTag);
@@ -31,6 +31,7 @@
             int uidtoblame);
     void releaseWakeLock(IBinder lock, int flags);
     void updateWakeLockUids(IBinder lock, in int[] uids);
+    oneway void powerHint(int hintId, int data);
 
     void updateWakeLockWorkSource(IBinder lock, in WorkSource ws, String historyTag);
     boolean isWakeLockLevelSupported(int level);
diff --git a/core/res/res/drawable-hdpi/ic_audio_alarm.png b/core/res/res/drawable-hdpi/ic_audio_alarm_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_audio_alarm.png
rename to core/res/res/drawable-hdpi/ic_audio_alarm_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_alarm_mute.png b/core/res/res/drawable-hdpi/ic_audio_alarm_mute_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_audio_alarm_mute.png
rename to core/res/res/drawable-hdpi/ic_audio_alarm_mute_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_bt.png b/core/res/res/drawable-hdpi/ic_audio_bt_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_audio_bt.png
rename to core/res/res/drawable-hdpi/ic_audio_bt_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_bt_mute.png b/core/res/res/drawable-hdpi/ic_audio_bt_mute_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_audio_bt_mute.png
rename to core/res/res/drawable-hdpi/ic_audio_bt_mute_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_notification_am.png b/core/res/res/drawable-hdpi/ic_audio_notification_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_audio_notification_am.png
rename to core/res/res/drawable-hdpi/ic_audio_notification_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_notification_mute_am.png b/core/res/res/drawable-hdpi/ic_audio_notification_mute_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_audio_notification_mute_am.png
rename to core/res/res/drawable-hdpi/ic_audio_notification_mute_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_phone_am.png b/core/res/res/drawable-hdpi/ic_audio_phone_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_audio_phone_am.png
rename to core/res/res/drawable-hdpi/ic_audio_phone_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_ring_notif_am.png b/core/res/res/drawable-hdpi/ic_audio_ring_notif_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_audio_ring_notif_am.png
rename to core/res/res/drawable-hdpi/ic_audio_ring_notif_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_ring_notif_mute_am.png b/core/res/res/drawable-hdpi/ic_audio_ring_notif_mute_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_audio_ring_notif_mute_am.png
rename to core/res/res/drawable-hdpi/ic_audio_ring_notif_mute_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_ring_notif_vibrate_am.png b/core/res/res/drawable-hdpi/ic_audio_ring_notif_vibrate_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_audio_ring_notif_vibrate_am.png
rename to core/res/res/drawable-hdpi/ic_audio_ring_notif_vibrate_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_vol_am.png b/core/res/res/drawable-hdpi/ic_audio_vol_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_audio_vol_am.png
rename to core/res/res/drawable-hdpi/ic_audio_vol_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_vol_mute_am.png b/core/res/res/drawable-hdpi/ic_audio_vol_mute_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_audio_vol_mute_am.png
rename to core/res/res/drawable-hdpi/ic_audio_vol_mute_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lock_airplane_mode.png b/core/res/res/drawable-hdpi/ic_lock_airplane_mode_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_lock_airplane_mode.png
rename to core/res/res/drawable-hdpi/ic_lock_airplane_mode_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lock_airplane_mode_off_am.png b/core/res/res/drawable-hdpi/ic_lock_airplane_mode_off_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_lock_airplane_mode_off_am.png
rename to core/res/res/drawable-hdpi/ic_lock_airplane_mode_off_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lock_bugreport_alpha.png b/core/res/res/drawable-hdpi/ic_lock_bugreport_alpha.png
new file mode 100644
index 0000000..ba5bd01
--- /dev/null
+++ b/core/res/res/drawable-hdpi/ic_lock_bugreport_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lock_idle_alarm.png b/core/res/res/drawable-hdpi/ic_lock_idle_alarm_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_lock_idle_alarm.png
rename to core/res/res/drawable-hdpi/ic_lock_idle_alarm_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lock_lock.png b/core/res/res/drawable-hdpi/ic_lock_lock_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_lock_lock.png
rename to core/res/res/drawable-hdpi/ic_lock_lock_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lock_power_off.png b/core/res/res/drawable-hdpi/ic_lock_power_off_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_lock_power_off.png
rename to core/res/res/drawable-hdpi/ic_lock_power_off_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lock_ringer_off.png b/core/res/res/drawable-hdpi/ic_lock_ringer_off_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_lock_ringer_off.png
rename to core/res/res/drawable-hdpi/ic_lock_ringer_off_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lock_ringer_on.png b/core/res/res/drawable-hdpi/ic_lock_ringer_on_alpha.png
similarity index 100%
rename from core/res/res/drawable-hdpi/ic_lock_ringer_on.png
rename to core/res/res/drawable-hdpi/ic_lock_ringer_on_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-ldpi/ic_lock_airplane_mode.png b/core/res/res/drawable-ldpi/ic_lock_airplane_mode_alpha.png
similarity index 100%
rename from core/res/res/drawable-ldpi/ic_lock_airplane_mode.png
rename to core/res/res/drawable-ldpi/ic_lock_airplane_mode_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-ldpi/ic_lock_airplane_mode_off_am.png b/core/res/res/drawable-ldpi/ic_lock_airplane_mode_off_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-ldpi/ic_lock_airplane_mode_off_am.png
rename to core/res/res/drawable-ldpi/ic_lock_airplane_mode_off_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-ldpi/ic_lock_idle_alarm.png b/core/res/res/drawable-ldpi/ic_lock_idle_alarm_alpha.png
similarity index 100%
rename from core/res/res/drawable-ldpi/ic_lock_idle_alarm.png
rename to core/res/res/drawable-ldpi/ic_lock_idle_alarm_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-ldpi/ic_lock_lock.png b/core/res/res/drawable-ldpi/ic_lock_lock_alpha.png
similarity index 100%
rename from core/res/res/drawable-ldpi/ic_lock_lock.png
rename to core/res/res/drawable-ldpi/ic_lock_lock_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-ldpi/ic_lock_power_off.png b/core/res/res/drawable-ldpi/ic_lock_power_off_alpha.png
similarity index 100%
rename from core/res/res/drawable-ldpi/ic_lock_power_off.png
rename to core/res/res/drawable-ldpi/ic_lock_power_off_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-ldpi/ic_lock_ringer_off.png b/core/res/res/drawable-ldpi/ic_lock_ringer_off_alpha.png
similarity index 100%
rename from core/res/res/drawable-ldpi/ic_lock_ringer_off.png
rename to core/res/res/drawable-ldpi/ic_lock_ringer_off_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-ldpi/ic_lock_ringer_on.png b/core/res/res/drawable-ldpi/ic_lock_ringer_on_alpha.png
similarity index 100%
rename from core/res/res/drawable-ldpi/ic_lock_ringer_on.png
rename to core/res/res/drawable-ldpi/ic_lock_ringer_on_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_alarm.png b/core/res/res/drawable-mdpi/ic_audio_alarm_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_audio_alarm.png
rename to core/res/res/drawable-mdpi/ic_audio_alarm_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_alarm_mute.png b/core/res/res/drawable-mdpi/ic_audio_alarm_mute_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_audio_alarm_mute.png
rename to core/res/res/drawable-mdpi/ic_audio_alarm_mute_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_bt.png b/core/res/res/drawable-mdpi/ic_audio_bt_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_audio_bt.png
rename to core/res/res/drawable-mdpi/ic_audio_bt_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_bt_mute.png b/core/res/res/drawable-mdpi/ic_audio_bt_mute_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_audio_bt_mute.png
rename to core/res/res/drawable-mdpi/ic_audio_bt_mute_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_notification_am.png b/core/res/res/drawable-mdpi/ic_audio_notification_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_audio_notification_am.png
rename to core/res/res/drawable-mdpi/ic_audio_notification_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_notification_mute_am.png b/core/res/res/drawable-mdpi/ic_audio_notification_mute_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_audio_notification_mute_am.png
rename to core/res/res/drawable-mdpi/ic_audio_notification_mute_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_phone_am.png b/core/res/res/drawable-mdpi/ic_audio_phone_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_audio_phone_am.png
rename to core/res/res/drawable-mdpi/ic_audio_phone_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_ring_notif_am.png b/core/res/res/drawable-mdpi/ic_audio_ring_notif_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_audio_ring_notif_am.png
rename to core/res/res/drawable-mdpi/ic_audio_ring_notif_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_ring_notif_mute_am.png b/core/res/res/drawable-mdpi/ic_audio_ring_notif_mute_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_audio_ring_notif_mute_am.png
rename to core/res/res/drawable-mdpi/ic_audio_ring_notif_mute_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_ring_notif_vibrate_am.png b/core/res/res/drawable-mdpi/ic_audio_ring_notif_vibrate_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_audio_ring_notif_vibrate_am.png
rename to core/res/res/drawable-mdpi/ic_audio_ring_notif_vibrate_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_vol_am.png b/core/res/res/drawable-mdpi/ic_audio_vol_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_audio_vol_am.png
rename to core/res/res/drawable-mdpi/ic_audio_vol_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_vol_mute_am.png b/core/res/res/drawable-mdpi/ic_audio_vol_mute_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_audio_vol_mute_am.png
rename to core/res/res/drawable-mdpi/ic_audio_vol_mute_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lock_airplane_mode.png b/core/res/res/drawable-mdpi/ic_lock_airplane_mode_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_lock_airplane_mode.png
rename to core/res/res/drawable-mdpi/ic_lock_airplane_mode_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lock_airplane_mode_off_am.png b/core/res/res/drawable-mdpi/ic_lock_airplane_mode_off_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_lock_airplane_mode_off_am.png
rename to core/res/res/drawable-mdpi/ic_lock_airplane_mode_off_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lock_bugreport_alpha.png b/core/res/res/drawable-mdpi/ic_lock_bugreport_alpha.png
new file mode 100644
index 0000000..4e2612d
--- /dev/null
+++ b/core/res/res/drawable-mdpi/ic_lock_bugreport_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lock_idle_alarm.png b/core/res/res/drawable-mdpi/ic_lock_idle_alarm_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_lock_idle_alarm.png
rename to core/res/res/drawable-mdpi/ic_lock_idle_alarm_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lock_lock.png b/core/res/res/drawable-mdpi/ic_lock_lock_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_lock_lock.png
rename to core/res/res/drawable-mdpi/ic_lock_lock_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lock_power_off.png b/core/res/res/drawable-mdpi/ic_lock_power_off_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_lock_power_off.png
rename to core/res/res/drawable-mdpi/ic_lock_power_off_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lock_ringer_off.png b/core/res/res/drawable-mdpi/ic_lock_ringer_off_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_lock_ringer_off.png
rename to core/res/res/drawable-mdpi/ic_lock_ringer_off_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lock_ringer_on.png b/core/res/res/drawable-mdpi/ic_lock_ringer_on_alpha.png
similarity index 100%
rename from core/res/res/drawable-mdpi/ic_lock_ringer_on.png
rename to core/res/res/drawable-mdpi/ic_lock_ringer_on_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_alarm.png b/core/res/res/drawable-xhdpi/ic_audio_alarm_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_audio_alarm.png
rename to core/res/res/drawable-xhdpi/ic_audio_alarm_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_alarm_mute.png b/core/res/res/drawable-xhdpi/ic_audio_alarm_mute_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_audio_alarm_mute.png
rename to core/res/res/drawable-xhdpi/ic_audio_alarm_mute_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_bt.png b/core/res/res/drawable-xhdpi/ic_audio_bt_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_audio_bt.png
rename to core/res/res/drawable-xhdpi/ic_audio_bt_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_bt_mute.png b/core/res/res/drawable-xhdpi/ic_audio_bt_mute_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_audio_bt_mute.png
rename to core/res/res/drawable-xhdpi/ic_audio_bt_mute_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_notification_am.png b/core/res/res/drawable-xhdpi/ic_audio_notification_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_audio_notification_am.png
rename to core/res/res/drawable-xhdpi/ic_audio_notification_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_notification_mute_am.png b/core/res/res/drawable-xhdpi/ic_audio_notification_mute_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_audio_notification_mute_am.png
rename to core/res/res/drawable-xhdpi/ic_audio_notification_mute_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_phone_am.png b/core/res/res/drawable-xhdpi/ic_audio_phone_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_audio_phone_am.png
rename to core/res/res/drawable-xhdpi/ic_audio_phone_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_ring_notif_am.png b/core/res/res/drawable-xhdpi/ic_audio_ring_notif_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_audio_ring_notif_am.png
rename to core/res/res/drawable-xhdpi/ic_audio_ring_notif_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_ring_notif_mute_am.png b/core/res/res/drawable-xhdpi/ic_audio_ring_notif_mute_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_audio_ring_notif_mute_am.png
rename to core/res/res/drawable-xhdpi/ic_audio_ring_notif_mute_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_ring_notif_vibrate_am.png b/core/res/res/drawable-xhdpi/ic_audio_ring_notif_vibrate_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_audio_ring_notif_vibrate_am.png
rename to core/res/res/drawable-xhdpi/ic_audio_ring_notif_vibrate_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_vol_am.png b/core/res/res/drawable-xhdpi/ic_audio_vol_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_audio_vol_am.png
rename to core/res/res/drawable-xhdpi/ic_audio_vol_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_vol_mute_am.png b/core/res/res/drawable-xhdpi/ic_audio_vol_mute_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_audio_vol_mute_am.png
rename to core/res/res/drawable-xhdpi/ic_audio_vol_mute_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_airplane_mode.png b/core/res/res/drawable-xhdpi/ic_lock_airplane_mode_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_lock_airplane_mode.png
rename to core/res/res/drawable-xhdpi/ic_lock_airplane_mode_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_airplane_mode_off_am.png b/core/res/res/drawable-xhdpi/ic_lock_airplane_mode_off_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_lock_airplane_mode_off_am.png
rename to core/res/res/drawable-xhdpi/ic_lock_airplane_mode_off_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_bugreport_alpha.png b/core/res/res/drawable-xhdpi/ic_lock_bugreport_alpha.png
new file mode 100644
index 0000000..e6ca1ea
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_lock_bugreport_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_idle_alarm.png b/core/res/res/drawable-xhdpi/ic_lock_idle_alarm_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_lock_idle_alarm.png
rename to core/res/res/drawable-xhdpi/ic_lock_idle_alarm_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_lock.png b/core/res/res/drawable-xhdpi/ic_lock_lock_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_lock_lock.png
rename to core/res/res/drawable-xhdpi/ic_lock_lock_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_power_off.png b/core/res/res/drawable-xhdpi/ic_lock_power_off_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_lock_power_off.png
rename to core/res/res/drawable-xhdpi/ic_lock_power_off_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_ringer_off.png b/core/res/res/drawable-xhdpi/ic_lock_ringer_off_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_lock_ringer_off.png
rename to core/res/res/drawable-xhdpi/ic_lock_ringer_off_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_ringer_on.png b/core/res/res/drawable-xhdpi/ic_lock_ringer_on_alpha.png
similarity index 100%
rename from core/res/res/drawable-xhdpi/ic_lock_ringer_on.png
rename to core/res/res/drawable-xhdpi/ic_lock_ringer_on_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_audio_alarm.png b/core/res/res/drawable-xxhdpi/ic_audio_alarm_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/ic_audio_alarm.png
rename to core/res/res/drawable-xxhdpi/ic_audio_alarm_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_audio_alarm_mute.png b/core/res/res/drawable-xxhdpi/ic_audio_alarm_mute_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/ic_audio_alarm_mute.png
rename to core/res/res/drawable-xxhdpi/ic_audio_alarm_mute_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_audio_bt.png b/core/res/res/drawable-xxhdpi/ic_audio_bt_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/ic_audio_bt.png
rename to core/res/res/drawable-xxhdpi/ic_audio_bt_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_audio_bt_mute.png b/core/res/res/drawable-xxhdpi/ic_audio_bt_mute_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/ic_audio_bt_mute.png
rename to core/res/res/drawable-xxhdpi/ic_audio_bt_mute_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_audio_notification_am.png b/core/res/res/drawable-xxhdpi/ic_audio_notification_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/ic_audio_notification_am.png
rename to core/res/res/drawable-xxhdpi/ic_audio_notification_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_audio_notification_mute_am.png b/core/res/res/drawable-xxhdpi/ic_audio_notification_mute_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/ic_audio_notification_mute_am.png
rename to core/res/res/drawable-xxhdpi/ic_audio_notification_mute_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_audio_phone_am.png b/core/res/res/drawable-xxhdpi/ic_audio_phone_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/ic_audio_phone_am.png
rename to core/res/res/drawable-xxhdpi/ic_audio_phone_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_audio_ring_notif_am.png b/core/res/res/drawable-xxhdpi/ic_audio_ring_notif_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/ic_audio_ring_notif_am.png
rename to core/res/res/drawable-xxhdpi/ic_audio_ring_notif_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_audio_ring_notif_mute_am.png b/core/res/res/drawable-xxhdpi/ic_audio_ring_notif_mute_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/ic_audio_ring_notif_mute_am.png
rename to core/res/res/drawable-xxhdpi/ic_audio_ring_notif_mute_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_audio_ring_notif_vibrate_am.png b/core/res/res/drawable-xxhdpi/ic_audio_ring_notif_vibrate_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/ic_audio_ring_notif_vibrate_am.png
rename to core/res/res/drawable-xxhdpi/ic_audio_ring_notif_vibrate_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_audio_vol_am.png b/core/res/res/drawable-xxhdpi/ic_audio_vol_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/ic_audio_vol_am.png
rename to core/res/res/drawable-xxhdpi/ic_audio_vol_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_audio_vol_mute_am.png b/core/res/res/drawable-xxhdpi/ic_audio_vol_mute_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/ic_audio_vol_mute_am.png
rename to core/res/res/drawable-xxhdpi/ic_audio_vol_mute_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_lock_airplane_mode.png b/core/res/res/drawable-xxhdpi/ic_lock_airplane_mode_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/ic_lock_airplane_mode.png
rename to core/res/res/drawable-xxhdpi/ic_lock_airplane_mode_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_lock_airplane_mode_off_am.png b/core/res/res/drawable-xxhdpi/ic_lock_airplane_mode_off_am_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/ic_lock_airplane_mode_off_am.png
rename to core/res/res/drawable-xxhdpi/ic_lock_airplane_mode_off_am_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_lock_bugreport_alpha.png b/core/res/res/drawable-xxhdpi/ic_lock_bugreport_alpha.png
new file mode 100644
index 0000000..d6018dd
--- /dev/null
+++ b/core/res/res/drawable-xxhdpi/ic_lock_bugreport_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_lock_idle_alarm.png b/core/res/res/drawable-xxhdpi/ic_lock_idle_alarm_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/ic_lock_idle_alarm.png
rename to core/res/res/drawable-xxhdpi/ic_lock_idle_alarm_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_lock_lock.png b/core/res/res/drawable-xxhdpi/ic_lock_lock_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/ic_lock_lock.png
rename to core/res/res/drawable-xxhdpi/ic_lock_lock_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/ic_lock_power_off.png b/core/res/res/drawable-xxhdpi/ic_lock_power_off_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/ic_lock_power_off.png
rename to core/res/res/drawable-xxhdpi/ic_lock_power_off_alpha.png
Binary files differ
diff --git a/core/res/res/drawable/ic_audio_alarm.xml b/core/res/res/drawable/ic_audio_alarm.xml
new file mode 100644
index 0000000..d3e5470
--- /dev/null
+++ b/core/res/res/drawable/ic_audio_alarm.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+    android:src="@drawable/ic_audio_alarm_alpha"
+    android:tint="?attr/colorControlNormal" />
diff --git a/core/res/res/drawable/ic_audio_alarm_mute.xml b/core/res/res/drawable/ic_audio_alarm_mute.xml
new file mode 100644
index 0000000..7d85872
--- /dev/null
+++ b/core/res/res/drawable/ic_audio_alarm_mute.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+    android:src="@drawable/ic_audio_alarm_mute_alpha"
+    android:tint="?attr/colorControlNormal" />
diff --git a/core/res/res/drawable/ic_audio_bt.xml b/core/res/res/drawable/ic_audio_bt.xml
new file mode 100644
index 0000000..4f5af3d
--- /dev/null
+++ b/core/res/res/drawable/ic_audio_bt.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+    android:src="@drawable/ic_audio_bt_alpha"
+    android:tint="?attr/colorControlNormal" />
diff --git a/core/res/res/drawable/ic_audio_bt_mute.xml b/core/res/res/drawable/ic_audio_bt_mute.xml
new file mode 100644
index 0000000..d2004c0
--- /dev/null
+++ b/core/res/res/drawable/ic_audio_bt_mute.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+    android:src="@drawable/ic_audio_bt_mute_alpha"
+    android:tint="?attr/colorControlNormal" />
diff --git a/core/res/res/drawable/ic_audio_notification.xml b/core/res/res/drawable/ic_audio_notification.xml
index b87e4c8..65249f5 100644
--- a/core/res/res/drawable/ic_audio_notification.xml
+++ b/core/res/res/drawable/ic_audio_notification.xml
@@ -18,6 +18,6 @@
 -->
 
 <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-        android:src="@drawable/ic_audio_notification_am"
-        android:autoMirrored="true">
-</bitmap>
+    android:src="@drawable/ic_audio_notification_am_alpha"
+    android:autoMirrored="true"
+    android:tint="?attr/colorControlNormal" />
diff --git a/core/res/res/drawable/ic_audio_notification_mute.xml b/core/res/res/drawable/ic_audio_notification_mute.xml
index 1caf27c..af6a8e0 100644
--- a/core/res/res/drawable/ic_audio_notification_mute.xml
+++ b/core/res/res/drawable/ic_audio_notification_mute.xml
@@ -18,6 +18,6 @@
 -->
 
 <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-        android:src="@drawable/ic_audio_notification_mute_am"
-        android:autoMirrored="true">
-</bitmap>
+    android:src="@drawable/ic_audio_notification_mute_am_alpha"
+    android:autoMirrored="true"
+    android:tint="?attr/colorControlNormal" />
diff --git a/core/res/res/drawable/ic_audio_phone.xml b/core/res/res/drawable/ic_audio_phone.xml
index e6869fd..1bab863 100644
--- a/core/res/res/drawable/ic_audio_phone.xml
+++ b/core/res/res/drawable/ic_audio_phone.xml
@@ -18,6 +18,6 @@
 -->
 
 <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-        android:src="@drawable/ic_audio_phone_am"
-        android:autoMirrored="true">
-</bitmap>
+    android:src="@drawable/ic_audio_phone_am_alpha"
+    android:autoMirrored="true"
+    android:tint="?attr/colorControlNormal" />
diff --git a/core/res/res/drawable/ic_audio_ring_notif.xml b/core/res/res/drawable/ic_audio_ring_notif.xml
index 2f48741..247d1b4 100644
--- a/core/res/res/drawable/ic_audio_ring_notif.xml
+++ b/core/res/res/drawable/ic_audio_ring_notif.xml
@@ -18,6 +18,6 @@
 -->
 
 <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-        android:src="@drawable/ic_audio_ring_notif_am"
-        android:autoMirrored="true">
-</bitmap>
+    android:src="@drawable/ic_audio_ring_notif_am_alpha"
+    android:autoMirrored="true"
+    android:tint="?attr/colorControlNormal" />
diff --git a/core/res/res/drawable/ic_audio_ring_notif_mute.xml b/core/res/res/drawable/ic_audio_ring_notif_mute.xml
index 7549f6d..72aaa9d 100644
--- a/core/res/res/drawable/ic_audio_ring_notif_mute.xml
+++ b/core/res/res/drawable/ic_audio_ring_notif_mute.xml
@@ -18,6 +18,6 @@
 -->
 
 <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-        android:src="@drawable/ic_audio_ring_notif_mute_am"
-        android:autoMirrored="true">
-</bitmap>
+    android:src="@drawable/ic_audio_ring_notif_mute_am_alpha"
+    android:autoMirrored="true"
+    android:tint="?attr/colorControlNormal" />
diff --git a/core/res/res/drawable/ic_audio_ring_notif_vibrate.xml b/core/res/res/drawable/ic_audio_ring_notif_vibrate.xml
index 3481e27..9e31aba 100644
--- a/core/res/res/drawable/ic_audio_ring_notif_vibrate.xml
+++ b/core/res/res/drawable/ic_audio_ring_notif_vibrate.xml
@@ -18,6 +18,6 @@
 -->
 
 <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-        android:src="@drawable/ic_audio_ring_notif_vibrate_am"
-        android:autoMirrored="true">
-</bitmap>
+    android:src="@drawable/ic_audio_ring_notif_vibrate_am_alpha"
+    android:autoMirrored="true"
+    android:tint="?attr/colorControlNormal" />
diff --git a/core/res/res/drawable/ic_audio_vol.xml b/core/res/res/drawable/ic_audio_vol.xml
index 6dd249b..8d07ded 100644
--- a/core/res/res/drawable/ic_audio_vol.xml
+++ b/core/res/res/drawable/ic_audio_vol.xml
@@ -18,6 +18,6 @@
 -->
 
 <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-        android:src="@drawable/ic_audio_vol_am"
-        android:autoMirrored="true">
-</bitmap>
+    android:src="@drawable/ic_audio_vol_am_alpha"
+    android:autoMirrored="true"
+    android:tint="?attr/colorControlNormal" />
diff --git a/core/res/res/drawable/ic_audio_vol_mute.xml b/core/res/res/drawable/ic_audio_vol_mute.xml
index b093f59..edbdb23 100644
--- a/core/res/res/drawable/ic_audio_vol_mute.xml
+++ b/core/res/res/drawable/ic_audio_vol_mute.xml
@@ -18,6 +18,6 @@
 -->
 
 <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-        android:src="@drawable/ic_audio_vol_mute_am"
-        android:autoMirrored="true">
-</bitmap>
+    android:src="@drawable/ic_audio_vol_mute_am_alpha"
+    android:autoMirrored="true"
+    android:tint="?attr/colorControlNormal" />
diff --git a/core/res/res/drawable/ic_lock_airplane_mode.xml b/core/res/res/drawable/ic_lock_airplane_mode.xml
new file mode 100644
index 0000000..4a16922
--- /dev/null
+++ b/core/res/res/drawable/ic_lock_airplane_mode.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+    android:src="@drawable/ic_lock_airplane_mode_alpha"
+    android:tint="?attr/colorControlActivated" />
diff --git a/core/res/res/drawable/ic_lock_airplane_mode_off.xml b/core/res/res/drawable/ic_lock_airplane_mode_off.xml
index b344e28..a8cd390 100644
--- a/core/res/res/drawable/ic_lock_airplane_mode_off.xml
+++ b/core/res/res/drawable/ic_lock_airplane_mode_off.xml
@@ -18,6 +18,6 @@
 -->
 
 <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-        android:src="@drawable/ic_lock_airplane_mode_off_am"
-        android:autoMirrored="true">
-</bitmap>
+    android:src="@drawable/ic_lock_airplane_mode_off_am_alpha"
+    android:autoMirrored="true"
+    android:tint="?attr/colorControlNormal" />
diff --git a/core/res/res/drawable/ic_lock_bugreport.xml b/core/res/res/drawable/ic_lock_bugreport.xml
new file mode 100644
index 0000000..a3f82ce
--- /dev/null
+++ b/core/res/res/drawable/ic_lock_bugreport.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+    android:src="@drawable/ic_lock_bugreport_alpha"
+    android:tint="?attr/colorControlNormal" />
diff --git a/core/res/res/drawable/ic_lock_idle_alarm.xml b/core/res/res/drawable/ic_lock_idle_alarm.xml
new file mode 100644
index 0000000..e8189bd
--- /dev/null
+++ b/core/res/res/drawable/ic_lock_idle_alarm.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+    android:src="@drawable/ic_lock_idle_alarm_alpha"
+    android:tint="?attr/colorControlNormal" />
diff --git a/core/res/res/drawable/ic_lock_lock.xml b/core/res/res/drawable/ic_lock_lock.xml
new file mode 100644
index 0000000..39f268a
--- /dev/null
+++ b/core/res/res/drawable/ic_lock_lock.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+    android:src="@drawable/ic_lock_lock_alpha"
+    android:tint="?attr/colorControlActivated" />
diff --git a/core/res/res/drawable/ic_lock_power_off.xml b/core/res/res/drawable/ic_lock_power_off.xml
new file mode 100644
index 0000000..718f17e
--- /dev/null
+++ b/core/res/res/drawable/ic_lock_power_off.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+    android:src="@drawable/ic_lock_power_off_alpha"
+    android:tint="?attr/colorControlNormal" />
diff --git a/core/res/res/layout/alert_dialog_quantum.xml b/core/res/res/layout/alert_dialog_quantum.xml
index 59dba08..93d6d1e 100644
--- a/core/res/res/layout/alert_dialog_quantum.xml
+++ b/core/res/res/layout/alert_dialog_quantum.xml
@@ -18,7 +18,7 @@
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/parentPanel"
-    android:layout_width="match_parent"
+    android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:orientation="vertical">
 
@@ -35,9 +35,10 @@
             android:paddingEnd="16dip"
             android:paddingTop="16dip">
             <ImageView android:id="@+id/icon"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:paddingEnd="8dip"
+                android:layout_width="32dip"
+                android:layout_height="32dip"
+                android:layout_marginEnd="8dip"
+                android:scaleType="fitCenter"
                 android:src="@null" />
             <TextView android:id="@+id/alertTitle"
                 style="?android:attr/windowTitleStyle"
diff --git a/core/res/res/layout/dialog_custom_title_quantum.xml b/core/res/res/layout/dialog_custom_title_quantum.xml
index f8a2bf7..1bb93eb 100644
--- a/core/res/res/layout/dialog_custom_title_quantum.xml
+++ b/core/res/res/layout/dialog_custom_title_quantum.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!-- Copyright (C) 2014 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -23,17 +23,12 @@
     android:fitsSystemWindows="true">
     <FrameLayout android:id="@android:id/title_container"
         android:layout_width="match_parent"
-        android:layout_height="@dimen/alert_dialog_title_height"
         android:layout_weight="0"
         android:gravity="center_vertical|start"
-        style="?android:attr/windowTitleBackgroundStyle">
-    </FrameLayout>
-    <View android:id="@+id/titleDivider"
-            android:layout_width="match_parent"
-            android:layout_height="2dip"
-            android:background="@android:color/holo_blue_light" />
+        style="?android:attr/windowTitleBackgroundStyle" />
     <FrameLayout
-        android:layout_width="match_parent" android:layout_height="wrap_content"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
         android:layout_weight="1"
         android:orientation="vertical"
         android:foreground="?android:attr/windowContentOverlay">
diff --git a/core/res/res/layout/dialog_title_icons_quantum.xml b/core/res/res/layout/dialog_title_icons_quantum.xml
index e3d771c..28e20d9 100644
--- a/core/res/res/layout/dialog_title_icons_quantum.xml
+++ b/core/res/res/layout/dialog_title_icons_quantum.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!-- Copyright (C) 2014 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -28,9 +28,9 @@
         android:layout_height="wrap_content"
         android:orientation="horizontal"
         android:gravity="center_vertical"
-        android:minHeight="@android:dimen/alert_dialog_title_height"
         android:paddingStart="16dip"
-        android:paddingEnd="16dip">
+        android:paddingEnd="16dip"
+        android:paddingTop="16dip">
         <ImageView android:id="@+id/left_icon"
             android:layout_width="32dip"
             android:layout_height="32dip"
@@ -48,11 +48,6 @@
             android:layout_marginStart="8dip" />
     </LinearLayout>
 
-    <View android:id="@+id/titleDivider"
-            android:layout_width="match_parent"
-            android:layout_height="1dip"
-            android:background="@android:color/holo_blue_light" />
-
     <FrameLayout
         android:layout_width="match_parent" android:layout_height="wrap_content"
         android:layout_weight="1"
diff --git a/core/res/res/layout/dialog_title_quantum.xml b/core/res/res/layout/dialog_title_quantum.xml
index 0a692ee..b92c1e7 100644
--- a/core/res/res/layout/dialog_title_quantum.xml
+++ b/core/res/res/layout/dialog_title_quantum.xml
@@ -1,21 +1,20 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
+<!-- Copyright (C) 2014 The Android Open Source Project
 
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!--
 This is an optimized layout for a screen, with the minimum set of features
 enabled.
 -->
@@ -23,17 +22,16 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical"
     android:fitsSystemWindows="true">
-    <TextView android:id="@android:id/title" style="?android:attr/windowTitleStyle"
+    <TextView android:id="@+id/alertTitle"
+        style="?android:attr/windowTitleStyle"
+        android:singleLine="true"
+        android:ellipsize="end"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:minHeight="@android:dimen/alert_dialog_title_height"
+        android:textAlignment="viewStart"
         android:paddingStart="16dip"
         android:paddingEnd="16dip"
-        android:gravity="center_vertical|start" />
-    <View android:id="@+id/titleDivider"
-            android:layout_width="match_parent"
-            android:layout_height="2dip"
-            android:background="@android:color/holo_blue_light" />
+        android:paddingTop="16dip" />
     <FrameLayout
         android:layout_width="match_parent" android:layout_height="wrap_content"
         android:layout_weight="1"
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index 00b61a5..0fc198e 100644
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -6462,4 +6462,8 @@
         <attr name="layout_gravity" />
     </declare-styleable>
 
+    <declare-styleable name="ActionBar_LayoutParams">
+        <attr name="layout_gravity" />
+    </declare-styleable>
+
 </resources>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 7ae5a03..fbe066a 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -467,6 +467,7 @@
              1  UI_MODE_TYPE_NORMAL
              4  UI_MODE_TYPE_TELEVISION
              5  UI_MODE_TYPE_APPLIANCE
+             6  UI_MODE_TYPE_WATCH
          Any other values will have surprising consequences. -->
     <integer name="config_defaultUiModeType">1</integer>
 
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 57075ee..682293d 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -1829,8 +1829,10 @@
   <java-symbol type="color" name="timepicker_default_ampm_selected_background_color_holo_light" />
   <java-symbol type="array" name="config_clockTickVibePattern" />
 
+  <!-- From various Quantum changes -->
   <java-symbol type="attr" name="toolbarStyle" />
   <java-symbol type="attr" name="titleTextAppearance" />
   <java-symbol type="attr" name="subtitleTextAppearance" />
+  <java-symbol type="drawable" name="ic_lock_bugreport" />
 
 </resources>
diff --git a/core/tests/hosttests/test-apps/DownloadManagerTestApp/src/com/android/frameworks/downloadmanagertests/DownloadManagerBaseTest.java b/core/tests/hosttests/test-apps/DownloadManagerTestApp/src/com/android/frameworks/downloadmanagertests/DownloadManagerBaseTest.java
index fc2897f..f4bab43 100644
--- a/core/tests/hosttests/test-apps/DownloadManagerTestApp/src/com/android/frameworks/downloadmanagertests/DownloadManagerBaseTest.java
+++ b/core/tests/hosttests/test-apps/DownloadManagerTestApp/src/com/android/frameworks/downloadmanagertests/DownloadManagerBaseTest.java
@@ -466,15 +466,16 @@
      * bytes downloaded so far.
      *
      * @param id DownloadManager download id that needs to be checked.
+     * @param bytesToReceive how many bytes do we need to wait to receive.
      * @throws Exception if timed out while waiting for the file to grow in size.
      */
-    protected void waitToReceiveData(long id) throws Exception {
+    protected void waitToReceiveData(long id, long bytesToReceive) throws Exception {
         int currentWaitTime = 0;
-        long originalSize = getBytesDownloaded(id);
+        long expectedSize = getBytesDownloaded(id) + bytesToReceive;
         long currentSize = 0;
-        while ((currentSize = getBytesDownloaded(id)) <= originalSize) {
-            Log.i(LOG_TAG, String.format("orig: %d, cur: %d. Waiting for file to be written to...",
-                    originalSize, currentSize));
+        while ((currentSize = getBytesDownloaded(id)) <= expectedSize) {
+            Log.i(LOG_TAG, String.format("expect: %d, cur: %d. Waiting for file to be written to...",
+                    expectedSize, currentSize));
             currentWaitTime = timeoutWait(currentWaitTime, WAIT_FOR_DOWNLOAD_POLL_TIME,
                     MAX_WAIT_FOR_DOWNLOAD_TIME, "Timed out waiting for file to be written to.");
         }
diff --git a/core/tests/hosttests/test-apps/DownloadManagerTestApp/src/com/android/frameworks/downloadmanagertests/DownloadManagerTestApp.java b/core/tests/hosttests/test-apps/DownloadManagerTestApp/src/com/android/frameworks/downloadmanagertests/DownloadManagerTestApp.java
index ef48a18..bcf2e45 100644
--- a/core/tests/hosttests/test-apps/DownloadManagerTestApp/src/com/android/frameworks/downloadmanagertests/DownloadManagerTestApp.java
+++ b/core/tests/hosttests/test-apps/DownloadManagerTestApp/src/com/android/frameworks/downloadmanagertests/DownloadManagerTestApp.java
@@ -40,6 +40,9 @@
 
     protected static final String DOWNLOAD_FILENAME = "External93mb.apk";
     protected static final long DOWNLOAD_FILESIZE = 95251708;
+    // Wait until download manager actually start downloading something
+    // Will wait for 1 MB to be downloaded.
+    private static final long EXPECTED_PROGRESS = 1024 * 1024;
 
     private static final String FILE_CONCURRENT_DOWNLOAD_FILE_PREFIX = "file";
     private static final String FILE_CONCURRENT_DOWNLOAD_FILE_EXTENSION = ".bin";
@@ -284,7 +287,7 @@
             dlRequest = mDownloadManager.enqueue(request);
             waitForDownloadToStart(dlRequest);
             // make sure we're starting to download some data...
-            waitToReceiveData(dlRequest);
+            waitToReceiveData(dlRequest, EXPECTED_PROGRESS);
 
             // download disable
             setWiFiStateOn(false);
@@ -292,27 +295,29 @@
             // download disable
             Log.i(LOG_TAG, "Turning on airplane mode...");
             setAirplaneModeOn(true);
-            Thread.sleep(30 * 1000);  // wait 30 secs
+            Thread.sleep(5 * 1000);  // wait 5 secs
 
             // download disable
             setWiFiStateOn(true);
-            Thread.sleep(30 * 1000);  // wait 30 secs
+            Thread.sleep(5 * 1000);  // wait 5 secs
+            waitToReceiveData(dlRequest, EXPECTED_PROGRESS);
 
             // download enable
             Log.i(LOG_TAG, "Turning off airplane mode...");
             setAirplaneModeOn(false);
             Thread.sleep(5 * 1000);  // wait 5 seconds
+            waitToReceiveData(dlRequest, EXPECTED_PROGRESS);
 
             // download disable
             Log.i(LOG_TAG, "Turning off WiFi...");
             setWiFiStateOn(false);
-            Thread.sleep(30 * 1000);  // wait 30 secs
+            Thread.sleep(5 * 1000);  // wait 5 secs
 
             // finally, turn WiFi back on and finish up the download
             Log.i(LOG_TAG, "Turning on WiFi...");
             setWiFiStateOn(true);
-            Log.i(LOG_TAG, "Waiting up to 3 minutes for download to complete...");
-            assertTrue(waitForDownload(dlRequest, 3 * 60 * 1000));
+            Log.i(LOG_TAG, "Waiting up to 10 minutes for download to complete...");
+            assertTrue(waitForDownload(dlRequest, 10 * 60 * 1000));
             ParcelFileDescriptor pfd = mDownloadManager.openDownloadedFile(dlRequest);
             verifyFileSize(pfd, filesize);
         } finally {
@@ -358,7 +363,7 @@
             dlRequest = mDownloadManager.enqueue(request);
             waitForDownloadToStart(dlRequest);
             // are we making any progress?
-            waitToReceiveData(dlRequest);
+            waitToReceiveData(dlRequest, EXPECTED_PROGRESS);
 
             // download disable
             Log.i(LOG_TAG, "Turning off WiFi...");
@@ -368,7 +373,7 @@
             // enable download...
             Log.i(LOG_TAG, "Turning on WiFi again...");
             setWiFiStateOn(true);
-            waitToReceiveData(dlRequest);
+            waitToReceiveData(dlRequest, EXPECTED_PROGRESS);
 
             // download disable
             Log.i(LOG_TAG, "Turning off WiFi...");
@@ -379,8 +384,8 @@
             Log.i(LOG_TAG, "Turning on WiFi again...");
             setWiFiStateOn(true);
 
-            Log.i(LOG_TAG, "Waiting up to 3 minutes for download to complete...");
-            assertTrue(waitForDownload(dlRequest, 3 * 60 * 1000));
+            Log.i(LOG_TAG, "Waiting up to 10 minutes for download to complete...");
+            assertTrue(waitForDownload(dlRequest, 10 * 60 * 1000));
             ParcelFileDescriptor pfd = mDownloadManager.openDownloadedFile(dlRequest);
             verifyFileSize(pfd, filesize);
         } finally {
@@ -428,7 +433,7 @@
             dlRequest = mDownloadManager.enqueue(request);
             waitForDownloadToStart(dlRequest);
             // are we making any progress?
-            waitToReceiveData(dlRequest);
+            waitToReceiveData(dlRequest, EXPECTED_PROGRESS);
 
             // download disable
             Log.i(LOG_TAG, "Turning on Airplane mode...");
@@ -439,7 +444,7 @@
             Log.i(LOG_TAG, "Turning off Airplane mode...");
             setAirplaneModeOn(false);
             // make sure we're starting to download some data...
-            waitToReceiveData(dlRequest);
+            waitToReceiveData(dlRequest, EXPECTED_PROGRESS);
 
             // reenable the connection to start up the download again
             Log.i(LOG_TAG, "Turning on Airplane mode again...");
@@ -450,8 +455,8 @@
             Log.i(LOG_TAG, "Turning off Airplane mode again...");
             setAirplaneModeOn(false);
 
-            Log.i(LOG_TAG, "Waiting up to 3 minutes for donwload to complete...");
-            assertTrue(waitForDownload(dlRequest, 180 * 1000));  // wait up to 3 mins before timeout
+            Log.i(LOG_TAG, "Waiting up to 10 minutes for donwload to complete...");
+            assertTrue(waitForDownload(dlRequest, 10 * 60 * 1000)); // wait up to 10 mins
             ParcelFileDescriptor pfd = mDownloadManager.openDownloadedFile(dlRequest);
             verifyFileSize(pfd, filesize);
         } finally {
diff --git a/docs/html/guide/topics/resources/providing-resources.jd b/docs/html/guide/topics/resources/providing-resources.jd
index aec7fa7..bf16630 100644
--- a/docs/html/guide/topics/resources/providing-resources.jd
+++ b/docs/html/guide/topics/resources/providing-resources.jd
@@ -562,6 +562,7 @@
         <code>desk</code><br/>
         <code>television<br/>
         <code>appliance</code>
+        <code>watch</code>
       </td>
       <td>
         <ul class="nolist">
@@ -573,8 +574,9 @@
           non-pointer interaction</li>
           <li>{@code appliance}: Device is serving as an appliance, with
           no display</li>
+          <li>{@code watch}: Device has a display and is worn on the wrist</li>
         </ul>
-        <p><em>Added in API level 8, television added in API 13.</em></p>
+        <p><em>Added in API level 8, television added in API 13, watch added in API 20.</em></p>
         <p>For information about how your app can respond when the device is inserted into or
         removed from a dock, read <a 
         href="{@docRoot}training/monitoring-device-state/docking-monitoring.html">Determining
diff --git a/include/androidfw/ResourceTypes.h b/include/androidfw/ResourceTypes.h
index 7cc10be87..4d8e512 100644
--- a/include/androidfw/ResourceTypes.h
+++ b/include/androidfw/ResourceTypes.h
@@ -1054,6 +1054,7 @@
         UI_MODE_TYPE_CAR = ACONFIGURATION_UI_MODE_TYPE_CAR,
         UI_MODE_TYPE_TELEVISION = ACONFIGURATION_UI_MODE_TYPE_TELEVISION,
         UI_MODE_TYPE_APPLIANCE = ACONFIGURATION_UI_MODE_TYPE_APPLIANCE,
+        UI_MODE_TYPE_WATCH = ACONFIGURATION_UI_MODE_TYPE_WATCH,
 
         // uiMode bits for the night switch.
         MASK_UI_MODE_NIGHT = 0x30,
diff --git a/libs/androidfw/ResourceTypes.cpp b/libs/androidfw/ResourceTypes.cpp
index 7616ab0..098753b 100644
--- a/libs/androidfw/ResourceTypes.cpp
+++ b/libs/androidfw/ResourceTypes.cpp
@@ -2557,6 +2557,9 @@
             case ResTable_config::UI_MODE_TYPE_APPLIANCE:
                 res.append("appliance");
                 break;
+            case ResTable_config::UI_MODE_TYPE_WATCH:
+                res.append("watch");
+                break;
             default:
                 res.appendFormat("uiModeType=%d",
                         dtohs(screenLayout&ResTable_config::MASK_UI_MODE_TYPE));
diff --git a/policy/src/com/android/internal/policy/impl/GlobalActions.java b/policy/src/com/android/internal/policy/impl/GlobalActions.java
index 6e025bb..c6972b1 100644
--- a/policy/src/com/android/internal/policy/impl/GlobalActions.java
+++ b/policy/src/com/android/internal/policy/impl/GlobalActions.java
@@ -268,7 +268,7 @@
         if (Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.BUGREPORT_IN_POWER_MENU, 0) != 0 && isCurrentUserOwner()) {
             mItems.add(
-                new SinglePressAction(com.android.internal.R.drawable.stat_sys_adb,
+                new SinglePressAction(com.android.internal.R.drawable.ic_lock_bugreport,
                         R.string.global_action_bug_report) {
 
                     public void onPress() {
diff --git a/services/core/java/com/android/server/UiModeManagerService.java b/services/core/java/com/android/server/UiModeManagerService.java
index 94f699f..f59edc7 100644
--- a/services/core/java/com/android/server/UiModeManagerService.java
+++ b/services/core/java/com/android/server/UiModeManagerService.java
@@ -71,6 +71,7 @@
     private boolean mCarModeKeepsScreenOn;
     private boolean mDeskModeKeepsScreenOn;
     private boolean mTelevision;
+    private boolean mWatch;
     private boolean mComputedNightMode;
 
     int mCurUiMode = 0;
@@ -176,6 +177,7 @@
                 PackageManager.FEATURE_TELEVISION) ||
             context.getPackageManager().hasSystemFeature(
                     PackageManager.FEATURE_LEANBACK);
+        mWatch = context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WATCH);
 
         mNightMode = Settings.Secure.getInt(context.getContentResolver(),
                 Settings.Secure.UI_NIGHT_MODE, UiModeManager.MODE_NIGHT_AUTO);
@@ -339,8 +341,12 @@
     }
 
     private void updateConfigurationLocked() {
-        int uiMode = mTelevision ? Configuration.UI_MODE_TYPE_TELEVISION : mDefaultUiModeType;
-        if (mCarModeEnabled) {
+        int uiMode = mDefaultUiModeType;
+        if (mTelevision) {
+            uiMode = Configuration.UI_MODE_TYPE_TELEVISION;
+        } else if (mWatch) {
+            uiMode = Configuration.UI_MODE_TYPE_WATCH;
+        } else if (mCarModeEnabled) {
             uiMode = Configuration.UI_MODE_TYPE_CAR;
         } else if (isDeskDockState(mDockState)) {
             uiMode = Configuration.UI_MODE_TYPE_DESK;
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
index 80c3c8e..b85a506 100644
--- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -406,6 +406,7 @@
     private static native void nativeReleaseSuspendBlocker(String name);
     private static native void nativeSetInteractive(boolean enable);
     private static native void nativeSetAutoSuspend(boolean enable);
+    private static native void nativeSendPowerHint(int hintId, int data);
 
     public PowerManagerService(Context context) {
         super(context);
@@ -2548,6 +2549,12 @@
         }
 
         @Override // Binder call
+        public void powerHint(int hintId, int data) {
+            mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DEVICE_POWER, null);
+            nativeSendPowerHint(hintId, data);
+        }
+
+        @Override // Binder call
         public void acquireWakeLock(IBinder lock, int flags, String tag, String packageName,
                 WorkSource ws, String historyTag) {
             if (lock == null) {
diff --git a/services/core/jni/com_android_server_power_PowerManagerService.cpp b/services/core/jni/com_android_server_power_PowerManagerService.cpp
index 151e134..3ee2b16 100644
--- a/services/core/jni/com_android_server_power_PowerManagerService.cpp
+++ b/services/core/jni/com_android_server_power_PowerManagerService.cpp
@@ -189,6 +189,12 @@
     }
 }
 
+static void nativeSendPowerHint(JNIEnv *env, jclass clazz, jint hintId, jint data) {
+    if (gPowerModule && gPowerModule->powerHint) {
+        gPowerModule->powerHint(gPowerModule, (power_hint_t)hintId, (void *)data);
+    }
+}
+
 // ----------------------------------------------------------------------------
 
 static JNINativeMethod gPowerManagerServiceMethods[] = {
@@ -205,6 +211,8 @@
             (void*) nativeSetInteractive },
     { "nativeSetAutoSuspend", "(Z)V",
             (void*) nativeSetAutoSuspend },
+    { "nativeSendPowerHint", "(II)V",
+            (void*) nativeSendPowerHint },
 };
 
 #define FIND_CLASS(var, className) \
diff --git a/tools/aapt/AaptAssets.cpp b/tools/aapt/AaptAssets.cpp
index 38bfa00..e0dab78 100644
--- a/tools/aapt/AaptAssets.cpp
+++ b/tools/aapt/AaptAssets.cpp
@@ -1342,6 +1342,11 @@
               (out->uiMode&~ResTable_config::MASK_UI_MODE_TYPE)
               | ResTable_config::UI_MODE_TYPE_APPLIANCE;
         return true;
+    } else if (strcmp(name, "watch") == 0) {
+      if (out) out->uiMode =
+              (out->uiMode&~ResTable_config::MASK_UI_MODE_TYPE)
+              | ResTable_config::UI_MODE_TYPE_WATCH;
+        return true;
     }
 
     return false;