Merge "refactored screenshot code" into gingerbread
diff --git a/api/current.xml b/api/current.xml
index 03fc03a..89a28e2 100644
--- a/api/current.xml
+++ b/api/current.xml
@@ -46755,6 +46755,17 @@
  visibility="public"
 >
 </field>
+<field name="SCREEN_ORIENTATION_FULL_SENSOR"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="10"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
 <field name="SCREEN_ORIENTATION_LANDSCAPE"
  type="int"
  transient="false"
@@ -46788,6 +46799,28 @@
  visibility="public"
 >
 </field>
+<field name="SCREEN_ORIENTATION_REVERSE_LANDSCAPE"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="8"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="SCREEN_ORIENTATION_REVERSE_PORTRAIT"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="9"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
 <field name="SCREEN_ORIENTATION_SENSOR"
  type="int"
  transient="false"
@@ -46799,6 +46832,28 @@
  visibility="public"
 >
 </field>
+<field name="SCREEN_ORIENTATION_SENSOR_LANDSCAPE"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="6"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="SCREEN_ORIENTATION_SENSOR_PORTRAIT"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="7"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
 <field name="SCREEN_ORIENTATION_UNSPECIFIED"
  type="int"
  transient="false"
@@ -79217,7 +79272,7 @@
  type="float"
  transient="false"
  volatile="false"
- value="0.0010f"
+ value="0.001f"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -100957,6 +101012,348 @@
 </method>
 </class>
 </package>
+<package name="android.nfc"
+>
+<class name="NdefMessage"
+ extends="java.lang.Object"
+ abstract="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<implements name="android.os.Parcelable">
+</implements>
+<constructor name="NdefMessage"
+ type="android.nfc.NdefMessage"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="records" type="android.nfc.NdefRecord[]">
+</parameter>
+</constructor>
+<method name="describeContents"
+ return="int"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getRecords"
+ return="android.nfc.NdefRecord[]"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="writeToParcel"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="dest" type="android.os.Parcel">
+</parameter>
+<parameter name="flags" type="int">
+</parameter>
+</method>
+<field name="CREATOR"
+ type="android.os.Parcelable.Creator"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+</class>
+<class name="NdefRecord"
+ extends="java.lang.Object"
+ abstract="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<implements name="android.os.Parcelable">
+</implements>
+<constructor name="NdefRecord"
+ type="android.nfc.NdefRecord"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="tnf" type="short">
+</parameter>
+<parameter name="type" type="byte[]">
+</parameter>
+<parameter name="id" type="byte[]">
+</parameter>
+<parameter name="payload" type="byte[]">
+</parameter>
+</constructor>
+<constructor name="NdefRecord"
+ type="android.nfc.NdefRecord"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="data" type="byte[]">
+</parameter>
+</constructor>
+<method name="describeContents"
+ return="int"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getId"
+ return="byte[]"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getPayload"
+ return="byte[]"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getTnf"
+ return="short"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getType"
+ return="byte[]"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="writeToParcel"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="dest" type="android.os.Parcel">
+</parameter>
+<parameter name="flags" type="int">
+</parameter>
+</method>
+<field name="CREATOR"
+ type="android.os.Parcelable.Creator"
+ transient="false"
+ volatile="false"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="RTD_ALTERNATIVE_CARRIER"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ value="null"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="RTD_HANDOVER_CARRIER"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ value="null"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="RTD_HANDOVER_REQUEST"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ value="null"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="RTD_HANDOVER_SELECT"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ value="null"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="RTD_SMART_POSTER"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ value="null"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="RTD_TEXT"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ value="null"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="RTD_URI"
+ type="byte[]"
+ transient="false"
+ volatile="false"
+ value="null"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="TNF_ABSOLUTE_URI"
+ type="short"
+ transient="false"
+ volatile="false"
+ value="3"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="TNF_EMPTY"
+ type="short"
+ transient="false"
+ volatile="false"
+ value="0"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="TNF_EXTERNAL_TYPE"
+ type="short"
+ transient="false"
+ volatile="false"
+ value="4"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="TNF_MIME_MEDIA"
+ type="short"
+ transient="false"
+ volatile="false"
+ value="2"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="TNF_UNCHANGED"
+ type="short"
+ transient="false"
+ volatile="false"
+ value="6"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="TNF_UNKNOWN"
+ type="short"
+ transient="false"
+ volatile="false"
+ value="5"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="TNF_WELL_KNOWN"
+ type="short"
+ transient="false"
+ volatile="false"
+ value="1"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+</class>
+</package>
 <package name="android.opengl"
 >
 <class name="ETC1"
@@ -123739,6 +124136,17 @@
  visibility="public"
 >
 </method>
+<method name="isExternalStorageRemovable"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="true"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
 <field name="DIRECTORY_ALARMS"
  type="java.lang.String"
  transient="false"
diff --git a/core/java/android/content/pm/ActivityInfo.java b/core/java/android/content/pm/ActivityInfo.java
index 395c392..e26f160 100644
--- a/core/java/android/content/pm/ActivityInfo.java
+++ b/core/java/android/content/pm/ActivityInfo.java
@@ -194,10 +194,41 @@
     public static final int SCREEN_ORIENTATION_SENSOR = 4;
   
     /**
-     * Constant corresponding to <code>sensor</code> in
+     * Constant corresponding to <code>nosensor</code> in
      * the {@link android.R.attr#screenOrientation} attribute.
      */
     public static final int SCREEN_ORIENTATION_NOSENSOR = 5;
+
+    /**
+     * Constant corresponding to <code>sensorLandscape</code> in
+     * the {@link android.R.attr#screenOrientation} attribute.
+     */
+    public static final int SCREEN_ORIENTATION_SENSOR_LANDSCAPE = 6;
+
+    /**
+     * Constant corresponding to <code>sensorPortrait</code> in
+     * the {@link android.R.attr#screenOrientation} attribute.
+     */
+    public static final int SCREEN_ORIENTATION_SENSOR_PORTRAIT = 7;
+
+    /**
+     * Constant corresponding to <code>reverseLandscape</code> in
+     * the {@link android.R.attr#screenOrientation} attribute.
+     */
+    public static final int SCREEN_ORIENTATION_REVERSE_LANDSCAPE = 8;
+
+    /**
+     * Constant corresponding to <code>reversePortrait</code> in
+     * the {@link android.R.attr#screenOrientation} attribute.
+     */
+    public static final int SCREEN_ORIENTATION_REVERSE_PORTRAIT = 9;
+
+    /**
+     * Constant corresponding to <code>fullSensor</code> in
+     * the {@link android.R.attr#screenOrientation} attribute.
+     */
+    public static final int SCREEN_ORIENTATION_FULL_SENSOR = 10;
+
     /**
      * The preferred screen orientation this activity would like to run in.
      * From the {@link android.R.attr#screenOrientation} attribute, one of
@@ -207,7 +238,12 @@
      * {@link #SCREEN_ORIENTATION_USER},
      * {@link #SCREEN_ORIENTATION_BEHIND},
      * {@link #SCREEN_ORIENTATION_SENSOR},
-     * {@link #SCREEN_ORIENTATION_NOSENSOR}.
+     * {@link #SCREEN_ORIENTATION_NOSENSOR},
+     * {@link #SCREEN_ORIENTATION_SENSOR_LANDSCAPE},
+     * {@link #SCREEN_ORIENTATION_SENSOR_PORTRAIT},
+     * {@link #SCREEN_ORIENTATION_REVERSE_LANDSCAPE},
+     * {@link #SCREEN_ORIENTATION_REVERSE_PORTRAIT},
+     * {@link #SCREEN_ORIENTATION_FULL_SENSOR}.
      */
     public int screenOrientation = SCREEN_ORIENTATION_UNSPECIFIED;
     
diff --git a/core/java/android/nfc/NdefMessage.java b/core/java/android/nfc/NdefMessage.java
new file mode 100644
index 0000000..557f651
--- /dev/null
+++ b/core/java/android/nfc/NdefMessage.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2010 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.
+ */
+
+package android.nfc;
+
+import android.nfc.NdefRecord;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import java.lang.UnsupportedOperationException;
+
+/**
+ * NDEF Message data.
+ * <p>
+ * Immutable data class. An NDEF message always contains zero or more NDEF
+ * records.
+ */
+public class NdefMessage implements Parcelable {
+    /**
+     * Create an NDEF message from raw bytes.
+     * <p>
+     * Validation is performed to make sure the Record format headers are valid,
+     * and the ID + TYPE + PAYLOAD fields are of the correct size.
+     *
+     * @hide
+     */
+    public NdefMessage(byte[] data) {
+        throw new UnsupportedOperationException();
+    }
+
+    /**
+     * Create an NDEF message from NDEF records.
+     */
+    public NdefMessage(NdefRecord[] records) {
+        throw new UnsupportedOperationException();
+    }
+
+    /**
+     * Get the NDEF records inside this NDEF message.
+     *
+     * @return array of zero or more NDEF records.
+     */
+    public NdefRecord[] getRecords() {
+        throw new UnsupportedOperationException();
+    }
+
+    /**
+     * Get a byte array representation of this NDEF message.
+     *
+     * @return byte array
+     * @hide
+     */
+    public byte[] toByteArray() {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        throw new UnsupportedOperationException();
+    }
+
+    public static final Parcelable.Creator<NdefMessage> CREATOR =
+            new Parcelable.Creator<NdefMessage>() {
+        public NdefMessage createFromParcel(Parcel in) {
+            throw new UnsupportedOperationException();
+        }
+        public NdefMessage[] newArray(int size) {
+            throw new UnsupportedOperationException();
+        }
+    };
+}
\ No newline at end of file
diff --git a/core/java/android/nfc/NdefRecord.java b/core/java/android/nfc/NdefRecord.java
new file mode 100644
index 0000000..54cbbeb
--- /dev/null
+++ b/core/java/android/nfc/NdefRecord.java
@@ -0,0 +1,231 @@
+/*
+ * Copyright (C) 2010 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.
+ */
+
+package android.nfc;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import java.lang.UnsupportedOperationException;
+
+/**
+ * NDEF Record data.
+ * <p>
+ * Immutable data class. An NDEF record always contains
+ * <ul>
+ * <li>3-bit TNF field
+ * <li>Variable length type
+ * <li>Variable length ID
+ * <li>Variable length payload
+ * </ul>
+ * The TNF (Type Name Format) field indicates how to interpret the type field.
+ * <p>
+ * This class represents a logical (unchunked) NDEF record. The underlying
+ * representation may be chunked across several NDEF records when the payload is
+ * large.
+ */
+public class NdefRecord implements Parcelable {
+    /**
+     * Indicates no type, id, or payload is associated with this NDEF Record.
+     * <p>
+     * Type, id and payload fields must all be empty to be a valid TNF_EMPTY
+     * record.
+     */
+    public static final short TNF_EMPTY = 0x00;
+
+    /**
+     * Indicates the type field uses the RTD type name format.
+     * <p>
+     * Use this TNF with RTD types such as RTD_TEXT, RTD_URI.
+     */
+    public static final short TNF_WELL_KNOWN = 0x01;
+
+    /**
+     * Indicates the type field contains a value that follows the media-type BNF
+     * construct defined by RFC 2046.
+     */
+    public static final short TNF_MIME_MEDIA = 0x02;
+
+    /**
+     * Indicates the type field contains a value that follows the absolute-URI
+     * BNF construct defined by RFC 3986.
+     */
+    public static final short TNF_ABSOLUTE_URI = 0x03;
+
+    /**
+     * Indicates the type field contains a value that follows the RTD external
+     * name specification.
+     * <p>
+     * Note this TNF should not be used with RTD_TEXT or RTD_URI constants.
+     * Those are well known RTD constants, not external RTD constants.
+     */
+    public static final short TNF_EXTERNAL_TYPE = 0x04;
+
+    /**
+     * Indicates the payload type is unknown.
+     * <p>
+     * This is similar to the "application/octet-stream" MIME type. The payload
+     * type is not explicitly encoded within the NDEF Message.
+     * <p>
+     * The type field must be empty to be a valid TNF_UNKNOWN record.
+     */
+    public static final short TNF_UNKNOWN = 0x05;
+
+    /**
+     * Indicates the payload is an intermediate or final chunk of a chunked
+     * NDEF Record.
+     * <p>
+     * The payload type is specified in the first chunk, and subsequent chunks
+     * must use TNF_UNCHANGED with an empty type field. TNF_UNCHANGED must not
+     * be used in any other situation.
+     */
+    public static final short TNF_UNCHANGED = 0x06;
+
+    /**
+     * Reserved TNF type.
+     * <p>
+     * The NFC Forum NDEF Specification v1.0 suggests for NDEF parsers to treat this
+     * value like TNF_UNKNOWN.
+     * @hide
+     */
+    public static final short TNF_RESERVED = 0x07;
+
+    /**
+     * RTD Text type. For use with TNF_WELL_KNOWN.
+     */
+    public static final byte[] RTD_TEXT = {0x54};  // "T"
+
+    /**
+     * RTD URI type. For use with TNF_WELL_KNOWN.
+     */
+    public static final byte[] RTD_URI = {0x55};   // "U"
+
+    /**
+     * RTD Smart Poster type. For use with TNF_WELL_KNOWN.
+     */
+    public static final byte[] RTD_SMART_POSTER = {0x53, 0x70};  // "Sp"
+
+    /**
+     * RTD Alternative Carrier type. For use with TNF_WELL_KNOWN.
+     */
+    public static final byte[] RTD_ALTERNATIVE_CARRIER = {0x61, 0x63};  // "ac"
+
+    /**
+     * RTD Handover Carrier type. For use with TNF_WELL_KNOWN.
+     */
+    public static final byte[] RTD_HANDOVER_CARRIER = {0x48, 0x63};  // "Hc"
+
+    /**
+     * RTD Handover Request type. For use with TNF_WELL_KNOWN.
+     */
+    public static final byte[] RTD_HANDOVER_REQUEST = {0x48, 0x72};  // "Hr"
+
+    /**
+     * RTD Handover Select type. For use with TNF_WELL_KNOWN.
+     */
+    public static final byte[] RTD_HANDOVER_SELECT = {0x48, 0x73}; // "Hs"
+
+    /**
+     * Construct an NDEF Record.
+     * <p>
+     * Applications should not attempt to manually chunk NDEF Records - the
+     * implementation of android.nfc will automatically chunk an NDEF Record
+     * when necessary (and only present a single logical NDEF Record to the
+     * application). So applications should not use TNF_UNCHANGED.
+     *
+     * @param tnf  a 3-bit TNF constant
+     * @param type byte array, containing zero to 255 bytes, must not be null
+     * @param id   byte array, containing zero to 255 bytes, must not be null
+     * @param payload byte array, containing zero to (2 ** 32 - 1) bytes,
+     *                must not be null
+     */
+    public NdefRecord(short tnf, byte[] type, byte[] id, byte[] payload) {
+        throw new UnsupportedOperationException();
+    }
+
+    /**
+     * Construct an NDEF Record from raw bytes.
+     * <p>
+     * Validation is performed to make sure the header is valid, and that
+     * the id, type and payload sizes appear to be valid.
+     *
+     * @throws FormatException if the data is not a valid NDEF record
+     */
+    public NdefRecord(byte[] data) {
+        throw new UnsupportedOperationException();
+    }
+
+    /**
+     * Returns the 3-bit TNF.
+     * <p>
+     * TNF is the top-level type.
+     */
+    public short getTnf() {
+        throw new UnsupportedOperationException();
+    }
+
+    /**
+     * Returns the variable length Type field.
+     * <p>
+     * This should be used in conjunction with the TNF field to determine the
+     * payload format.
+     */
+    public byte[] getType() {
+        throw new UnsupportedOperationException();
+    }
+
+    /**
+     * Returns the variable length ID.
+     */
+    public byte[] getId() {
+        throw new UnsupportedOperationException();
+    }
+
+    /**
+     * Returns the variable length payload.
+     */
+    public byte[] getPayload() {
+        throw new UnsupportedOperationException();
+    }
+
+    /**
+     * Return this NDEF Record as a byte array.
+     * @hide
+     */
+    public byte[] toByteArray() {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        throw new UnsupportedOperationException();
+    }
+
+    public static final Parcelable.Creator<NdefRecord> CREATOR =
+            new Parcelable.Creator<NdefRecord>() {
+        public NdefRecord createFromParcel(Parcel in) {
+            throw new UnsupportedOperationException();
+        }
+        public NdefRecord[] newArray(int size) {
+            throw new UnsupportedOperationException();
+        }
+    };
+}
\ No newline at end of file
diff --git a/core/java/android/os/Environment.java b/core/java/android/os/Environment.java
index c7cbed6..e8ae7e6 100644
--- a/core/java/android/os/Environment.java
+++ b/core/java/android/os/Environment.java
@@ -18,6 +18,7 @@
 
 import java.io.File;
 
+import android.content.res.Resources;
 import android.os.storage.IMountService;
 
 /**
@@ -116,6 +117,19 @@
      * happened.  You can determine its current state with
      * {@link #getExternalStorageState()}.
      * 
+     * <p><em>Note: don't be confused by the word "external" here.  This
+     * directory can better be thought as media/shared storage.  It is a
+     * filesystem that can hold a relatively large amount of data and that
+     * is shared across all applications (does not enforce permissions).
+     * Traditionally this is an SD card, but it may also be implemented as
+     * built-in storage in a device that is distinct from the protected
+     * internal storage and can be mounted as a filesystem on a computer.</em></p>
+     *
+     * <p>In devices with multiple "external" storage directories (such as
+     * both secure app storage and mountable shared storage), this directory
+     * represents the "primary" external storage that the user will interact
+     * with.</p>
+     *
      * <p>Applications should not directly use this top-level directory, in
      * order to avoid polluting the user's root namespace.  Any files that are
      * private to the application should be placed in a directory returned
@@ -130,6 +144,9 @@
      * 
      * {@sample development/samples/ApiDemos/src/com/example/android/apis/content/ExternalStorage.java
      * monitor_storage}
+     *
+     * @see #getExternalStorageState()
+     * @see #isExternalStorageRemovable()
      */
     public static File getExternalStorageDirectory() {
         return EXTERNAL_STORAGE_DIRECTORY;
@@ -359,11 +376,9 @@
     public static final String MEDIA_UNMOUNTABLE = "unmountable";
 
     /**
-     * Gets the current state of the external storage device.
-     * Note: This call should be deprecated as it doesn't support
-     * multiple volumes.
+     * Gets the current state of the primary "external" storage device.
      * 
-     * <p>See {@link #getExternalStorageDirectory()} for an example of its use.
+     * <p>See {@link #getExternalStorageDirectory()} for more information.
      */
     public static String getExternalStorageState() {
         try {
@@ -377,6 +392,19 @@
         }
     }
 
+    /**
+     * Returns whether the primary "external" storage device is removable.
+     * If true is returned, this device is for example an SD card that the
+     * user can remove.  If false is returned, the storage is built into
+     * the device and can not be physically removed.
+     *
+     * <p>See {@link #getExternalStorageDirectory()} for more information.
+     */
+    public static boolean isExternalStorageRemovable() {
+        return Resources.getSystem().getBoolean(
+                com.android.internal.R.bool.config_externalStorageRemovable);
+    }
+
     static File getDirectory(String variableName, String defaultPath) {
         String path = System.getenv(variableName);
         return path == null ? new File(defaultPath) : new File(path);
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java
index 54cb4ca..a3d6049 100644
--- a/core/java/android/view/SurfaceView.java
+++ b/core/java/android/view/SurfaceView.java
@@ -288,9 +288,10 @@
     }
     
     @Override
-    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
-        super.onSizeChanged(w, h, oldw, oldh);
+    protected boolean setFrame(int left, int top, int right, int bottom) {
+        boolean result = super.setFrame(left, top, right, bottom);
         updateWindow(false, false);
+        return result;
     }
 
     @Override
diff --git a/core/java/android/view/WindowOrientationListener.java b/core/java/android/view/WindowOrientationListener.java
index 8ffa158..3e2e92b 100755
--- a/core/java/android/view/WindowOrientationListener.java
+++ b/core/java/android/view/WindowOrientationListener.java
@@ -28,6 +28,11 @@
  * A special helper class used by the WindowManager
  *  for receiving notifications from the SensorManager when
  * the orientation of the device has changed.
+ *
+ * NOTE: If changing anything here, please run the API demo
+ * "App/Activity/Screen Orientation" to ensure that all orientation
+ * modes still work correctly.
+ *
  * @hide
  */
 public abstract class WindowOrientationListener {
@@ -103,6 +108,10 @@
         }
     }
 
+    public void setAllow180Rotation(boolean allowed) {
+        mSensorEventListener.setAllow180Rotation(allowed);
+    }
+
     public int getCurrentRotation(int lastRotation) {
         if (mEnabled) {
             return mSensorEventListener.getCurrentRotation(lastRotation);
@@ -151,19 +160,20 @@
         private static final int ROTATION_0 = 0;
         private static final int ROTATION_90 = 1;
         private static final int ROTATION_270 = 2;
+        private static final int ROTATION_180 = 3;
 
         // Mapping our internal aliases into actual Surface rotation values
         private static final int[] INTERNAL_TO_SURFACE_ROTATION = new int[] {
-            Surface.ROTATION_0, Surface.ROTATION_90, Surface.ROTATION_270};
+            Surface.ROTATION_0, Surface.ROTATION_90, Surface.ROTATION_270,
+            Surface.ROTATION_180};
 
         // Mapping Surface rotation values to internal aliases.
-        // We have no constant for Surface.ROTATION_180.  That should never happen, but if it
-        // does, we'll arbitrarily choose a mapping.
         private static final int[] SURFACE_TO_INTERNAL_ROTATION = new int[] {
-            ROTATION_0, ROTATION_90, ROTATION_90, ROTATION_270};
+            ROTATION_0, ROTATION_90, ROTATION_180, ROTATION_270};
 
         // Threshold ranges of orientation angle to transition into other orientation states.
-        // The first list is for transitions from ROTATION_0, the next for ROTATION_90, etc.
+        // The first list is for transitions from ROTATION_0, ROTATION_90, ROTATION_270,
+        // and then ROTATION_180.
         // ROTATE_TO defines the orientation each threshold range transitions to, and must be kept
         // in sync with this.
         // We generally transition about the halfway point between two states with a swing of 30
@@ -172,13 +182,32 @@
                 {{60, 180}, {180, 300}},
                 {{0, 30}, {195, 315}, {315, 360}},
                 {{0, 45}, {45, 165}, {330, 360}},
-        };
 
+                // Handle situation where we are currently doing 180 rotation
+                // but that is no longer allowed.
+                {{0, 45}, {45, 135}, {135, 225}, {225, 315}, {315, 360}},
+        };
         // See THRESHOLDS
         private static final int[][] ROTATE_TO = new int[][] {
                 {ROTATION_90, ROTATION_270},
                 {ROTATION_0, ROTATION_270, ROTATION_0},
                 {ROTATION_0, ROTATION_90, ROTATION_0},
+                {ROTATION_0, ROTATION_90, ROTATION_0, ROTATION_270, ROTATION_0},
+        };
+
+        // Thresholds that allow all 4 orientations.
+        private static final int[][][] THRESHOLDS_WITH_180 = new int[][][] {
+            {{60, 165}, {165, 195}, {195, 300}},
+            {{0, 30}, {165, 195}, {195, 315}, {315, 360}},
+            {{0, 45}, {45, 165}, {165, 195}, {330, 360}},
+            {{0, 45}, {45, 135}, {225, 315}, {315, 360}},
+        };
+        // See THRESHOLDS_WITH_180
+        private static final int[][] ROTATE_TO_WITH_180 = new int[][] {
+            {ROTATION_90, ROTATION_180, ROTATION_270},
+            {ROTATION_0, ROTATION_180, ROTATION_90, ROTATION_0},
+            {ROTATION_0, ROTATION_270, ROTATION_180, ROTATION_0},
+            {ROTATION_0, ROTATION_90, ROTATION_270, ROTATION_0},
         };
 
         // Maximum absolute tilt angle at which to consider orientation data.  Beyond this (i.e.
@@ -188,7 +217,7 @@
         // Additional limits on tilt angle to transition to each new orientation.  We ignore all
         // data with tilt beyond MAX_TILT, but we can set stricter limits on transitions to a
         // particular orientation here.
-        private static final int[] MAX_TRANSITION_TILT = new int[] {MAX_TILT, 65, 65};
+        private static final int[] MAX_TRANSITION_TILT = new int[] {MAX_TILT, 65, 65, 40};
 
         // Between this tilt angle and MAX_TILT, we'll allow orientation changes, but we'll filter
         // with a higher time constant, making us less sensitive to change.  This primarily helps
@@ -228,6 +257,8 @@
         private static final float ACCELERATING_LOWPASS_ALPHA =
             computeLowpassAlpha(ACCELERATING_TIME_CONSTANT_MS);
 
+        private boolean mAllow180Rotation = false;
+
         private WindowOrientationListener mOrientationListener;
         private int mRotation = ROTATION_0; // Current orientation state
         private float mTiltAngle = 0; // low-pass filtered
@@ -249,6 +280,10 @@
             return (float) SAMPLING_PERIOD_MS / (timeConstantMs + SAMPLING_PERIOD_MS);
         }
 
+        void setAllow180Rotation(boolean allowed) {
+            mAllow180Rotation = allowed;
+        }
+
         int getCurrentRotation(int lastRotation) {
             if (mTiltDistrust > 0) {
                 // we really don't know the current orientation, so trust what's currently displayed
@@ -259,7 +294,9 @@
 
         private void calculateNewRotation(float orientation, float tiltAngle) {
             if (localLOGV) Log.i(TAG, orientation + ", " + tiltAngle + ", " + mRotation);
-            int thresholdRanges[][] = THRESHOLDS[mRotation];
+            final boolean allow180Rotation = mAllow180Rotation;
+            int thresholdRanges[][] = allow180Rotation
+                    ? THRESHOLDS_WITH_180[mRotation] : THRESHOLDS[mRotation];
             int row = -1;
             for (int i = 0; i < thresholdRanges.length; i++) {
                 if (orientation >= thresholdRanges[i][0] && orientation < thresholdRanges[i][1]) {
@@ -269,13 +306,15 @@
             }
             if (row == -1) return; // no matching transition
 
-            int rotation = ROTATE_TO[mRotation][row];
+            int rotation = allow180Rotation
+                    ? ROTATE_TO_WITH_180[mRotation][row] : ROTATE_TO[mRotation][row];
             if (tiltAngle > MAX_TRANSITION_TILT[rotation]) {
                 // tilted too far flat to go to this rotation
                 return;
             }
 
-            if (localLOGV) Log.i(TAG, " new rotation = " + rotation);
+            if (localLOGV) Log.i(TAG, "orientation " + orientation + " gives new rotation = "
+                    + rotation);
             mRotation = rotation;
             mOrientationListener.onOrientationChanged(INTERNAL_TO_SURFACE_ROTATION[mRotation]);
         }
diff --git a/core/java/android/widget/HorizontalScrollView.java b/core/java/android/widget/HorizontalScrollView.java
index 0bb97dd..cd10a59 100644
--- a/core/java/android/widget/HorizontalScrollView.java
+++ b/core/java/android/widget/HorizontalScrollView.java
@@ -503,9 +503,7 @@
         switch (action & MotionEvent.ACTION_MASK) {
             case MotionEvent.ACTION_DOWN: {
                 final float x = ev.getX();
-                if (!(mIsBeingDragged = inChild((int) x, (int) ev.getY()))) {
-                    return false;
-                }
+                mIsBeingDragged = true;
 
                 /*
                  * If being flinged and user touches, stop the fling. isFinished
@@ -642,7 +640,7 @@
         if (getChildCount() > 0) {
             View child = getChildAt(0);
             scrollRange = Math.max(0,
-                    child.getWidth() - getWidth() - mPaddingLeft - mPaddingRight);
+                    child.getWidth() - (getWidth() - mPaddingLeft - mPaddingRight));
         }
         return scrollRange;
     }
diff --git a/core/java/android/widget/ScrollView.java b/core/java/android/widget/ScrollView.java
index 2ba1c47..8472d9c 100644
--- a/core/java/android/widget/ScrollView.java
+++ b/core/java/android/widget/ScrollView.java
@@ -498,9 +498,7 @@
         switch (action & MotionEvent.ACTION_MASK) {
             case MotionEvent.ACTION_DOWN: {
                 final float y = ev.getY();
-                if (!(mIsBeingDragged = inChild((int) ev.getX(), (int) y))) {
-                    return false;
-                }
+                mIsBeingDragged = true;
                 
                 /*
                  * If being flinged and user touches, stop the fling. isFinished
@@ -637,7 +635,7 @@
         if (getChildCount() > 0) {
             View child = getChildAt(0);
             scrollRange = Math.max(0,
-                    child.getHeight() - getHeight() - mPaddingBottom - mPaddingTop);
+                    child.getHeight() - (getHeight() - mPaddingBottom - mPaddingTop));
         }
         return scrollRange;
     }
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 5802704..6522de0 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -7237,50 +7237,7 @@
             ((SelectionModifierCursorController) mSelectionModifierCursorController);
         int minOffset = selectionModifierCursorController.getMinTouchOffset();
         int maxOffset = selectionModifierCursorController.getMaxTouchOffset();
-
-        if (minOffset == maxOffset) {
-            int offset = Math.max(0, Math.min(minOffset, mTransformed.length()));
-
-            // Tolerance, number of charaters around tapped position
-            final int range = 1;
-            final int max = mTransformed.length() - 1;
-
-            // 'Smart' word selection: detect position between words
-            for (int i = -range; i <= range; i++) {
-                int index = offset + i;
-                if (index >= 0 && index <= max) {
-                    if (Character.isSpaceChar(mTransformed.charAt(index))) {
-                        // Select current space
-                        selectionStart = index;
-                        selectionEnd = selectionStart + 1;
-
-                        // Extend selection to maximum space range
-                        while (selectionStart > 0 &&
-                                Character.isSpaceChar(mTransformed.charAt(selectionStart - 1))) {
-                            selectionStart--;
-                        }
-                        while (selectionEnd < max &&
-                                Character.isSpaceChar(mTransformed.charAt(selectionEnd))) {
-                            selectionEnd++;
-                        }
-
-                        Selection.setSelection((Spannable) mText, selectionStart, selectionEnd);
-                        return;
-                    }
-                }
-            }
-
-            // 'Smart' word selection: detect position at beginning or end of text.
-            if (offset <= range) {
-                Selection.setSelection((Spannable) mText, 0, 0);
-                return;
-            }
-            if (offset >= (max - range)) {
-                Selection.setSelection((Spannable) mText, max + 1, max + 1);
-                return;
-            }
-        }
-
+        
         long wordLimits = getWordLimitsAt(minOffset);
         if (wordLimits >= 0) {
             selectionStart = (int) (wordLimits >>> 32);
diff --git a/core/java/com/android/internal/app/AlertController.java b/core/java/com/android/internal/app/AlertController.java
index 107b145..81ca912 100644
--- a/core/java/com/android/internal/app/AlertController.java
+++ b/core/java/com/android/internal/app/AlertController.java
@@ -17,6 +17,9 @@
 package com.android.internal.app;
 
 import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
+
+import com.android.internal.R;
+
 import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -32,10 +35,11 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.ViewGroup.LayoutParams;
 import android.view.Window;
 import android.view.WindowManager;
-import android.view.ViewGroup.LayoutParams;
 import android.widget.AdapterView;
+import android.widget.AdapterView.OnItemClickListener;
 import android.widget.ArrayAdapter;
 import android.widget.Button;
 import android.widget.CheckedTextView;
@@ -48,9 +52,6 @@
 import android.widget.ScrollView;
 import android.widget.SimpleCursorAdapter;
 import android.widget.TextView;
-import android.widget.AdapterView.OnItemClickListener;
-
-import com.android.internal.R;
 
 import java.lang.ref.WeakReference;
 
@@ -403,12 +404,10 @@
             
             mIconView = (ImageView) mWindow.findViewById(R.id.icon);
             if (hasTextTitle) {
-                
                 /* Display the title if a title is supplied, else hide it */
                 mTitleView = (TextView) mWindow.findViewById(R.id.alertTitle);
 
                 mTitleView.setText(mTitle);
-                mIconView.setImageResource(R.drawable.ic_dialog_menu_generic);
                 
                 /* Do this last so that if the user has supplied any
                  * icons we use them instead of the default ones. If the
@@ -688,7 +687,7 @@
         public final Context mContext;
         public final LayoutInflater mInflater;
         
-        public int mIconId = -1;
+        public int mIconId = 0;
         public Drawable mIcon;
         public CharSequence mTitle;
         public View mCustomTitleView;
diff --git a/core/res/res/color/primary_text_dark.xml b/core/res/res/color/primary_text_dark.xml
index 39c9e22..f0812ed 100644
--- a/core/res/res/color/primary_text_dark.xml
+++ b/core/res/res/color/primary_text_dark.xml
@@ -19,6 +19,7 @@
     <item android:state_window_focused="false" android:color="@android:color/bright_foreground_dark"/>
     <item android:state_pressed="true" android:color="@android:color/bright_foreground_dark_inverse"/>
     <item android:state_selected="true" android:color="@android:color/bright_foreground_dark_inverse"/>
+    <item android:state_focused="true" android:color="@android:color/bright_foreground_dark_inverse"/>
     <item android:color="@android:color/bright_foreground_dark"/> <!-- not selected -->
 
 </selector>
diff --git a/core/res/res/drawable-hdpi/btn_dropdown_disable.9.png b/core/res/res/drawable-hdpi/btn_dropdown_disable.9.png
deleted file mode 100755
index 0d25b6e..0000000
--- a/core/res/res/drawable-hdpi/btn_dropdown_disable.9.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_dropdown_disable_focused.9.png b/core/res/res/drawable-hdpi/btn_dropdown_disable_focused.9.png
deleted file mode 100755
index e21fd75..0000000
--- a/core/res/res/drawable-hdpi/btn_dropdown_disable_focused.9.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_square_overlay_disabled_selected.png b/core/res/res/drawable-hdpi/btn_square_overlay_disabled_selected.png
deleted file mode 100755
index 6a31c71..0000000
--- a/core/res/res/drawable-hdpi/btn_square_overlay_disabled_selected.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/fasttrack_badge_normal.9.png b/core/res/res/drawable-hdpi/fasttrack_badge_normal.9.png
deleted file mode 100644
index 8c0381f..0000000
--- a/core/res/res/drawable-hdpi/fasttrack_badge_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_dialog_menu_generic.png b/core/res/res/drawable-hdpi/ic_dialog_menu_generic.png
deleted file mode 100644
index ef8a877..0000000
--- a/core/res/res/drawable-hdpi/ic_dialog_menu_generic.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_input_add_disabled.png b/core/res/res/drawable-hdpi/ic_input_add_disabled.png
deleted file mode 100755
index 9b3a61a..0000000
--- a/core/res/res/drawable-hdpi/ic_input_add_disabled.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_input_remove.png b/core/res/res/drawable-hdpi/ic_input_remove.png
deleted file mode 100755
index 3b3d246..0000000
--- a/core/res/res/drawable-hdpi/ic_input_remove.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_input_remove_disabled.png b/core/res/res/drawable-hdpi/ic_input_remove_disabled.png
deleted file mode 100755
index fa0ad9b..0000000
--- a/core/res/res/drawable-hdpi/ic_input_remove_disabled.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/jog_tab_bar_left_end_confirm_gray.9.png b/core/res/res/drawable-hdpi/jog_tab_bar_left_end_confirm_gray.9.png
index e4199f6..abb91cc 100644
--- a/core/res/res/drawable-hdpi/jog_tab_bar_left_end_confirm_gray.9.png
+++ b/core/res/res/drawable-hdpi/jog_tab_bar_left_end_confirm_gray.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/jog_tab_bar_left_end_confirm_green.9.png b/core/res/res/drawable-hdpi/jog_tab_bar_left_end_confirm_green.9.png
index 51ecef0..7c4f40e 100644
--- a/core/res/res/drawable-hdpi/jog_tab_bar_left_end_confirm_green.9.png
+++ b/core/res/res/drawable-hdpi/jog_tab_bar_left_end_confirm_green.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/jog_tab_bar_left_end_confirm_red.9.png b/core/res/res/drawable-hdpi/jog_tab_bar_left_end_confirm_red.9.png
index 3672751..6dbf925 100644
--- a/core/res/res/drawable-hdpi/jog_tab_bar_left_end_confirm_red.9.png
+++ b/core/res/res/drawable-hdpi/jog_tab_bar_left_end_confirm_red.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/jog_tab_bar_left_end_confirm_yellow.9.png b/core/res/res/drawable-hdpi/jog_tab_bar_left_end_confirm_yellow.9.png
index b7c92cdc..b05a49f 100644
--- a/core/res/res/drawable-hdpi/jog_tab_bar_left_end_confirm_yellow.9.png
+++ b/core/res/res/drawable-hdpi/jog_tab_bar_left_end_confirm_yellow.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/jog_tab_bar_left_end_normal.9.png b/core/res/res/drawable-hdpi/jog_tab_bar_left_end_normal.9.png
index 66eb5a6..109be42 100644
--- a/core/res/res/drawable-hdpi/jog_tab_bar_left_end_normal.9.png
+++ b/core/res/res/drawable-hdpi/jog_tab_bar_left_end_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/jog_tab_bar_left_end_pressed.9.png b/core/res/res/drawable-hdpi/jog_tab_bar_left_end_pressed.9.png
index 50ae93e..2800cab 100644
--- a/core/res/res/drawable-hdpi/jog_tab_bar_left_end_pressed.9.png
+++ b/core/res/res/drawable-hdpi/jog_tab_bar_left_end_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/jog_tab_bar_right_end_confirm_gray.9.png b/core/res/res/drawable-hdpi/jog_tab_bar_right_end_confirm_gray.9.png
index 59cada4..51cbfa6 100644
--- a/core/res/res/drawable-hdpi/jog_tab_bar_right_end_confirm_gray.9.png
+++ b/core/res/res/drawable-hdpi/jog_tab_bar_right_end_confirm_gray.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/jog_tab_bar_right_end_confirm_green.9.png b/core/res/res/drawable-hdpi/jog_tab_bar_right_end_confirm_green.9.png
index 66070bc..ca51ccc 100644
--- a/core/res/res/drawable-hdpi/jog_tab_bar_right_end_confirm_green.9.png
+++ b/core/res/res/drawable-hdpi/jog_tab_bar_right_end_confirm_green.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/jog_tab_bar_right_end_confirm_red.9.png b/core/res/res/drawable-hdpi/jog_tab_bar_right_end_confirm_red.9.png
index 5a924cf..fd98571 100644
--- a/core/res/res/drawable-hdpi/jog_tab_bar_right_end_confirm_red.9.png
+++ b/core/res/res/drawable-hdpi/jog_tab_bar_right_end_confirm_red.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/jog_tab_bar_right_end_confirm_yellow.9.png b/core/res/res/drawable-hdpi/jog_tab_bar_right_end_confirm_yellow.9.png
index b5ff169..723815b 100644
--- a/core/res/res/drawable-hdpi/jog_tab_bar_right_end_confirm_yellow.9.png
+++ b/core/res/res/drawable-hdpi/jog_tab_bar_right_end_confirm_yellow.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/jog_tab_bar_right_end_normal.9.png b/core/res/res/drawable-hdpi/jog_tab_bar_right_end_normal.9.png
index ee1eab0..030c9e9 100644
--- a/core/res/res/drawable-hdpi/jog_tab_bar_right_end_normal.9.png
+++ b/core/res/res/drawable-hdpi/jog_tab_bar_right_end_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/jog_tab_bar_right_end_pressed.9.png b/core/res/res/drawable-hdpi/jog_tab_bar_right_end_pressed.9.png
index 8c5a231..ffc5433 100644
--- a/core/res/res/drawable-hdpi/jog_tab_bar_right_end_pressed.9.png
+++ b/core/res/res/drawable-hdpi/jog_tab_bar_right_end_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/quickcontact_badge_pressed.9.png b/core/res/res/drawable-hdpi/quickcontact_badge_pressed.9.png
index 0cfd09d..75c8162 100644
--- a/core/res/res/drawable-hdpi/quickcontact_badge_pressed.9.png
+++ b/core/res/res/drawable-hdpi/quickcontact_badge_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/quickcontact_badge_small_pressed.9.png b/core/res/res/drawable-hdpi/quickcontact_badge_small_pressed.9.png
index ee030fbe..aebfa29 100644
--- a/core/res/res/drawable-hdpi/quickcontact_badge_small_pressed.9.png
+++ b/core/res/res/drawable-hdpi/quickcontact_badge_small_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/quickcontact_badge_small_unpressed.9.png b/core/res/res/drawable-hdpi/quickcontact_badge_small_unpressed.9.png
index 7140957..ed416f1 100644
--- a/core/res/res/drawable-hdpi/quickcontact_badge_small_unpressed.9.png
+++ b/core/res/res/drawable-hdpi/quickcontact_badge_small_unpressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/quickcontact_badge_unpressed.9.png b/core/res/res/drawable-hdpi/quickcontact_badge_unpressed.9.png
index 1eeabf4..d063229 100644
--- a/core/res/res/drawable-hdpi/quickcontact_badge_unpressed.9.png
+++ b/core/res/res/drawable-hdpi/quickcontact_badge_unpressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_alarm.png b/core/res/res/drawable-hdpi/stat_notify_alarm.png
deleted file mode 100755
index 2d3eb30..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_alarm.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_alarm_2.png b/core/res/res/drawable-hdpi/stat_notify_alarm_2.png
deleted file mode 100755
index 69841ac..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_alarm_2.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_bt_incoming_file.png b/core/res/res/drawable-hdpi/stat_notify_bt_incoming_file.png
deleted file mode 100755
index 18addce..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_bt_incoming_file.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_calendar.png b/core/res/res/drawable-hdpi/stat_notify_calendar.png
deleted file mode 100755
index 0caab3e..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_calendar.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_instant_message.png b/core/res/res/drawable-hdpi/stat_notify_instant_message.png
deleted file mode 100755
index 9fc8262..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_instant_message.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_marketplace_update.png b/core/res/res/drawable-hdpi/stat_notify_marketplace_update.png
deleted file mode 100755
index c0d0284..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_marketplace_update.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_mms.png b/core/res/res/drawable-hdpi/stat_notify_mms.png
deleted file mode 100755
index eed8c45..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_mms.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_more_notifications.png b/core/res/res/drawable-hdpi/stat_notify_more_notifications.png
deleted file mode 100755
index f54b3d4..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_more_notifications.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_musicplayer.png b/core/res/res/drawable-hdpi/stat_notify_musicplayer.png
deleted file mode 100755
index 1301f86..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_musicplayer.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_myfaves.png b/core/res/res/drawable-hdpi/stat_notify_myfaves.png
deleted file mode 100755
index 854c745..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_myfaves.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_picasa.png b/core/res/res/drawable-hdpi/stat_notify_picasa.png
deleted file mode 100755
index 9146185..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_picasa.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_sdcard_alert.png b/core/res/res/drawable-hdpi/stat_notify_sdcard_alert.png
deleted file mode 100755
index fb2b26a..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_sdcard_alert.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_sms.png b/core/res/res/drawable-hdpi/stat_notify_sms.png
deleted file mode 100755
index 66981ba..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_sms.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_sms_failed.png b/core/res/res/drawable-hdpi/stat_notify_sms_failed.png
deleted file mode 100755
index 93ede20..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_sms_failed.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_sync_alert.png b/core/res/res/drawable-hdpi/stat_notify_sync_alert.png
deleted file mode 100755
index 26b2446..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_sync_alert.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_sync_anim1.png b/core/res/res/drawable-hdpi/stat_notify_sync_anim1.png
deleted file mode 100755
index f9d4b32..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_sync_anim1.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_sync_anim2.png b/core/res/res/drawable-hdpi/stat_notify_sync_anim2.png
deleted file mode 100755
index 06ff588..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_sync_anim2.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_sync_anim3.png b/core/res/res/drawable-hdpi/stat_notify_sync_anim3.png
deleted file mode 100755
index 20d1720..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_sync_anim3.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_sync_anim4.png b/core/res/res/drawable-hdpi/stat_notify_sync_anim4.png
deleted file mode 100755
index a217034..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_sync_anim4.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_sync_anim5.png b/core/res/res/drawable-hdpi/stat_notify_sync_anim5.png
deleted file mode 100755
index 8d733ec..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_sync_anim5.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_system_update.png b/core/res/res/drawable-hdpi/stat_notify_system_update.png
deleted file mode 100755
index f4365a5..0000000
--- a/core/res/res/drawable-hdpi/stat_notify_system_update.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_battery_100.png b/core/res/res/drawable-hdpi/stat_sys_battery_100.png
index 23b9e3b..e49448d 100755
--- a/core/res/res/drawable-hdpi/stat_sys_battery_100.png
+++ b/core/res/res/drawable-hdpi/stat_sys_battery_100.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_battery_40.png b/core/res/res/drawable-hdpi/stat_sys_battery_40.png
index 8d7e1d5..441bbfb 100755
--- a/core/res/res/drawable-hdpi/stat_sys_battery_40.png
+++ b/core/res/res/drawable-hdpi/stat_sys_battery_40.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_battery_60.png b/core/res/res/drawable-hdpi/stat_sys_battery_60.png
index cb674cc..d9467ed 100755
--- a/core/res/res/drawable-hdpi/stat_sys_battery_60.png
+++ b/core/res/res/drawable-hdpi/stat_sys_battery_60.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_battery_80.png b/core/res/res/drawable-hdpi/stat_sys_battery_80.png
index 5846df9..e3f4805 100755
--- a/core/res/res/drawable-hdpi/stat_sys_battery_80.png
+++ b/core/res/res/drawable-hdpi/stat_sys_battery_80.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_battery_charge_anim2.png b/core/res/res/drawable-hdpi/stat_sys_battery_charge_anim2.png
index bb8b022..426a66b 100755
--- a/core/res/res/drawable-hdpi/stat_sys_battery_charge_anim2.png
+++ b/core/res/res/drawable-hdpi/stat_sys_battery_charge_anim2.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_battery_charge_anim3.png b/core/res/res/drawable-hdpi/stat_sys_battery_charge_anim3.png
index 212a25f..21582ca 100755
--- a/core/res/res/drawable-hdpi/stat_sys_battery_charge_anim3.png
+++ b/core/res/res/drawable-hdpi/stat_sys_battery_charge_anim3.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_battery_charge_anim4.png b/core/res/res/drawable-hdpi/stat_sys_battery_charge_anim4.png
index b211ed6..8a94763 100755
--- a/core/res/res/drawable-hdpi/stat_sys_battery_charge_anim4.png
+++ b/core/res/res/drawable-hdpi/stat_sys_battery_charge_anim4.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_battery_charge_anim5.png b/core/res/res/drawable-hdpi/stat_sys_battery_charge_anim5.png
index a52f81b..fad0d65 100755
--- a/core/res/res/drawable-hdpi/stat_sys_battery_charge_anim5.png
+++ b/core/res/res/drawable-hdpi/stat_sys_battery_charge_anim5.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_battery_empty.png b/core/res/res/drawable-hdpi/stat_sys_battery_empty.png
deleted file mode 100755
index 82f2509..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_battery_empty.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_bluetooth_connected.png b/core/res/res/drawable-hdpi/stat_sys_bluetooth_connected.png
deleted file mode 100755
index 18c77df..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_bluetooth_connected.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_1bar_wifi.png b/core/res/res/drawable-hdpi/stat_sys_data_1bar_wifi.png
deleted file mode 100755
index aea18ed..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_1bar_wifi.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_1bar_wifi_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_1bar_wifi_fully.png
deleted file mode 100755
index 1a25a2c..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_1bar_wifi_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_2bar_wifi.png b/core/res/res/drawable-hdpi/stat_sys_data_2bar_wifi.png
deleted file mode 100755
index 77e6ee4..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_2bar_wifi.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_2bar_wifi_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_2bar_wifi_fully.png
deleted file mode 100755
index 00d86bf..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_2bar_wifi_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_3bar_wifi.png b/core/res/res/drawable-hdpi/stat_sys_data_3bar_wifi.png
deleted file mode 100755
index c2574e1..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_3bar_wifi.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_3bar_wifi_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_3bar_wifi_fully.png
deleted file mode 100755
index 70c030b..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_3bar_wifi_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_4bar_wifi.png b/core/res/res/drawable-hdpi/stat_sys_data_4bar_wifi.png
deleted file mode 100755
index 55caecf..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_4bar_wifi.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_4bar_wifi_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_4bar_wifi_fully.png
deleted file mode 100755
index b5326d2..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_4bar_wifi_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_connected_1x.png b/core/res/res/drawable-hdpi/stat_sys_data_connected_1x.png
deleted file mode 100755
index bdc8c27..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_connected_1x.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_connected_1x_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_connected_1x_fully.png
deleted file mode 100755
index ba24082..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_connected_1x_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_connected_3g.png b/core/res/res/drawable-hdpi/stat_sys_data_connected_3g.png
deleted file mode 100755
index d0d1345..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_connected_3g.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_connected_3g_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_connected_3g_fully.png
deleted file mode 100755
index 5af2b05..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_connected_3g_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_connected_e.png b/core/res/res/drawable-hdpi/stat_sys_data_connected_e.png
deleted file mode 100755
index 4211b8c..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_connected_e.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_connected_e_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_connected_e_fully.png
deleted file mode 100755
index 9909b09..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_connected_e_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_connected_g.png b/core/res/res/drawable-hdpi/stat_sys_data_connected_g.png
deleted file mode 100755
index d5ece7a..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_connected_g.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_connected_g_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_connected_g_fully.png
deleted file mode 100755
index 0e02b8d..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_connected_g_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_connected_h.png b/core/res/res/drawable-hdpi/stat_sys_data_connected_h.png
deleted file mode 100755
index 6687b40..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_connected_h.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_connected_h_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_connected_h_fully.png
deleted file mode 100755
index f84ad32..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_connected_h_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_in_1x.png b/core/res/res/drawable-hdpi/stat_sys_data_in_1x.png
deleted file mode 100755
index 00a29a4..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_in_1x.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_in_1x_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_in_1x_fully.png
deleted file mode 100755
index d80a8ce..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_in_1x_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_in_3g.png b/core/res/res/drawable-hdpi/stat_sys_data_in_3g.png
deleted file mode 100755
index 11ee0f2..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_in_3g.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_in_3g_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_in_3g_fully.png
deleted file mode 100755
index 31c976a..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_in_3g_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_in_e.png b/core/res/res/drawable-hdpi/stat_sys_data_in_e.png
deleted file mode 100755
index fc135fc..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_in_e.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_in_e_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_in_e_fully.png
deleted file mode 100755
index c299e12..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_in_e_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_in_g.png b/core/res/res/drawable-hdpi/stat_sys_data_in_g.png
deleted file mode 100755
index 3d33a62..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_in_g.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_in_g_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_in_g_fully.png
deleted file mode 100755
index a487f29..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_in_g_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_in_h.png b/core/res/res/drawable-hdpi/stat_sys_data_in_h.png
deleted file mode 100755
index f36e1eb..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_in_h.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_in_h_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_in_h_fully.png
deleted file mode 100755
index 816085b..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_in_h_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_inandout_1x.png b/core/res/res/drawable-hdpi/stat_sys_data_inandout_1x.png
deleted file mode 100755
index ef5dbf4..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_inandout_1x.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_inandout_1x_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_inandout_1x_fully.png
deleted file mode 100755
index 0132019..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_inandout_1x_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_inandout_3g.png b/core/res/res/drawable-hdpi/stat_sys_data_inandout_3g.png
deleted file mode 100755
index dba9675..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_inandout_3g.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_inandout_3g_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_inandout_3g_fully.png
deleted file mode 100755
index 3903545..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_inandout_3g_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_inandout_e.png b/core/res/res/drawable-hdpi/stat_sys_data_inandout_e.png
deleted file mode 100755
index 2e5d82e..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_inandout_e.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_inandout_e_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_inandout_e_fully.png
deleted file mode 100755
index ed099ff..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_inandout_e_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_inandout_g.png b/core/res/res/drawable-hdpi/stat_sys_data_inandout_g.png
deleted file mode 100755
index 0985a09..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_inandout_g.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_inandout_g_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_inandout_g_fully.png
deleted file mode 100755
index c930e4c..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_inandout_g_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_inandout_h.png b/core/res/res/drawable-hdpi/stat_sys_data_inandout_h.png
deleted file mode 100755
index 7a32c43..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_inandout_h.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_inandout_h_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_inandout_h_fully.png
deleted file mode 100755
index 407a06c..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_inandout_h_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_nosignal_wifi.png b/core/res/res/drawable-hdpi/stat_sys_data_nosignal_wifi.png
deleted file mode 100755
index 98e874a..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_nosignal_wifi.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_out_1x.png b/core/res/res/drawable-hdpi/stat_sys_data_out_1x.png
deleted file mode 100755
index b622556..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_out_1x.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_out_1x_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_out_1x_fully.png
deleted file mode 100755
index 6141f72..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_out_1x_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_out_3g.png b/core/res/res/drawable-hdpi/stat_sys_data_out_3g.png
deleted file mode 100755
index 04ec59e..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_out_3g.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_out_3g_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_out_3g_fully.png
deleted file mode 100755
index d44a4cf..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_out_3g_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_out_e.png b/core/res/res/drawable-hdpi/stat_sys_data_out_e.png
deleted file mode 100755
index a47b982..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_out_e.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_out_e_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_out_e_fully.png
deleted file mode 100755
index 54ebd9b..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_out_e_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_out_g.png b/core/res/res/drawable-hdpi/stat_sys_data_out_g.png
deleted file mode 100755
index 9d90e71..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_out_g.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_out_g_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_out_g_fully.png
deleted file mode 100755
index 2fe0bbf..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_out_g_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_out_h.png b/core/res/res/drawable-hdpi/stat_sys_data_out_h.png
deleted file mode 100755
index 920f290..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_out_h.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_out_h_fully.png b/core/res/res/drawable-hdpi/stat_sys_data_out_h_fully.png
deleted file mode 100755
index e58e019..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_data_out_h_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_download_anim0.png b/core/res/res/drawable-hdpi/stat_sys_download_anim0.png
index 9df7799..c127e6e 100755
--- a/core/res/res/drawable-hdpi/stat_sys_download_anim0.png
+++ b/core/res/res/drawable-hdpi/stat_sys_download_anim0.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_download_anim1.png b/core/res/res/drawable-hdpi/stat_sys_download_anim1.png
index c3defd7..851eff9 100755
--- a/core/res/res/drawable-hdpi/stat_sys_download_anim1.png
+++ b/core/res/res/drawable-hdpi/stat_sys_download_anim1.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_download_anim2.png b/core/res/res/drawable-hdpi/stat_sys_download_anim2.png
index 1302a06..2d06bb1 100755
--- a/core/res/res/drawable-hdpi/stat_sys_download_anim2.png
+++ b/core/res/res/drawable-hdpi/stat_sys_download_anim2.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_download_anim3.png b/core/res/res/drawable-hdpi/stat_sys_download_anim3.png
index c7f85bf..5c0ae7a 100755
--- a/core/res/res/drawable-hdpi/stat_sys_download_anim3.png
+++ b/core/res/res/drawable-hdpi/stat_sys_download_anim3.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_download_anim4.png b/core/res/res/drawable-hdpi/stat_sys_download_anim4.png
index 705dfd3..f8d5c8a 100755
--- a/core/res/res/drawable-hdpi/stat_sys_download_anim4.png
+++ b/core/res/res/drawable-hdpi/stat_sys_download_anim4.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_download_anim5.png b/core/res/res/drawable-hdpi/stat_sys_download_anim5.png
index c0bdb13..32b1425 100755
--- a/core/res/res/drawable-hdpi/stat_sys_download_anim5.png
+++ b/core/res/res/drawable-hdpi/stat_sys_download_anim5.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_install_complete.png b/core/res/res/drawable-hdpi/stat_sys_install_complete.png
deleted file mode 100755
index c1478c40..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_install_complete.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_phone_call_bluetooth.png b/core/res/res/drawable-hdpi/stat_sys_phone_call_bluetooth.png
deleted file mode 100755
index fecfe6c..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_phone_call_bluetooth.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_phone_call_emergency.png b/core/res/res/drawable-hdpi/stat_sys_phone_call_emergency.png
deleted file mode 100755
index f69f82c..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_phone_call_emergency.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_r_signal_4_cdma_fully.png b/core/res/res/drawable-hdpi/stat_sys_r_signal_4_cdma_fully.png
deleted file mode 100755
index 7ff8820..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_r_signal_4_cdma_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_0.png b/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_0.png
deleted file mode 100755
index d128053..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_0.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_1.png b/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_1.png
deleted file mode 100755
index ecd46e9..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_1.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_1_fully.png b/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_1_fully.png
deleted file mode 100755
index 4462bce..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_1_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_2.png b/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_2.png
deleted file mode 100755
index d635d8c..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_2.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_2_fully.png b/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_2_fully.png
deleted file mode 100755
index cfca5d2..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_2_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_3.png b/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_3.png
deleted file mode 100755
index e470925..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_3.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_3_fully.png b/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_3_fully.png
deleted file mode 100755
index d290699..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_3_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_4.png b/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_4.png
deleted file mode 100755
index ef47408..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_4.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_4_fully.png b/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_4_fully.png
deleted file mode 100755
index 26cb22b..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_r_signal_cdma_4_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_ra_signal_1_cdma_fully.png b/core/res/res/drawable-hdpi/stat_sys_ra_signal_1_cdma_fully.png
deleted file mode 100755
index f71a35c..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_ra_signal_1_cdma_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_ra_signal_2_cdma_fully.png b/core/res/res/drawable-hdpi/stat_sys_ra_signal_2_cdma_fully.png
deleted file mode 100755
index 6818f43..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_ra_signal_2_cdma_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_ra_signal_3_cdma_fully.png b/core/res/res/drawable-hdpi/stat_sys_ra_signal_3_cdma_fully.png
deleted file mode 100755
index 7d8dc5b..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_ra_signal_3_cdma_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_ringer_silent.png b/core/res/res/drawable-hdpi/stat_sys_ringer_silent.png
deleted file mode 100755
index 5a741bb..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_ringer_silent.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_ringer_vibrate.png b/core/res/res/drawable-hdpi/stat_sys_ringer_vibrate.png
deleted file mode 100755
index 7ff375a..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_ringer_vibrate.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_0.png b/core/res/res/drawable-hdpi/stat_sys_signal_0.png
deleted file mode 100755
index 2f66b1d..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_0.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_1.png b/core/res/res/drawable-hdpi/stat_sys_signal_1.png
deleted file mode 100755
index b91eaf5..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_1.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_1_cdma_fully.png b/core/res/res/drawable-hdpi/stat_sys_signal_1_cdma_fully.png
deleted file mode 100755
index cd8e314..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_1_cdma_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_1_fully.png b/core/res/res/drawable-hdpi/stat_sys_signal_1_fully.png
deleted file mode 100755
index cb1ad97..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_1_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_2.png b/core/res/res/drawable-hdpi/stat_sys_signal_2.png
deleted file mode 100755
index 53217e4..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_2.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_2_cdma_fully.png b/core/res/res/drawable-hdpi/stat_sys_signal_2_cdma_fully.png
deleted file mode 100755
index 416a544..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_2_cdma_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_2_fully.png b/core/res/res/drawable-hdpi/stat_sys_signal_2_fully.png
deleted file mode 100755
index 74ecb08..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_2_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_3.png b/core/res/res/drawable-hdpi/stat_sys_signal_3.png
deleted file mode 100755
index 08f357f..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_3.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_3_cdma_fully.png b/core/res/res/drawable-hdpi/stat_sys_signal_3_cdma_fully.png
deleted file mode 100755
index 341116e..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_3_cdma_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_3_fully.png b/core/res/res/drawable-hdpi/stat_sys_signal_3_fully.png
deleted file mode 100755
index 929c700..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_3_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_4.png b/core/res/res/drawable-hdpi/stat_sys_signal_4.png
deleted file mode 100755
index b3bb321..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_4.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_4_cdma_fully.png b/core/res/res/drawable-hdpi/stat_sys_signal_4_cdma_fully.png
deleted file mode 100755
index ae83e93..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_4_cdma_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_4_fully.png b/core/res/res/drawable-hdpi/stat_sys_signal_4_fully.png
deleted file mode 100755
index 4644ac1..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_4_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_evdo_1_fully.png b/core/res/res/drawable-hdpi/stat_sys_signal_evdo_1_fully.png
deleted file mode 100755
index 9fa018b..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_evdo_1_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_evdo_2_fully.png b/core/res/res/drawable-hdpi/stat_sys_signal_evdo_2_fully.png
deleted file mode 100755
index 0324d9f..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_evdo_2_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_evdo_3_fully.png b/core/res/res/drawable-hdpi/stat_sys_signal_evdo_3_fully.png
deleted file mode 100755
index 1ffde3d..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_evdo_3_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_evdo_4_fully.png b/core/res/res/drawable-hdpi/stat_sys_signal_evdo_4_fully.png
deleted file mode 100755
index 22f7e42..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_evdo_4_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_flightmode.png b/core/res/res/drawable-hdpi/stat_sys_signal_flightmode.png
deleted file mode 100755
index 01c7e2a..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_flightmode.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_null.png b/core/res/res/drawable-hdpi/stat_sys_signal_null.png
deleted file mode 100755
index 03d2147..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_null.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_0.png b/core/res/res/drawable-hdpi/stat_sys_signal_roaming_0.png
deleted file mode 100755
index 5796a8a..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_0.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_1.png b/core/res/res/drawable-hdpi/stat_sys_signal_roaming_1.png
deleted file mode 100755
index 3dec269..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_1.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_1_fully.png b/core/res/res/drawable-hdpi/stat_sys_signal_roaming_1_fully.png
deleted file mode 100755
index eeb7f67..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_1_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_2.png b/core/res/res/drawable-hdpi/stat_sys_signal_roaming_2.png
deleted file mode 100755
index 2dcff93..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_2.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_2_fully.png b/core/res/res/drawable-hdpi/stat_sys_signal_roaming_2_fully.png
deleted file mode 100755
index aee093a..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_2_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_3.png b/core/res/res/drawable-hdpi/stat_sys_signal_roaming_3.png
deleted file mode 100755
index 1b38450..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_3.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_3_fully.png b/core/res/res/drawable-hdpi/stat_sys_signal_roaming_3_fully.png
deleted file mode 100755
index a40017f..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_3_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_4.png b/core/res/res/drawable-hdpi/stat_sys_signal_roaming_4.png
deleted file mode 100755
index 33bf3b3..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_4.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_4_fully.png b/core/res/res/drawable-hdpi/stat_sys_signal_roaming_4_fully.png
deleted file mode 100755
index c3b44ee..0000000
--- a/core/res/res/drawable-hdpi/stat_sys_signal_roaming_4_fully.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_upload_anim0.png b/core/res/res/drawable-hdpi/stat_sys_upload_anim0.png
index cefcecc..32b5077 100755
--- a/core/res/res/drawable-hdpi/stat_sys_upload_anim0.png
+++ b/core/res/res/drawable-hdpi/stat_sys_upload_anim0.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_upload_anim1.png b/core/res/res/drawable-hdpi/stat_sys_upload_anim1.png
index 9d018d0..8387b45 100755
--- a/core/res/res/drawable-hdpi/stat_sys_upload_anim1.png
+++ b/core/res/res/drawable-hdpi/stat_sys_upload_anim1.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_upload_anim2.png b/core/res/res/drawable-hdpi/stat_sys_upload_anim2.png
index 38a20a6..c9a56a0 100755
--- a/core/res/res/drawable-hdpi/stat_sys_upload_anim2.png
+++ b/core/res/res/drawable-hdpi/stat_sys_upload_anim2.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_upload_anim3.png b/core/res/res/drawable-hdpi/stat_sys_upload_anim3.png
index f517809..972808a 100755
--- a/core/res/res/drawable-hdpi/stat_sys_upload_anim3.png
+++ b/core/res/res/drawable-hdpi/stat_sys_upload_anim3.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_upload_anim4.png b/core/res/res/drawable-hdpi/stat_sys_upload_anim4.png
index 3ae614e..d47c761 100755
--- a/core/res/res/drawable-hdpi/stat_sys_upload_anim4.png
+++ b/core/res/res/drawable-hdpi/stat_sys_upload_anim4.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_upload_anim5.png b/core/res/res/drawable-hdpi/stat_sys_upload_anim5.png
index d0638ef..7aeafbe 100755
--- a/core/res/res/drawable-hdpi/stat_sys_upload_anim5.png
+++ b/core/res/res/drawable-hdpi/stat_sys_upload_anim5.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/status_bar_close_on.9.png b/core/res/res/drawable-hdpi/status_bar_close_on.9.png
deleted file mode 100755
index 87d1944..0000000
--- a/core/res/res/drawable-hdpi/status_bar_close_on.9.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_dialog_menu_generic.png b/core/res/res/drawable-mdpi/ic_dialog_menu_generic.png
deleted file mode 100755
index de07bda..0000000
--- a/core/res/res/drawable-mdpi/ic_dialog_menu_generic.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-mdpi/status_bar_close_on.9.png b/core/res/res/drawable-mdpi/status_bar_close_on.9.png
deleted file mode 100644
index 9cbd9fe..0000000
--- a/core/res/res/drawable-mdpi/status_bar_close_on.9.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable/overscroll_edge.png b/core/res/res/drawable/overscroll_edge.png
deleted file mode 100644
index b026880..0000000
--- a/core/res/res/drawable/overscroll_edge.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml
index a8c00a6..298463a 100644
--- a/core/res/res/values/attrs_manifest.xml
+++ b/core/res/res/values/attrs_manifest.xml
@@ -495,10 +495,10 @@
              orientation will changed based on how the user rotates the device -->
         <enum name="unspecified" value="-1" />
         <!-- Would like to have the screen in a landscape orientation: that
-             is, with the display wider than it is tall. -->
+             is, with the display wider than it is tall, ignoring sensor data. -->
         <enum name="landscape" value="0" />
         <!-- Would like to have the screen in a portrait orientation: that
-             is, with the display taller than it is wide. -->
+             is, with the display taller than it is wide, ignoring sensor data. -->
         <enum name="portrait" value="1" />
         <!-- Use the user's current preferred orientation of the handset. -->
         <enum name="user" value="2" />
@@ -511,6 +511,24 @@
         <!-- Always ignore orientation determined by orientation sensor:
              the display will not rotate when the user moves the device. -->
         <enum name="nosensor" value="5" />
+        <!-- Would like to have the screen in landscape orientation, but can
+             use the sensor to change which direction the screen is facing. -->
+        <enum name="sensorLandscape" value="6" />
+        <!-- Would like to have the screen in portrait orientation, but can
+             use the sensor to change which direction the screen is facing. -->
+        <enum name="sensorPortait" value="7" />
+        <!-- Would like to have the screen in landscape orientation, turned in
+             the opposite direction from normal landscape. -->
+        <enum name="reverseLandscape" value="8" />
+        <!-- Would like to have the screen in portrait orientation, turned in
+             the opposite direction from normal portrait. -->
+        <enum name="reversePortait" value="9" />
+        <!-- Orientation is determined by a physical orientation sensor:
+             the display will rotate based on how the user moves the device.
+             This allows any of the 4 possible rotations, regardless of what
+             the device will normally do (for example some devices won't
+             normally use 180 degree rotation). -->
+        <enum name="fullSensor" value="10" />
     </attr>
     
     <!-- Specify one or more configuration changes that the activity will
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index d120dd0..6e6dc26 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -71,6 +71,15 @@
          when there's no network connection. If the scan doesn't timeout, use zero -->
     <integer name="config_radioScanningTimeout">0</integer>
 
+    <!-- A product with no SD card == not removable. -->
+    <bool name="config_externalStorageRemovable" product="nosdcard">false</bool>
+    <!-- Configures whether the primary external storage device is
+         removable.  For example, if external storage is on an SD card,
+         it is removable; if it is built in to the device, it is not removable.
+         The default product has external storage on an SD card, which is
+         removable. -->
+    <bool name="config_externalStorageRemovable" product="default">true</bool>
+
     <!-- XXXXX NOTE THE FOLLOWING RESOURCES USE THE WRONG NAMING CONVENTION.
          Please don't copy them, copy anything else. -->
 
diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml
index c92fc8c..a8cd7ce 100644
--- a/core/res/res/values/styles.xml
+++ b/core/res/res/values/styles.xml
@@ -572,7 +572,7 @@
     </style>
 
     <style name="Widget.QuickContactBadge">
-        <item name="android:layout_width">50dip</item>
+        <item name="android:layout_width">47.33333dip</item>
         <item name="android:layout_height">56dip</item>
         <item name="android:background">@android:drawable/quickcontact_badge</item>
         <item name="android:clickable">true</item>
diff --git a/docs/html/guide/appendix/market-filters.jd b/docs/html/guide/appendix/market-filters.jd
index 0797892..e74cefb 100644
--- a/docs/html/guide/appendix/market-filters.jd
+++ b/docs/html/guide/appendix/market-filters.jd
@@ -4,7 +4,7 @@
 <div id="qv-wrapper">

 <div id="qv">

 

-<h2 align="left">Market filters quickview</h2>

+<h2>Quickview</h2>

 <ul> <li>Android Market applies filters to that let you control whether your app is shown to a

 user who is browing or searching for apps.</li> 

 <li>Filtering is determined by elements in an app's manifest file,

diff --git a/docs/html/guide/practices/design/performance.jd b/docs/html/guide/practices/design/performance.jd
index 56872a7..f5588ac 100644
--- a/docs/html/guide/practices/design/performance.jd
+++ b/docs/html/guide/practices/design/performance.jd
@@ -1,6 +1,30 @@
 page.title=Designing for Performance
 @jd:body
 
+<div id="qv-wrapper">
+<div id="qv">
+
+<h2>In this document</h2>
+<ol>
+  <li><a href="#intro">Introduction</a></li>
+  <li><a href="#optimize_judiciously">Optimize Judiciously</a></li>
+  <li><a href="#object_creation">Avoid Creating Objects</a></li>
+  <li><a href="#myths">Performance Myths</a></li>
+  <li><a href="#prefer_static">Prefer Static Over Virtual</a></li>
+  <li><a href="#internal_get_set">Avoid Internal Getters/Setters</a></li>
+  <li><a href="#use_final">Use Static Final For Constants</a></li>
+  <li><a href="#foreach">Use Enhanced For Loop Syntax</a></li>
+  <li><a href="#avoid_enums">Avoid Enums Where You Only Need Ints</a></li>
+  <li><a href="#package_inner">Use Package Scope with Inner Classes</a></li>
+  <li><a href="#avoidfloat">Use Floating-Point Judiciously</a> </li>
+  <li><a href="#library">Know And Use The Libraries</a></li>
+  <li><a href="#native_methods">Use Native Methods Judiciously</a></li>
+  <li><a href="#closing_notes">Closing Notes</a></li>
+</ol>
+
+</div>
+</div>
+
 <p>An Android application will run on a mobile device with limited computing
 power and storage, and constrained battery life. Because of
 this, it should be <em>efficient</em>. Battery life is one reason you might
@@ -8,24 +32,6 @@
 Battery life is important to users, and Android's battery usage breakdown
 means users will know if your app is responsible draining their battery.</p>
 
-<p>This document covers these topics: </p>
-<ul>
-    <li><a href="#intro">Introduction</a></li>
-    <li><a href="#optimize_judiciously">Optimize Judiciously</a></li>
-    <li><a href="#object_creation">Avoid Creating Objects</a></li>
-    <li><a href="#myths">Performance Myths</a></li>
-    <li><a href="#prefer_static">Prefer Static Over Virtual</a></li>
-    <li><a href="#internal_get_set">Avoid Internal Getters/Setters</a></li>
-    <li><a href="#use_final">Use Static Final For Constants</a></li>
-    <li><a href="#foreach">Use Enhanced For Loop Syntax</a></li>
-    <li><a href="#avoid_enums">Avoid Enums Where You Only Need Ints</a></li>
-    <li><a href="#package_inner">Use Package Scope with Inner Classes</a></li>
-    <li><a href="#avoidfloat">Use Floating-Point Judiciously</a> </li>
-    <li><a href="#library">Know And Use The Libraries</a></li>
-    <li><a href="#native_methods">Use Native Methods Judiciously</a></li>
-    <li><a href="#closing_notes">Closing Notes</a></li>
-</ul>
-
 <p>Note that although this document primarily covers micro-optimizations,
 these will almost never make or break your software. Choosing the right
 algorithms and data structures should always be your priority, but is
diff --git a/docs/html/guide/practices/design/responsiveness.jd b/docs/html/guide/practices/design/responsiveness.jd
index 9858e36..b811d1b 100644
--- a/docs/html/guide/practices/design/responsiveness.jd
+++ b/docs/html/guide/practices/design/responsiveness.jd
@@ -1,6 +1,19 @@
 page.title=Designing for Responsiveness
 @jd:body
 
+<div id="qv-wrapper">
+<div id="qv">
+
+<h2>In this document</h2>
+<ol>
+  <li><a href="#anr">What Triggers ANR?</a></li>
+  <li><a href="#avoiding">How to Avoid ANR</a></li>
+  <li><a href="#reinforcing">Reinforcing Responsiveness</a></li>
+</ol>
+
+</div>
+</div>
+
 <div class="figure">
 <img src="{@docRoot}images/anr.png" alt="Screenshot of ANR dialog box" width="240" height="320"/>
 <p><strong>Figure 1.</strong> An ANR dialog displayed to the user.</p>
diff --git a/docs/html/guide/practices/design/seamlessness.jd b/docs/html/guide/practices/design/seamlessness.jd
index a6c1641..dedc16f 100644
--- a/docs/html/guide/practices/design/seamlessness.jd
+++ b/docs/html/guide/practices/design/seamlessness.jd
@@ -1,6 +1,26 @@
 page.title=Designing for Seamlessness
 @jd:body
 
+<div id="qv-wrapper">
+<div id="qv">
+
+<h2>In this document</h2>
+<ol>
+  <li><a href="#drop">Don't Drop Data</a></li>
+  <li><a href="#expose">Don't Expose Raw Data</a></li>
+  <li><a href="#interrupt">Don't Interrupt the User</a></li>
+  <li><a href="#threads">Got a Lot to Do? Do it in a Thread</a></li>
+  <li><a href="#multiple-activities">Don't Overload a Single Activity Screen</a></li>
+  <li><a href="#themes">Extend System Themes</a></li>
+  <li><a href="#flexui">Design Your UI to Work with Multiple Screen Resolutions</a></li>
+  <li><a href="#network">Assume the Network is Slow</a></li>
+  <li><a href="#keyboard">Don't Assume Touchscreen or Keyboard</a></li>
+  <li><a href="#battery">Do Conserve the Device Battery</a></li>
+</ol>
+
+</div>
+</div>
+
 <p>Even if your application is fast and responsive, certain design decisions can
 still cause problems for users &mdash; because of unplanned interactions with
 other applications or dialogs, inadvertent loss of data, unintended blocking,
@@ -42,20 +62,7 @@
 by allowing you to integrate cleanly and seamlessly with other applications, and
 so you should design your own code to return the favor.</p>
 
-<p>This document discusses common seamlessness problems and how to avoid them.
-It covers these topics: </p>
-<ul>
-    <li><a href="#drop">Don't Drop Data</a></li>
-    <li><a href="#expose">Don't Expose Raw Data</a></li>
-    <li><a href="#interrupt">Don't Interrupt the User</a></li>
-    <li><a href="#threads">Got a Lot to Do? Do it in a Thread</a></li>
-    <li><a href="#multiple-activities">Don't Overload a Single Activity Screen</a></li>
-    <li><a href="#themes">Extend System Themes</a></li>
-    <li><a href="#flexui">Design Your UI to Work with Multiple Screen Resolutions</a></li>
-    <li><a href="#network">Assume the Network is Slow</a></li>
-    <li><a href="#keyboard">Don't Assume Touchscreen or Keyboard</a></li>
-    <li><a href="#battery">Do Conserve the Device Battery</a></li>
-</ul>
+<p>This document discusses common seamlessness problems and how to avoid them.</p>
 
 <h2 id="drop">Don't Drop Data</h2>
 
diff --git a/docs/html/guide/practices/screens_support.jd b/docs/html/guide/practices/screens_support.jd
index 11ad1b8..13b5e3a 100644
--- a/docs/html/guide/practices/screens_support.jd
+++ b/docs/html/guide/practices/screens_support.jd
@@ -5,7 +5,7 @@
 <div id="qv-wrapper">
 <div id="qv">
 
-  <h2>Multiple screens quickview: </h2>
+  <h2>Quickview</h2>
   <ul>
     <li>Android runs on devices that have different screen sizes and resolutions.</li>
     <li>The screen on which your application is displayed can affect its user interface.</li>
diff --git a/docs/html/guide/practices/ui_guidelines/activity_task_design.jd b/docs/html/guide/practices/ui_guidelines/activity_task_design.jd
index c8d241c..6cb98e6 100644
--- a/docs/html/guide/practices/ui_guidelines/activity_task_design.jd
+++ b/docs/html/guide/practices/ui_guidelines/activity_task_design.jd
@@ -4,7 +4,7 @@
 <div id="qv-wrapper">
 <div id="qv">
 
-<h2>Activity and task design quickview</h2>
+<h2>Quickview</h2>
 
 <ul>
 <li>Activities are the main building blocks of Android applications. </li>
diff --git a/docs/html/guide/practices/ui_guidelines/icon_design.jd b/docs/html/guide/practices/ui_guidelines/icon_design.jd
index 51ccfaf..389d5fa 100644
--- a/docs/html/guide/practices/ui_guidelines/icon_design.jd
+++ b/docs/html/guide/practices/ui_guidelines/icon_design.jd
@@ -4,7 +4,7 @@
 <div id="qv-wrapper">
 <div id="qv">
 
-<h2>Icon design quickview</h2>
+<h2>Quickview</h2>
 
 <ul>
 <li>You can use several types of icons in an Android application.</li>
@@ -35,25 +35,30 @@
 
 </ol>
 
-<h2>See also</h2>
-
-<ol>
-<li><a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple
-Screens</a></li>
-<li><a href="{@docRoot}shareables/icon_templates-v2.0.zip">Android Icon
-Templates Pack, v2.0 &raquo;</a></li>
-</ol>
-
 <h2>Older versions</h2>
 
 <ol>
 <li style="margin-top:4px;"><a
 href="{@docRoot}guide/practices/ui_guidelines/icon_design_1.html">Icon Design
 Guidelines, Android 1.0</a></li>
+</ol>
+
+<h2>Downloads</h2>
+
+<ol>
+<li><a href="{@docRoot}shareables/icon_templates-v2.0.zip">Android Icon
+Templates Pack, v2.0 &raquo;</a></li>
 <li><a href="{@docRoot}shareables/icon_templates-v1.0.zip">Android Icon
 Templates Pack, v1.0 &raquo;</a></li>
 </ol>
 
+<h2>See also</h2>
+
+<ol>
+<li><a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple
+Screens</a></li>
+</ol>
+
 
 </div>
 </div>
diff --git a/docs/html/guide/practices/ui_guidelines/icon_design_1.jd b/docs/html/guide/practices/ui_guidelines/icon_design_1.jd
index 1c75843..995cfea 100644
--- a/docs/html/guide/practices/ui_guidelines/icon_design_1.jd
+++ b/docs/html/guide/practices/ui_guidelines/icon_design_1.jd
@@ -4,7 +4,7 @@
 <div id="qv-wrapper">
 <div id="qv">
 
-<h2>Icon design quickview</h2>
+<h2>Quickview</h2>
 
 <ul>
 <li>You can use several types of icons in an Android application.</li>
@@ -35,12 +35,17 @@
 
 </ol>
 
+<h2>Downloads</h2>
+
+<ol>
+<li><a href="{@docRoot}shareables/icon_templates-v1.0.zip">Android Icon
+Templates Pack, v1.0 &raquo;</a></li>
+</ol>
+
 <h2>See also</h2>
 
 <ol>
 <li><a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple Screens</a></li>
-<li><a href="{@docRoot}shareables/icon_templates-v1.0.zip">Android Icon
-Templates Pack, v1.0 &raquo;</a></li>
 </ol>
 
 
diff --git a/docs/html/guide/practices/ui_guidelines/menu_design.jd b/docs/html/guide/practices/ui_guidelines/menu_design.jd
index ebf8a4b..840ee66 100644
--- a/docs/html/guide/practices/ui_guidelines/menu_design.jd
+++ b/docs/html/guide/practices/ui_guidelines/menu_design.jd
@@ -4,7 +4,7 @@
 <div id="qv-wrapper">
 <div id="qv">
 			
-<h2>Menu design quickview</h2>
+<h2>Quickview</h2>
 
 <ul>
   <li>An Options menu is for any commands that are global to the current activity. </li>
diff --git a/docs/html/guide/practices/ui_guidelines/widget_design.jd b/docs/html/guide/practices/ui_guidelines/widget_design.jd
index fc62fe6..e978069 100644
--- a/docs/html/guide/practices/ui_guidelines/widget_design.jd
+++ b/docs/html/guide/practices/ui_guidelines/widget_design.jd
@@ -4,7 +4,7 @@
 <div id="qv-wrapper">
 <div id="qv">
 
-<h2>Widget design quickview</h2>
+<h2>Quickview</h2>
 
 <ul>
 <li>Widgets have six standard sizes on the Home screen</li>
@@ -27,7 +27,7 @@
 <h2>See also</h2>
 
 <ol>
-<li><a href="{@docRoot}guide/topics/appwidgets/index.html">AppWidgets</a> topic in the <em>Dev Guide</em></li>
+<li><a href="{@docRoot}guide/topics/appwidgets/index.html">App Widgets</a></li>
 <li><a href="http://android-developers.blogspot.com/2009/04/introducing-home-screen-widgets-and.html">AppWidgets blog post</a></li>
 </ol>
 
diff --git a/docs/html/guide/publishing/app-signing.jd b/docs/html/guide/publishing/app-signing.jd
index 34d94191..6758054 100644
--- a/docs/html/guide/publishing/app-signing.jd
+++ b/docs/html/guide/publishing/app-signing.jd
@@ -4,7 +4,7 @@
 <div id="qv-wrapper">
 <div id="qv">
 
-<h2>Signing quickview</h2>
+<h2>Quickview</h2>
 
 <ul>
 <li>All Android apps <em>must</em> be signed</a></li>
diff --git a/docs/html/guide/publishing/licensing.jd b/docs/html/guide/publishing/licensing.jd
index 07af68d..fc83ec0 100644
--- a/docs/html/guide/publishing/licensing.jd
+++ b/docs/html/guide/publishing/licensing.jd
@@ -4,7 +4,7 @@
 <div id="qv-wrapper">
 <div id="qv">
 
-  <h2>Market Licensing quickview: </h2>
+  <h2>Quickview</h2>
   <ul>
     <li>Licensing lets you protect your application on any device that includes Android Market.</li>
     <li>Your app maintains control of how it enforces its licensing status. </li>
diff --git a/docs/html/guide/publishing/preparing.jd b/docs/html/guide/publishing/preparing.jd
index 442c12a..45a5b77 100644
--- a/docs/html/guide/publishing/preparing.jd
+++ b/docs/html/guide/publishing/preparing.jd
@@ -1,20 +1,6 @@
 page.title=Preparing to Publish: A Checklist
 @jd:body
 
-<!--
-<div id="qv-wrapper">
-<div id="qv">
-
-<h2>In this document</h2>
-
-<ol>
-<li><a href=""></a></li>
-</ol>
-
-</div>
-</div>
--->
-
 <p>Publishing an application means testing it, packaging it appropriately, and 
 making it available to users of Android-powered mobile devices.</p>
 
@@ -34,7 +20,7 @@
 
 <div class="special">
 
-<p>Before you consider your application ready for release:</p>
+<p><a href="#releaseready">Before you consider your application ready for release</a>:</p>
 
 <ol>
 <li>Test your application extensively on an actual device </li>
@@ -44,7 +30,7 @@
 <li>Turn off logging and debugging and clean up data/files</li>
 </ol>
 
-<p>Before you do the final compile of your application:</p>
+<p><a href="#finalcompile">Before you do the final compile of your application</a>:</p>
 
 <ol start="6">
 <li>Version your application</li>
@@ -52,8 +38,9 @@
 <li>Register for a Maps API Key, if your application is using MapView elements</li>
 </ol>
 
-<p><em>Compile your application...</em></p>
-<p>After compiling your application:</p>
+<p><a href="#compile">Compile your application</a></p>
+
+<p><a href="#post-compile">After you compile your application</a>:</p>
 <ol start="9">
 <li>Sign your application</li>
 <li>Test your compiled application</li>
@@ -242,7 +229,7 @@
 you can compile your application for release.</p>
 
 
-<h2 id="post-compile">After compiling your application</h2>
+<h2 id="post-compile">After you compile your application</h2>
 
 <h3 id="signapp">9. Sign your application</h3>
 
diff --git a/docs/html/guide/publishing/publishing.jd b/docs/html/guide/publishing/publishing.jd
index 9b470c8..af1ea74 100644
--- a/docs/html/guide/publishing/publishing.jd
+++ b/docs/html/guide/publishing/publishing.jd
@@ -4,7 +4,7 @@
 <div id="qv-wrapper">
 <div id="qv">
 
-<h2>Publishing quickview</h2>
+<h2>Quickview</h2>
 
 <ul>
 <li>You can publish your application using a hosted service such as Android Market or through a web server.</li>
diff --git a/docs/html/guide/publishing/versioning.jd b/docs/html/guide/publishing/versioning.jd
index 1d55f8a..b646247 100644
--- a/docs/html/guide/publishing/versioning.jd
+++ b/docs/html/guide/publishing/versioning.jd
@@ -4,7 +4,7 @@
 <div id="qv-wrapper">
 <div id="qv">
 
-<h2>Versioning quickview</h2>
+<h2>Quickview</h2>
 
 <ul>
 <li>Your application <em>must</em> be versioned</a></li>
diff --git a/docs/html/guide/topics/appwidgets/index.jd b/docs/html/guide/topics/appwidgets/index.jd
index 7a8dd59..3de5627 100644
--- a/docs/html/guide/topics/appwidgets/index.jd
+++ b/docs/html/guide/topics/appwidgets/index.jd
@@ -3,12 +3,14 @@
 
 <div id="qv-wrapper">
   <div id="qv">
-    <h2>Key classes</h2>
-    <ol>
-      <li>{@link android.appwidget.AppWidgetProvider}</li>
-      <li>{@link android.appwidget.AppWidgetProviderInfo}</li>
-      <li>{@link android.appwidget.AppWidgetManager}</li>
-    </ol>
+    <h2>Quickview</h2>
+    <ul>
+      <li>App Widgets provide users access to some of your application features
+directly from the Home screen (without the need to launch an activity)</li>
+      <li>App Widgets are backed by a special kind of broadcast receiver that handles the App
+Widget lifecycle</li>
+    </ul>
+    
     <h2>In this document</h2>
     <ol>
       <li><a href="#Basics">The Basics</a></li>
@@ -28,6 +30,13 @@
       </li>
     </ol>
 
+    <h2>Key classes</h2>
+    <ol>
+      <li>{@link android.appwidget.AppWidgetProvider}</li>
+      <li>{@link android.appwidget.AppWidgetProviderInfo}</li>
+      <li>{@link android.appwidget.AppWidgetManager}</li>
+    </ol>
+    
     <h2>See also</h2>
     <ol>
       <li><a href="{@docRoot}guide/practices/ui_guidelines/widget_design.html">App Widget Design 
diff --git a/docs/html/guide/topics/fundamentals.jd b/docs/html/guide/topics/fundamentals.jd
index 6d6abd8..a095087 100644
--- a/docs/html/guide/topics/fundamentals.jd
+++ b/docs/html/guide/topics/fundamentals.jd
@@ -3,14 +3,6 @@
 
 <div id="qv-wrapper">
 <div id="qv">
-<h2>Key classes</h2>
-<ol>
-<li>{@link android.app.Activity}</li>
-<li>{@link android.app.Service}</li>
-<li>{@link android.content.BroadcastReceiver}</li>
-<li>{@link android.content.ContentProvider}</li>
-<li>{@link android.content.Intent}</li>
-</ol>
 
 <h2>In this document</h2>
 <ol>
@@ -43,6 +35,16 @@
     <li><a href="#proclife">Processes and lifecycles</a></li>
   </ol></li>
 </ol>
+
+<h2>Key classes</h2>
+<ol>
+<li>{@link android.app.Activity}</li>
+<li>{@link android.app.Service}</li>
+<li>{@link android.content.BroadcastReceiver}</li>
+<li>{@link android.content.ContentProvider}</li>
+<li>{@link android.content.Intent}</li>
+</ol>
+
 </div>
 </div>
 
diff --git a/docs/html/guide/topics/intents/intents-filters.jd b/docs/html/guide/topics/intents/intents-filters.jd
index bd1d694..5905214 100644
--- a/docs/html/guide/topics/intents/intents-filters.jd
+++ b/docs/html/guide/topics/intents/intents-filters.jd
@@ -3,15 +3,6 @@
 
 <div id="qv-wrapper">
 <div id="qv">
-<h2>Key classes</h2>
-<ol>
-<li>{@link android.content.Intent}</li>
-<li>{@link android.content.IntentFilter}</li>
-<li>{@link android.app.Activity}</li>
-<li>{@link android.app.Service}</li>
-<li>{@link android.content.BroadcastReceiver}</li>
-<li>{@link android.content.pm.PackageManager}</li>
-</ol>
 
 <h2>In this document</h2>
 <ol>
@@ -22,6 +13,15 @@
 <li style="margin-left: 2em"><a href="#imatch">Using intent matching</a></li>
 <li><a href="#npex">Note Pad Example</a></li>
 </ol>
+
+<h2>Key classes</h2>
+<ol>
+<li>{@link android.content.Intent}</li>
+<li>{@link android.content.IntentFilter}</li>
+<li>{@link android.content.BroadcastReceiver}</li>
+<li>{@link android.content.pm.PackageManager}</li>
+</ol>
+
 </div>
 </div>
 
diff --git a/docs/html/guide/topics/media/index.jd b/docs/html/guide/topics/media/index.jd
index 96c500c..558d453 100644
--- a/docs/html/guide/topics/media/index.jd
+++ b/docs/html/guide/topics/media/index.jd
@@ -4,7 +4,7 @@
     <div id="qv-wrapper">
     <div id="qv">
 
-<h2>Audio/Video quickview</h2>
+<h2>Quickview</h2>
 <ul>
 <li>Audio playback and record</li>
 <li>Video playback</li>
@@ -12,14 +12,6 @@
 <li>Built-in codecs for a variety of media. See <a href="{@docRoot}guide/appendix/media-formats.html">Android Supported Media Formats</a></li>
 </ul>
 
-<h2>Key classes</h2>
-<ol>
-<li>{@link android.media.MediaPlayer MediaPlayer} (all available formats)</li>
-<li>{@link android.media.MediaRecorder MediaRecorder} (all available formats)</li>
-<li>{@link android.media.JetPlayer JetPlayer} (playback, JET content)</li>
-<li>{@link android.media.SoundPool SoundPool} (sound management)</li>
-</ol>
-
 <h2>In this document</h2>
 <ol>
 <li><a href="#playback.html">Audio and Video Playback</a>
@@ -32,6 +24,14 @@
 <li><a href="#capture">Audio Capture</a></li>
 </ol>
 
+<h2>Key classes</h2>
+<ol>
+<li>{@link android.media.MediaPlayer MediaPlayer}</li>
+<li>{@link android.media.MediaRecorder MediaRecorder}</li>
+<li>{@link android.media.JetPlayer JetPlayer}</li>
+<li>{@link android.media.SoundPool SoundPool}</li>
+</ol>
+
 <h2>See also</h2>
 <ol>
 <li><a href="{@docRoot}guide/topics/data/data-storage.html">Data Storage</a></li>
diff --git a/docs/html/guide/topics/providers/content-providers.jd b/docs/html/guide/topics/providers/content-providers.jd
index da4e7a1..2aed5e1 100644
--- a/docs/html/guide/topics/providers/content-providers.jd
+++ b/docs/html/guide/topics/providers/content-providers.jd
@@ -3,12 +3,6 @@
 
 <div id="qv-wrapper">
 <div id="qv">
-<h2>Key classes</h2>
-<ol>
-<li>{@link android.content.ContentProvider}</li>
-<li>{@link android.content.ContentResolver}</li>
-<li>{@link android.database.Cursor}</li>
-</ol>
 
 <h2>In this document</h2>
 <ol>
@@ -18,6 +12,13 @@
 <li><a href="#creating">Creating a content provider</a></li>
 <li><a href="#urisum">Content URI summary</a></li>
 </ol>
+
+<h2>Key classes</h2>
+<ol>
+<li>{@link android.content.ContentProvider}</li>
+<li>{@link android.content.ContentResolver}</li>
+<li>{@link android.database.Cursor}</li>
+</ol>
 </div>
 </div>
 
diff --git a/docs/html/guide/topics/search/adding-custom-suggestions.jd b/docs/html/guide/topics/search/adding-custom-suggestions.jd
index ce0c619..c8f06b9 100644
--- a/docs/html/guide/topics/search/adding-custom-suggestions.jd
+++ b/docs/html/guide/topics/search/adding-custom-suggestions.jd
@@ -33,7 +33,7 @@
 <li>{@link android.content.ContentProvider}</li>
 </ol>
 
-<h2>Related Samples</h2>
+<h2>Related samples</h2>
 <ol>
 <li><a href="{@docRoot}resources/samples/SearchableDictionary/index.html">Searchable
 Dictionary</a></li>
diff --git a/docs/html/guide/topics/search/index.jd b/docs/html/guide/topics/search/index.jd
index 78e0be2..f563715 100644
--- a/docs/html/guide/topics/search/index.jd
+++ b/docs/html/guide/topics/search/index.jd
@@ -13,7 +13,7 @@
 <ol>
 <li><a href="searchable-config.html">Searchable Configuration</a></li>
 </ol>
-<h2>Related Samples</h2>
+<h2>Related samples</h2>
 <ol>
 <li><a href="{@docRoot}resources/samples/SearchableDictionary/index.html">Searchable
 Dictionary</a></li>
diff --git a/docs/html/guide/topics/search/search-dialog.jd b/docs/html/guide/topics/search/search-dialog.jd
index 49c6627..49938b4 100644
--- a/docs/html/guide/topics/search/search-dialog.jd
+++ b/docs/html/guide/topics/search/search-dialog.jd
@@ -29,7 +29,7 @@
 <li>{@link android.app.SearchManager}</li>
 </ol>
 
-<h2>Related Samples</h2>
+<h2>Related samples</h2>
 <ol>
 <li><a href="{@docRoot}resources/samples/SearchableDictionary/index.html">Searchable
 Dictionary</a></li>
diff --git a/docs/html/guide/topics/testing/testing_android.jd b/docs/html/guide/topics/testing/testing_android.jd
index 46ba769..935aaf9 100755
--- a/docs/html/guide/topics/testing/testing_android.jd
+++ b/docs/html/guide/topics/testing/testing_android.jd
@@ -52,7 +52,7 @@
       </ol>
     </li>
   </ol>
-  <h2>Key Classes</h2>
+  <h2>Key classes</h2>
     <ol>
       <li>{@link android.test.InstrumentationTestRunner}</li>
       <li>{@link android.test.ActivityInstrumentationTestCase2}</li>
@@ -61,7 +61,7 @@
       <li>{@link android.test.ProviderTestCase2}</li>
       <li>{@link android.test.ServiceTestCase}</li>
     </ol>
-  <h2>Related Tutorials</h2>
+  <h2>Related tutorials</h2>
     <ol>
         <li>
             <a href="{@docRoot}resources/tutorials/testing/helloandroid_test.html">Hello, Testing</a>
@@ -70,7 +70,7 @@
             <a href="{@docRoot}resources/tutorials/testing/activity_test.html">Activity Testing</a>
         </li>
     </ol>
-  <h2>See Also</h2>
+  <h2>See also</h2>
       <ol>
         <li>
           <a href="{@docRoot}guide/developing/testing/testing_eclipse.html">Testing in Eclipse, with ADT</a>
diff --git a/docs/html/guide/topics/ui/binding.jd b/docs/html/guide/topics/ui/binding.jd
index 6ac0bb0..26364ee 100644
--- a/docs/html/guide/topics/ui/binding.jd
+++ b/docs/html/guide/topics/ui/binding.jd
@@ -11,11 +11,11 @@
     <li><a href="#HandlingUserSelections">Handling User Selections</a></li>
   </ol>
   
-  <h2>See also</h2>
+  <h2>Related tutorials</h2>
   <ol>
-    <li><a href="{@docRoot}resources/tutorials/views/hello-spinner.html">Hello Spinner tutorial</a></li>
-    <li><a href="{@docRoot}resources/tutorials/views/hello-listview.html">Hello ListView tutorial</a></li>
-    <li><a href="{@docRoot}resources/tutorials/views/hello-gridview.html">Hello GridView tutorial</a></li>
+    <li><a href="{@docRoot}resources/tutorials/views/hello-spinner.html">Spinner</a></li>
+    <li><a href="{@docRoot}resources/tutorials/views/hello-listview.html">List View</a></li>
+    <li><a href="{@docRoot}resources/tutorials/views/hello-gridview.html">Grid View</a></li>
   </ol>
 </div>
 </div>
diff --git a/docs/html/guide/topics/ui/declaring-layout.jd b/docs/html/guide/topics/ui/declaring-layout.jd
index 5c12db9..fe641a2 100644
--- a/docs/html/guide/topics/ui/declaring-layout.jd
+++ b/docs/html/guide/topics/ui/declaring-layout.jd
@@ -5,12 +5,6 @@
 
 <div id="qv-wrapper">
 <div id="qv">
-  <h2>Key classes</h2>
-  <ol>
-    <li>{@link android.view.View}</li>
-    <li>{@link android.view.ViewGroup}</li>
-    <li>{@link android.view.ViewGroup.LayoutParams}</li>
-  </ol>
   <h2>In this document</h2>
   <ol>
     <li><a href="#write">Write the XML</a></li>
@@ -26,6 +20,12 @@
     <li><a href="#example">Example Layout</a></li>
   </ol>
 
+  <h2>Key classes</h2>
+  <ol>
+    <li>{@link android.view.View}</li>
+    <li>{@link android.view.ViewGroup}</li>
+    <li>{@link android.view.ViewGroup.LayoutParams}</li>
+  </ol>
 </div>
 </div>
 
diff --git a/docs/html/guide/topics/ui/dialogs.jd b/docs/html/guide/topics/ui/dialogs.jd
index 74b544b..1a997f9 100644
--- a/docs/html/guide/topics/ui/dialogs.jd
+++ b/docs/html/guide/topics/ui/dialogs.jd
@@ -5,10 +5,6 @@
 
 <div id="qv-wrapper">
   <div id="qv">
-    <h2>Key classes</h2>
-    <ol>
-      <li>{@link android.app.Dialog}</li>
-    </ol>
     <h2>In this document</h2>
     <ol>
       <li><a href="#ShowingADialog">Showing a Dialog</a></li>
@@ -26,6 +22,11 @@
       </li>
       <li><a href="#CustomDialog">Creating a Custom Dialog</a></li>
     </ol>
+    
+    <h2>Key classes</h2>
+    <ol>
+      <li>{@link android.app.Dialog}</li>
+    </ol>
   </div>
 </div>
 
diff --git a/docs/html/guide/topics/ui/index.jd b/docs/html/guide/topics/ui/index.jd
index abcf6be..375c9fe 100644
--- a/docs/html/guide/topics/ui/index.jd
+++ b/docs/html/guide/topics/ui/index.jd
@@ -4,13 +4,6 @@
 <div id="qv-wrapper">
 <div id="qv">
 
-  <h2>Key classes</h2>
-  <ol>
-    <li>{@link android.view.View}</li>
-    <li>{@link android.view.ViewGroup}</li>
-    <li>{@link android.widget Widget classes}</li>
-  </ol>
-
   <h2>In this document</h2>
   <ol>
     <li><a href="#ViewHierarchy">View Hierarchy</a></li>
@@ -25,6 +18,13 @@
       </ol>
     </li>
   </ol>
+
+  <h2>Key classes</h2>
+  <ol>
+    <li>{@link android.view.View}</li>
+    <li>{@link android.view.ViewGroup}</li>
+    <li>{@link android.widget Widget classes}</li>
+  </ol>
 </div>
 </div>
 
diff --git a/docs/html/guide/topics/ui/notifiers/index.jd b/docs/html/guide/topics/ui/notifiers/index.jd
index f7ccce7..d29324c 100644
--- a/docs/html/guide/topics/ui/notifiers/index.jd
+++ b/docs/html/guide/topics/ui/notifiers/index.jd
@@ -3,13 +3,7 @@
 
 <div id="qv-wrapper">
   <div id="qv">
-    <h2>In this document</h2>
-    <ol>
-      <li><a href="#Toast">Toast Notification</a></li>
-      <li><a href="#StatusBarNotification">Status Bar Notification</a></li>
-      <li><a href="#Dialog">Dialog Notification</a></li>
-    </ol>
-    <h2>More about</h2>
+    <h2>Topics</h2>
     <ol>
       <li><a href="toasts.html">Creating Toast Notifications</a></li>
       <li><a href="notifications.html">Creating Status Bar Notifications</a></li>
diff --git a/docs/html/guide/topics/ui/notifiers/notifications.jd b/docs/html/guide/topics/ui/notifiers/notifications.jd
index a0dd9f1..abc945a 100644
--- a/docs/html/guide/topics/ui/notifiers/notifications.jd
+++ b/docs/html/guide/topics/ui/notifiers/notifications.jd
@@ -5,18 +5,21 @@
 
 <div id="qv-wrapper">
   <div id="qv">
-    <h2>Key classes</h2>
-    <ol>
-      <li>{@link android.app.Notification}</li>
-      <li>{@link android.app.NotificationManager}</li>
-    </ol>
+    <h2>Quickview</h2>
+    <ul>
+      <li>A status bar notification allows your application to notify the user of an event
+without interupting their current activity</li>
+      <li>You can attach an intent to your notification that the system will initiate when the
+user clicks it</li>
+    </ul>
+    
     <h2>In this document</h2>
     <ol>
       <li><a href="#Basics">The Basics</a></li>
       <li><a href="#ManageYourNotifications">Managing your Notifications</a></li>
       <li><a href="#CreateANotification">Creating a Notification</a>
         <ol>
-          <li><a href="#Update">Updating the notification</a></li>
+          <li><a href="#Updating">Updating the notification</a></li>
           <li><a href="#Sound">Adding a sound</a></li>
           <li><a href="#Vibration">Adding vibration</a></li>
           <li><a href="#Lights">Adding flashing lights</a></li>
@@ -25,6 +28,11 @@
       </li>
       <li><a href="#CustomExpandedView">Creating a Custom Expanded View</a></li>
     </ol>
+    <h2>Key classes</h2>
+    <ol>
+      <li>{@link android.app.Notification}</li>
+      <li>{@link android.app.NotificationManager}</li>
+    </ol>
   </div>
 </div>
 
diff --git a/docs/html/guide/topics/ui/notifiers/toasts.jd b/docs/html/guide/topics/ui/notifiers/toasts.jd
index 5b324d2..0d3e10c 100644
--- a/docs/html/guide/topics/ui/notifiers/toasts.jd
+++ b/docs/html/guide/topics/ui/notifiers/toasts.jd
@@ -5,16 +5,24 @@
 
 <div id="qv-wrapper">
   <div id="qv">
-    <h2>Key classes</h2>
+    <h2>Quickview</h2>
     <ol>
-      <li>{@link android.widget.Toast}</li>
+      <li>A toast is a message that appears on the surface of the screen for a moment, but it
+does not take focus (or pause the current activity), so it cannot accept user input</li>
+      <li>You can customize the toast layout to include images</li>
     </ol>
+    
     <h2>In this document</h2>
     <ol>
       <li><a href="#Basics">The Basics</a></li>
-      <li><a href="#Position">Positioning your Toast</a></li>
+      <li><a href="#Positioning">Positioning your Toast</a></li>
       <li><a href="#CustomToastView">Creating a Custom Toast View</a></li>
     </ol>
+    
+    <h2>Key classes</h2>
+    <ol>
+      <li>{@link android.widget.Toast}</li>
+    </ol>
   </div>
 </div>
 
diff --git a/docs/html/guide/topics/ui/ui-events.jd b/docs/html/guide/topics/ui/ui-events.jd
index ccef64f..7d7bfaf 100644
--- a/docs/html/guide/topics/ui/ui-events.jd
+++ b/docs/html/guide/topics/ui/ui-events.jd
@@ -13,9 +13,9 @@
     <li><a href="#HandlingFocus">Handling Focus</a></li>
   </ol>
 
-  <h2>See also</h2>
+  <h2>Related tutorials</h2>
   <ol>
-    <li><a href="{@docRoot}resources/tutorials/views/hello-formstuff.html">Hello Form Stuff tutorial</a></li>
+    <li><a href="{@docRoot}resources/tutorials/views/hello-formstuff.html">Form Stuff</a></li>
   </ol>
 </div>
 </div>
diff --git a/docs/html/guide/topics/wireless/bluetooth.jd b/docs/html/guide/topics/wireless/bluetooth.jd
index a8ff007..fa2875b 100644
--- a/docs/html/guide/topics/wireless/bluetooth.jd
+++ b/docs/html/guide/topics/wireless/bluetooth.jd
@@ -3,14 +3,13 @@
 
 <div id="qv-wrapper">
 <div id="qv">
-  <h2>Key Classes</h2>
-  <ol>
-    <li>{@link android.bluetooth.BluetoothAdapter}</li>
-    <li>{@link android.bluetooth.BluetoothDevice}</li>
-    <li>{@link android.bluetooth.BluetoothSocket}</li>
-    <li>{@link android.bluetooth.BluetoothServerSocket}</li>
-  </ol>
 
+  <h2>Quickview</h2>
+  <ul>
+    <li>Android's bluetooth APIs allow your application to perform wireless data transactions with
+other devices</li>
+  </ul>
+  
   <h2>In this document</h2>
   <ol>
     <li><a href="#TheBasics">The Basics</a></li>
@@ -33,11 +32,18 @@
     </li>
     <li><a href="#ManagingAConnection">Managing a Connection</a></li>
   </ol>
-
-  <h2>See also</h2>
+  
+  <h2>Key classes</h2>
   <ol>
-    <li><a href="{@docRoot}resources/samples/BluetoothChat/index.html">Bluetooth Chat sample
-      app</a></li>
+    <li>{@link android.bluetooth.BluetoothAdapter}</li>
+    <li>{@link android.bluetooth.BluetoothDevice}</li>
+    <li>{@link android.bluetooth.BluetoothSocket}</li>
+    <li>{@link android.bluetooth.BluetoothServerSocket}</li>
+  </ol>
+
+  <h2>Related samples</h2>
+  <ol>
+    <li><a href="{@docRoot}resources/samples/BluetoothChat/index.html">Bluetooth Chat</a></li>
   </ol>
 
 </div>
diff --git a/docs/html/images/home/market-intl.png b/docs/html/images/home/market-intl.png
new file mode 100644
index 0000000..2bb22f1
--- /dev/null
+++ b/docs/html/images/home/market-intl.png
Binary files differ
diff --git a/docs/html/index.jd b/docs/html/index.jd
index f37a122..049df62 100644
--- a/docs/html/index.jd
+++ b/docs/html/index.jd
@@ -11,12 +11,14 @@
                             </div><!-- end homeTitle -->
                             <div id="announcement-block">
                             <!-- total max width is 520px -->
-                                  <img src="{@docRoot}images/home/io-logo.png" alt="Google IO
-2010" width="200" height="41" style="padding:22px 12px;"/>
+                                  <img src="{@docRoot}images/home/market-intl.png" alt="Android
+Market" width="104" height="120" style="padding:10px 60px 5px" />
                                   <div id="announcement" style="width:295px">
-<p>Thanks to everyone who visited us at Google I/O in San Francisco! Stay tuned for
-videos and slides from the Android sessions, which will be posted at the Google I/O web site.</p><p><a
-href="http://code.google.com/events/io/2010/sessions.html#Android">Learn more &raquo;</a></p>
+<p>We're pleased to announce that paid apps are available in more locations of the world! Developers
+from 20 more locations can now sell paid apps on Android Market. Users in more locations will also
+soon be able to purchase apps.</p><p><a
+href="http://android-developers.blogspot.com/2010/09/more-countries-more-sellers-more-buyers.html">
+Learn more &raquo;</a></p>
                                 </div> <!-- end annoucement -->
                             </div> <!-- end annoucement-block -->
                         </div><!-- end topAnnouncement -->
diff --git a/include/media/stagefright/MPEG4Writer.h b/include/media/stagefright/MPEG4Writer.h
index 70bd8e8..cff38b2 100644
--- a/include/media/stagefright/MPEG4Writer.h
+++ b/include/media/stagefright/MPEG4Writer.h
@@ -64,6 +64,7 @@
     FILE *mFile;
     bool mUse4ByteNalLength;
     bool mUse32BitOffset;
+    bool mIsFileSizeLimitExplicitlyRequested;
     bool mPaused;
     bool mStarted;
     off_t mOffset;
diff --git a/include/utils/ZipFileRO.h b/include/utils/ZipFileRO.h
index e1ff780..3c1f3ca 100644
--- a/include/utils/ZipFileRO.h
+++ b/include/utils/ZipFileRO.h
@@ -14,13 +14,19 @@
  * limitations under the License.
  */
 
-//
-// Read-only access to Zip archives, with minimal heap allocation.
-//
-// This is similar to the more-complete ZipFile class, but no attempt
-// has been made to make them interchangeable.  This class operates under
-// a very different set of assumptions and constraints.
-//
+/*
+ * Read-only access to Zip archives, with minimal heap allocation.
+ *
+ * This is similar to the more-complete ZipFile class, but no attempt
+ * has been made to make them interchangeable.  This class operates under
+ * a very different set of assumptions and constraints.
+ *
+ * One such assumption is that if you're getting file descriptors for
+ * use with this class as a child of a fork() operation, you must be on
+ * a pread() to guarantee correct operation. This is because pread() can
+ * atomically read at a file offset without worrying about a lock around an
+ * lseek() + read() pair.
+ */
 #ifndef __LIBS_ZIPFILERO_H
 #define __LIBS_ZIPFILERO_H
 
@@ -55,6 +61,10 @@
  * the record structure.  However, this requires a private mapping of
  * every page that the Central Directory touches.  Easier to tuck a copy
  * of the string length into the hash table entry.
+ *
+ * NOTE: If this is used on file descriptors inherited from a fork() operation,
+ * you must be on a platform that implements pread() to guarantee correctness
+ * on the shared file descriptors.
  */
 class ZipFileRO {
 public:
diff --git a/libs/utils/ZipFileRO.cpp b/libs/utils/ZipFileRO.cpp
index bee86b2..9b1f82f 100644
--- a/libs/utils/ZipFileRO.cpp
+++ b/libs/utils/ZipFileRO.cpp
@@ -508,6 +508,36 @@
 
         unsigned char lfhBuf[kLFHLen];
 
+#ifdef HAVE_PREAD
+        /*
+         * This file descriptor might be from zygote's preloaded assets,
+         * so we need to do an pread() instead of a lseek() + read() to
+         * guarantee atomicity across the processes with the shared file
+         * descriptors.
+         */
+        ssize_t actual =
+                TEMP_FAILURE_RETRY(pread(mFd, lfhBuf, sizeof(lfhBuf), localHdrOffset));
+
+        if (actual != sizeof(lfhBuf)) {
+            LOGW("failed reading lfh from offset %ld\n", localHdrOffset);
+            return false;
+        }
+
+        if (get4LE(lfhBuf) != kLFHSignature) {
+            LOGW("didn't find signature at start of lfh; wanted: offset=%ld data=0x%08x; "
+                    "got: data=0x%08lx\n",
+                    localHdrOffset, kLFHSignature, get4LE(lfhBuf));
+            return false;
+        }
+#else /* HAVE_PREAD */
+        /*
+         * For hosts don't have pread() we cannot guarantee atomic reads from
+         * an offset in a file. Android should never run on those platforms.
+         * File descriptors inherited from a fork() share file offsets and
+         * there would be nothing to protect from two different processes
+         * calling lseek() concurrently.
+         */
+
         {
             AutoMutex _l(mFdLock);
 
@@ -517,7 +547,7 @@
             }
 
             ssize_t actual =
-                TEMP_FAILURE_RETRY(read(mFd, lfhBuf, sizeof(lfhBuf)));
+                    TEMP_FAILURE_RETRY(read(mFd, lfhBuf, sizeof(lfhBuf)));
             if (actual != sizeof(lfhBuf)) {
                 LOGW("failed reading lfh from offset %ld\n", localHdrOffset);
                 return false;
@@ -531,6 +561,7 @@
                 return false;
             }
         }
+#endif /* HAVE_PREAD */
 
         off_t dataOffset = localHdrOffset + kLFHLen
             + get2LE(lfhBuf + kLFHNameLen) + get2LE(lfhBuf + kLFHExtraLen);
diff --git a/media/libstagefright/MPEG4Writer.cpp b/media/libstagefright/MPEG4Writer.cpp
index 546df47..6d00d7c 100644
--- a/media/libstagefright/MPEG4Writer.cpp
+++ b/media/libstagefright/MPEG4Writer.cpp
@@ -40,6 +40,7 @@
 static const int64_t kMax32BitFileSize = 0x007fffffffLL;
 static const uint8_t kNalUnitTypeSeqParamSet = 0x07;
 static const uint8_t kNalUnitTypePicParamSet = 0x08;
+static const int64_t kVideoMediaTimeAdjustPeriodTimeUs = 10000000LL;  // 10s
 
 class MPEG4Writer::Track {
 public:
@@ -148,6 +149,28 @@
     int64_t mPreviousTrackTimeUs;
     int64_t mTrackEveryTimeDurationUs;
 
+    // Has the media time adjustment for video started?
+    bool    mIsMediaTimeAdjustmentOn;
+    // The time stamp when previous media time adjustment period starts
+    int64_t mPrevMediaTimeAdjustTimestampUs;
+    // Number of vidoe frames whose time stamp may be adjusted
+    int64_t mMediaTimeAdjustNumFrames;
+    // The sample number when previous meida time adjustmnet period starts
+    int64_t mPrevMediaTimeAdjustSample;
+    // The total accumulated drift time within a period of
+    // kVideoMediaTimeAdjustPeriodTimeUs.
+    int64_t mTotalDriftTimeToAdjustUs;
+    // The total accumalated drift time since the start of the recording
+    // excluding the current time adjustment period
+    int64_t mPrevTotalAccumDriftTimeUs;
+
+    // Update the audio track's drift information.
+    void updateDriftTime(const sp<MetaData>& meta);
+
+    // Adjust the time stamp of the video track according to
+    // the drift time information from the audio track.
+    void adjustMediaTime(int64_t *timestampUs);
+
     static void *ThreadWrapper(void *me);
     status_t threadEntry();
 
@@ -189,6 +212,7 @@
     : mFile(fopen(filename, "wb")),
       mUse4ByteNalLength(true),
       mUse32BitOffset(true),
+      mIsFileSizeLimitExplicitlyRequested(false),
       mPaused(false),
       mStarted(false),
       mOffset(0),
@@ -202,6 +226,7 @@
     : mFile(fdopen(fd, "wb")),
       mUse4ByteNalLength(true),
       mUse32BitOffset(true),
+      mIsFileSizeLimitExplicitlyRequested(false),
       mPaused(false),
       mStarted(false),
       mOffset(0),
@@ -299,7 +324,7 @@
     static const int64_t MAX_MOOV_BOX_SIZE = (180 * 3000000 * 6LL / 8000);
     int64_t size = MIN_MOOV_BOX_SIZE;
 
-    if (mMaxFileSizeLimitBytes != 0) {
+    if (mMaxFileSizeLimitBytes != 0 && mIsFileSizeLimitExplicitlyRequested) {
         size = mMaxFileSizeLimitBytes * 4 / 1000;
     } else if (mMaxFileDurationLimitUs != 0) {
         if (bitRate <= 0) {
@@ -330,6 +355,16 @@
         return UNKNOWN_ERROR;
     }
 
+    /*
+     * Check mMaxFileSizeLimitBytes at the beginning
+     * since mMaxFileSizeLimitBytes may be implicitly
+     * changed later for 32-bit file offset even if
+     * user does not ask to set it explicitly.
+     */
+    if (mMaxFileSizeLimitBytes != 0) {
+        mIsFileSizeLimitExplicitlyRequested = true;
+    }
+
     int32_t use64BitOffset;
     if (param &&
         param->findInt32(kKey64BitFileOffset, &use64BitOffset) &&
@@ -346,7 +381,7 @@
         // If file size is set to be larger than the 32 bit file
         // size limit, treat it as an error.
         if (mMaxFileSizeLimitBytes > kMax32BitFileSize) {
-            LOGW("32-bi file size limit (%lld bytes) too big. "
+            LOGW("32-bit file size limit (%lld bytes) too big. "
                  "It is changed to %lld bytes",
                 mMaxFileSizeLimitBytes, kMax32BitFileSize);
             mMaxFileSizeLimitBytes = kMax32BitFileSize;
@@ -1149,6 +1184,12 @@
     mNumStscTableEntries = 0;
     mNumSttsTableEntries = 0;
     mMdatSizeBytes = 0;
+    mIsMediaTimeAdjustmentOn = false;
+    mPrevMediaTimeAdjustTimestampUs = 0;
+    mMediaTimeAdjustNumFrames = 0;
+    mPrevMediaTimeAdjustSample = 0;
+    mTotalDriftTimeToAdjustUs = 0;
+    mPrevTotalAccumDriftTimeUs = 0;
 
     pthread_create(&mThread, &attr, ThreadWrapper, this);
     pthread_attr_destroy(&attr);
@@ -1437,6 +1478,145 @@
     return OK;
 }
 
+/*
+* The video track's media time adjustment for real-time applications
+* is described as follows:
+*
+* First, the media time adjustment is done for every period of
+* kVideoMediaTimeAdjustPeriodTimeUs. kVideoMediaTimeAdjustPeriodTimeUs
+* is currently a fixed value chosen heuristically. The value of
+* kVideoMediaTimeAdjustPeriodTimeUs should not be very large or very small
+* for two considerations: on one hand, a relatively large value
+* helps reduce large fluctuation of drift time in the audio encoding
+* path; while on the other hand, a relatively small value helps keep
+* restoring synchronization in audio/video more frequently. Note for the
+* very first period of kVideoMediaTimeAdjustPeriodTimeUs, there is
+* no media time adjustment for the video track.
+*
+* Second, the total accumulated audio track time drift found
+* in a period of kVideoMediaTimeAdjustPeriodTimeUs is distributed
+* over a stream of incoming video frames. The number of video frames
+* affected is determined based on the number of recorded video frames
+* within the past kVideoMediaTimeAdjustPeriodTimeUs period.
+* We choose to distribute the drift time over only a portion
+* (rather than all) of the total number of recorded video frames
+* in order to make sure that the video track media time adjustment is
+* completed for the current period before the next video track media
+* time adjustment period starts. Currently, the portion chosen is a
+* half (0.5).
+*
+* Last, various additional checks are performed to ensure that
+* the actual audio encoding path does not have too much drift.
+* In particular, 1) we want to limit the average incremental time
+* adjustment for each video frame to be less than a threshold
+* for a single period of kVideoMediaTimeAdjustPeriodTimeUs.
+* Currently, the threshold is set to 5 ms. If the average incremental
+* media time adjustment for a video frame is larger than the
+* threshold, the audio encoding path has too much time drift.
+* 2) We also want to limit the total time drift in the audio
+* encoding path to be less than a threshold for a period of
+* kVideoMediaTimeAdjustPeriodTimeUs. Currently, the threshold
+* is 0.5% of kVideoMediaTimeAdjustPeriodTimeUs. If the time drift of
+* the audio encoding path is larger than the threshold, the audio
+* encoding path has too much time drift. We treat the large time
+* drift of the audio encoding path as errors, since there is no
+* way to keep audio/video in synchronization for real-time
+* applications if the time drift is too large unless we drop some
+* video frames, which has its own problems that we don't want
+* to get into for the time being.
+*/
+void MPEG4Writer::Track::adjustMediaTime(int64_t *timestampUs) {
+    if (*timestampUs - mPrevMediaTimeAdjustTimestampUs >=
+        kVideoMediaTimeAdjustPeriodTimeUs) {
+
+        LOGV("New media time adjustment period at %lld us", *timestampUs);
+        mIsMediaTimeAdjustmentOn = true;
+        mMediaTimeAdjustNumFrames =
+                (mNumSamples - mPrevMediaTimeAdjustSample) >> 1;
+
+        mPrevMediaTimeAdjustTimestampUs = *timestampUs;
+        mPrevMediaTimeAdjustSample = mNumSamples;
+        int64_t totalAccumDriftTimeUs = mOwner->getDriftTimeUs();
+        mTotalDriftTimeToAdjustUs =
+                totalAccumDriftTimeUs - mPrevTotalAccumDriftTimeUs;
+
+        mPrevTotalAccumDriftTimeUs = totalAccumDriftTimeUs;
+
+        // Check on incremental adjusted time per frame
+        int64_t adjustTimePerFrameUs =
+                mTotalDriftTimeToAdjustUs / mMediaTimeAdjustNumFrames;
+
+        if (adjustTimePerFrameUs < 0) {
+            adjustTimePerFrameUs = -adjustTimePerFrameUs;
+        }
+        if (adjustTimePerFrameUs >= 5000) {
+            LOGE("Adjusted time per video frame is %lld us",
+                adjustTimePerFrameUs);
+            CHECK(!"Video frame time adjustment is too large!");
+        }
+
+        // Check on total accumulated time drift within a period of
+        // kVideoMediaTimeAdjustPeriodTimeUs.
+        int64_t driftPercentage = (mTotalDriftTimeToAdjustUs * 1000)
+                / kVideoMediaTimeAdjustPeriodTimeUs;
+
+        if (driftPercentage < 0) {
+            driftPercentage = -driftPercentage;
+        }
+        if (driftPercentage > 5) {
+            LOGE("Audio track has time drift %lld us over %lld us",
+                mTotalDriftTimeToAdjustUs,
+                kVideoMediaTimeAdjustPeriodTimeUs);
+
+            CHECK(!"The audio track media time drifts too much!");
+        }
+
+    }
+
+    if (mIsMediaTimeAdjustmentOn) {
+        if (mNumSamples - mPrevMediaTimeAdjustSample <=
+            mMediaTimeAdjustNumFrames) {
+
+            // Do media time incremental adjustment
+            int64_t incrementalAdjustTimeUs =
+                        (mTotalDriftTimeToAdjustUs *
+                            (mNumSamples - mPrevMediaTimeAdjustSample))
+                                / mMediaTimeAdjustNumFrames;
+
+            *timestampUs +=
+                (incrementalAdjustTimeUs + mPrevTotalAccumDriftTimeUs);
+
+            LOGV("Incremental video frame media time adjustment: %lld us",
+                (incrementalAdjustTimeUs + mPrevTotalAccumDriftTimeUs));
+        } else {
+            // Within the remaining adjustment period,
+            // no incremental adjustment is needed.
+            *timestampUs +=
+                (mTotalDriftTimeToAdjustUs + mPrevTotalAccumDriftTimeUs);
+
+            LOGV("Fixed video frame media time adjustment: %lld us",
+                (mTotalDriftTimeToAdjustUs + mPrevTotalAccumDriftTimeUs));
+        }
+    }
+}
+
+/*
+ * Updates the drift time from the audio track so that
+ * the video track can get the updated drift time information
+ * from the file writer. The fluctuation of the drift time of the audio
+ * encoding path is smoothed out with a simple filter by giving a larger
+ * weight to more recently drift time. The filter coefficients, 0.5 and 0.5,
+ * are heuristically determined.
+ */
+void MPEG4Writer::Track::updateDriftTime(const sp<MetaData>& meta) {
+    int64_t driftTimeUs = 0;
+    if (meta->findInt64(kKeyDriftTime, &driftTimeUs)) {
+        int64_t prevDriftTimeUs = mOwner->getDriftTimeUs();
+        int64_t timeUs = (driftTimeUs + prevDriftTimeUs) >> 1;
+        mOwner->setDriftTimeUs(timeUs);
+    }
+}
+
 status_t MPEG4Writer::Track::threadEntry() {
     int32_t count = 0;
     const int64_t interleaveDurationUs = mOwner->interleaveDuration();
@@ -1587,24 +1767,16 @@
 
         timestampUs -= previousPausedDurationUs;
         CHECK(timestampUs >= 0);
-        if (mIsRealTimeRecording && !mIsAudio) {
-            // The minor adjustment on the timestamp is heuristic/experimental
-            // We are adjusting the timestamp to reduce the fluctuation of the duration
-            // of neighboring samples. This in turn helps reduce the track header size,
-            // especially, the number of entries in the "stts" box.
-            if (mNumSamples > 1) {
-                int64_t currDriftTimeUs = mOwner->getDriftTimeUs();
-                int64_t durationUs = timestampUs + currDriftTimeUs - lastTimestampUs;
-                int64_t diffUs = (durationUs > lastDurationUs)
-                            ? durationUs - lastDurationUs
-                            : lastDurationUs - durationUs;
-                if (diffUs <= 5000) {  // XXX: Magic number 5ms
-                    timestampUs = lastTimestampUs + lastDurationUs;
-                } else {
-                    timestampUs += currDriftTimeUs;
-                }
+
+        // Media time adjustment for real-time applications
+        if (mIsRealTimeRecording) {
+            if (mIsAudio) {
+                updateDriftTime(meta_data);
+            } else {
+                adjustMediaTime(&timestampUs);
             }
         }
+
         CHECK(timestampUs >= 0);
         if (mNumSamples > 1) {
             if (timestampUs <= lastTimestampUs) {
@@ -1656,12 +1828,6 @@
         lastDurationUs = timestampUs - lastTimestampUs;
         lastDurationTicks = currDurationTicks;
         lastTimestampUs = timestampUs;
-        if (mIsRealTimeRecording && mIsAudio) {
-            int64_t driftTimeUs = 0;
-            if (meta_data->findInt64(kKeyDriftTime, &driftTimeUs)) {
-                mOwner->setDriftTimeUs(driftTimeUs);
-            }
-        }
 
         if (isSync != 0) {
             addOneStssTableEntry(mNumSamples);
@@ -1735,6 +1901,9 @@
     mReachedEOS = true;
     LOGI("Received total/0-length (%d/%d) buffers and encoded %d frames. - %s",
             count, nZeroLengthFrames, mNumSamples, mIsAudio? "audio": "video");
+    if (mIsAudio) {
+        LOGI("Audio track drift time: %lld us", mOwner->getDriftTimeUs());
+    }
 
     if (err == ERROR_END_OF_STREAM) {
         return OK;
diff --git a/packages/SystemUI/res/drawable-hdpi/battery_low_battery.png b/packages/SystemUI/res/drawable-hdpi/battery_low_battery.png
index d894f7b..e74c22f 100644
--- a/packages/SystemUI/res/drawable-hdpi/battery_low_battery.png
+++ b/packages/SystemUI/res/drawable-hdpi/battery_low_battery.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/ic_notification_overlay.9.png b/packages/SystemUI/res/drawable-hdpi/ic_notification_overlay.9.png
index 744178f..d6c8a21 100644
--- a/packages/SystemUI/res/drawable-hdpi/ic_notification_overlay.9.png
+++ b/packages/SystemUI/res/drawable-hdpi/ic_notification_overlay.9.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm_2.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm_2.png
deleted file mode 100644
index 69841ac..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm_2.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_bt_incoming_file.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_bt_incoming_file.png
deleted file mode 100644
index 18addce..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_bt_incoming_file.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_calendar.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_calendar.png
deleted file mode 100644
index 0caab3e..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_calendar.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_call_mute.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_call_mute.png
deleted file mode 100644
index 0cf5ef5..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_call_mute.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_car_mode.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_car_mode.png
deleted file mode 100644
index 60c3778..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_car_mode.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_disk_full.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_disk_full.png
deleted file mode 100644
index 66e7380..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_disk_full.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_email_generic.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_email_generic.png
deleted file mode 100644
index 78003fa..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_email_generic.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_gmail.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_gmail.png
deleted file mode 100644
index 7356309..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_gmail.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_instant_message.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_instant_message.png
deleted file mode 100644
index 9fc8262..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_instant_message.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_marketplace_update.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_marketplace_update.png
deleted file mode 100644
index c0d0284..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_marketplace_update.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_missed_call.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_missed_call.png
deleted file mode 100644
index d1173b4..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_missed_call.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_mms.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_mms.png
deleted file mode 100644
index eed8c45..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_mms.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_more_notifications.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_more_notifications.png
deleted file mode 100644
index f54b3d4..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_more_notifications.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_musicplayer.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_musicplayer.png
deleted file mode 100644
index 1301f86..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_musicplayer.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_myfaves.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_myfaves.png
deleted file mode 100644
index 854c745..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_myfaves.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_picasa.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_picasa.png
deleted file mode 100644
index 9146185..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_picasa.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard.png
deleted file mode 100644
index dd947a5..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard_alert.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard_alert.png
deleted file mode 100644
index fb2b26a..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard_alert.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard_prepare.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard_prepare.png
deleted file mode 100644
index 4b9b9ca..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard_prepare.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sim_toolkit.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sim_toolkit.png
deleted file mode 100644
index 8865bda..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_sim_toolkit.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sms.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sms.png
deleted file mode 100644
index 66981ba..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_sms.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sms_failed.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sms_failed.png
deleted file mode 100644
index 93ede20..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_sms_failed.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync.png
deleted file mode 100644
index 004cfab..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_alert.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_alert.png
deleted file mode 100644
index 26b2446..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_alert.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim0.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim0.png
deleted file mode 100644
index 6973fc5..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim0.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim1.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim1.png
deleted file mode 100644
index f9d4b32..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim1.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim2.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim2.png
deleted file mode 100644
index 06ff588..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim2.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim3.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim3.png
deleted file mode 100644
index 20d1720..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim3.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim4.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim4.png
deleted file mode 100644
index a217034..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim4.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim5.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim5.png
deleted file mode 100644
index 8d733ec..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim5.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_system_update.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_system_update.png
deleted file mode 100644
index f4365a5..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_system_update.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_usb_debugger.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_usb_debugger.png
deleted file mode 100644
index fdf6c6c..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_usb_debugger.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_voicemail.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_voicemail.png
deleted file mode 100644
index 5b77846..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_voicemail.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_10.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_10.png
deleted file mode 100644
index 4486553..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_10.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_100.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_100.png
deleted file mode 100644
index 23b9e3b..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_100.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_20.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_20.png
deleted file mode 100644
index c8f9c92..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_20.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_40.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_40.png
deleted file mode 100644
index 8d7e1d5..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_40.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_60.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_60.png
deleted file mode 100644
index cb674cc..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_60.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_80.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_80.png
deleted file mode 100644
index 5846df9..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_80.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim0.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim0.png
deleted file mode 100644
index c7464f7..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim0.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim1.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim1.png
deleted file mode 100644
index 997feb3..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim1.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim2.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim2.png
deleted file mode 100644
index bb8b022..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim2.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim3.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim3.png
deleted file mode 100644
index 212a25f..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim3.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim4.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim4.png
deleted file mode 100644
index b211ed6..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim4.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim5.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim5.png
deleted file mode 100644
index a52f81b..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim5.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_empty.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_empty.png
deleted file mode 100644
index 82f2509..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_empty.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_unknown.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_unknown.png
deleted file mode 100644
index dadfe8d..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_unknown.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_bluetooth_connected.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_bluetooth_connected.png
deleted file mode 100644
index 18c77df..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_bluetooth_connected.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_1bar_wifi.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_1bar_wifi.png
deleted file mode 100644
index aea18ed..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_1bar_wifi.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_1bar_wifi_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_1bar_wifi_fully.png
deleted file mode 100644
index 1a25a2c..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_1bar_wifi_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_2bar_wifi.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_2bar_wifi.png
deleted file mode 100644
index 77e6ee4..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_2bar_wifi.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_2bar_wifi_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_2bar_wifi_fully.png
deleted file mode 100644
index 00d86bf..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_2bar_wifi_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_3bar_wifi.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_3bar_wifi.png
deleted file mode 100644
index c2574e1..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_3bar_wifi.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_3bar_wifi_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_3bar_wifi_fully.png
deleted file mode 100644
index 70c030b..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_3bar_wifi_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_4bar_wifi.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_4bar_wifi.png
deleted file mode 100644
index 55caecf..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_4bar_wifi.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_4bar_wifi_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_4bar_wifi_fully.png
deleted file mode 100644
index b5326d2..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_4bar_wifi_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_1x_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_1x_fully.png
deleted file mode 100644
index ba24082..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_1x_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_3g_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_3g_fully.png
deleted file mode 100644
index 5524e26..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_3g_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_e_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_e_fully.png
deleted file mode 100644
index 9909b09..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_e_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_g_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_g_fully.png
deleted file mode 100644
index 0e02b8d..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_g_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_h_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_h_fully.png
deleted file mode 100644
index f84ad32..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_h_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_1x_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_1x_fully.png
deleted file mode 100644
index d80a8ce..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_1x_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_3g_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_3g_fully.png
deleted file mode 100644
index a8411fc6..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_3g_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_e_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_e_fully.png
deleted file mode 100644
index ae90cc8..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_e_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_g_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_g_fully.png
deleted file mode 100644
index a487f29..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_g_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_h_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_h_fully.png
deleted file mode 100644
index 816085b..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_h_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_1x_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_1x_fully.png
deleted file mode 100644
index 0132019..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_1x_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_3g_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_3g_fully.png
deleted file mode 100644
index f7dda73..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_3g_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_e_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_e_fully.png
deleted file mode 100644
index ed099ff..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_e_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_g_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_g_fully.png
deleted file mode 100644
index c930e4c..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_g_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_h_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_h_fully.png
deleted file mode 100644
index 407a06c..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_h_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_nosignal_wifi.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_nosignal_wifi.png
deleted file mode 100644
index 98e874a..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_nosignal_wifi.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_1x_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_1x_fully.png
deleted file mode 100644
index 6141f72..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_1x_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_3g_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_3g_fully.png
deleted file mode 100644
index eb5150f..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_3g_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_e_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_e_fully.png
deleted file mode 100644
index 54ebd9b..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_e_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_g_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_g_fully.png
deleted file mode 100644
index 2fe0bbf..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_g_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_h_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_h_fully.png
deleted file mode 100644
index e58e019..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_h_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_usb.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_usb.png
deleted file mode 100644
index e916fbb..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_usb.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim0.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim0.png
deleted file mode 100644
index 9df7799..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim0.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim1.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim1.png
deleted file mode 100644
index c3defd7..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim1.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim2.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim2.png
deleted file mode 100644
index 1302a06..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim2.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim3.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim3.png
deleted file mode 100644
index c7f85bf..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim3.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim4.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim4.png
deleted file mode 100644
index 705dfd3..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim4.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim5.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim5.png
deleted file mode 100644
index c0bdb13..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim5.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_install_complete.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_install_complete.png
deleted file mode 100644
index c1478c40..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_install_complete.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call.png
deleted file mode 100644
index 9b5f075..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_bluetooth.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_bluetooth.png
deleted file mode 100644
index fecfe6c..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_bluetooth.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_emergency.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_emergency.png
deleted file mode 100644
index f69f82c..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_emergency.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_forward.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_forward.png
deleted file mode 100644
index 032f8f1..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_forward.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_on_hold.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_on_hold.png
deleted file mode 100644
index 5b0a68d..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_on_hold.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_3_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_3_cdma.png
deleted file mode 100644
index 1d2f966..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_3_cdma.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_4_cdma_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_4_cdma_fully.png
deleted file mode 100644
index 7ff8820..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_4_cdma_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_0.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_0.png
deleted file mode 100644
index d128053..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_0.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_1.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_1.png
deleted file mode 100644
index ecd46e9..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_1.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_1_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_1_fully.png
deleted file mode 100644
index 4462bce..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_1_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_2.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_2.png
deleted file mode 100644
index d635d8c..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_2.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_2_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_2_fully.png
deleted file mode 100644
index cfca5d2..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_2_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_3.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_3.png
deleted file mode 100644
index e470925..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_3.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_3_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_3_fully.png
deleted file mode 100644
index d290699..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_3_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_4.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_4.png
deleted file mode 100644
index ef47408..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_4.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_4_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_4_fully.png
deleted file mode 100644
index 26cb22b..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_4_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_0_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_0_cdma.png
deleted file mode 100644
index 901058a..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_0_cdma.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_1_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_1_cdma.png
deleted file mode 100644
index f5c5f98..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_1_cdma.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_1_cdma_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_1_cdma_fully.png
deleted file mode 100644
index f71a35c..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_1_cdma_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_2_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_2_cdma.png
deleted file mode 100644
index 82102b2..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_2_cdma.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_2_cdma_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_2_cdma_fully.png
deleted file mode 100644
index 6818f43..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_2_cdma_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_3_cdma_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_3_cdma_fully.png
deleted file mode 100644
index 7d8dc5b..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_3_cdma_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_4_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_4_cdma.png
deleted file mode 100644
index c08cc86..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_4_cdma.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_secure.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_secure.png
deleted file mode 100644
index 0889e49..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_secure.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0.png
index 2f66b1d..b16e436 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0_cdma.png
deleted file mode 100644
index af43e00..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0_cdma.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0_fully.png
index 2f66b1d..b16e436 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0_fully.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1.png
index b91eaf5..1b6ed74 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_cdma.png
deleted file mode 100644
index 4ffe421..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_cdma.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_cdma_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_cdma_fully.png
deleted file mode 100644
index cd8e314..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_cdma_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_fully.png
index cb1ad97..43e35d3 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_fully.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2.png
index 53217e4..498adbb 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_cdma.png
deleted file mode 100644
index 6f27b96..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_cdma.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_cdma_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_cdma_fully.png
deleted file mode 100644
index 416a544..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_cdma_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_fully.png
index 74ecb08..b7e42a0 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_fully.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3.png
index 08f357f..959fc5c 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_cdma.png
deleted file mode 100644
index ddc46b0..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_cdma.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_cdma_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_cdma_fully.png
deleted file mode 100644
index 341116e..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_cdma_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_fully.png
index 929c700..f905979 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_fully.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4.png
index b3bb321..6e8e73c 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_cdma.png
deleted file mode 100644
index fb3cfe9..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_cdma.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_cdma_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_cdma_fully.png
deleted file mode 100644
index ae83e93..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_cdma_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_fully.png
index 4644ac1..b5799c8 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_fully.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_0.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_0.png
deleted file mode 100644
index b697ca4..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_0.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_1.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_1.png
deleted file mode 100644
index a61de4d..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_1.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_1_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_1_fully.png
deleted file mode 100644
index 9fa018b..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_1_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_2.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_2.png
deleted file mode 100644
index 62e0393..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_2.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_2_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_2_fully.png
deleted file mode 100644
index 0324d9f..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_2_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_3.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_3.png
deleted file mode 100644
index 09eae9d..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_3.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_3_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_3_fully.png
deleted file mode 100644
index 1ffde3d..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_3_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_4.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_4.png
deleted file mode 100644
index 4012ac5..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_4.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_4_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_4_fully.png
deleted file mode 100644
index 22f7e42..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_4_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_0.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_0.png
deleted file mode 100644
index 5796a8a..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_0.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_1.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_1.png
deleted file mode 100644
index 3dec269..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_1.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_1_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_1_fully.png
deleted file mode 100644
index eeb7f67..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_1_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_2.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_2.png
deleted file mode 100644
index 2dcff93..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_2.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_2_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_2_fully.png
deleted file mode 100644
index aee093a..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_2_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_3.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_3.png
deleted file mode 100644
index 1b38450..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_3.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_3_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_3_fully.png
deleted file mode 100644
index a40017f..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_3_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_4.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_4.png
deleted file mode 100644
index 33bf3b3..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_4.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_4_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_4_fully.png
deleted file mode 100644
index c3b44ee..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_4_fully.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_speakerphone.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_speakerphone.png
deleted file mode 100644
index 21f96c4..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_speakerphone.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_bluetooth.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_bluetooth.png
deleted file mode 100644
index 4ebee58..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_bluetooth.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_general.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_general.png
deleted file mode 100644
index e23f7f9..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_general.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_usb.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_usb.png
deleted file mode 100644
index d432f9a..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_usb.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_wifi.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_wifi.png
deleted file mode 100644
index 74dfbba..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_wifi.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_throttled.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_throttled.png
deleted file mode 100644
index 58eafc0..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_throttled.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim0.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim0.png
deleted file mode 100644
index cefcecc..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim0.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim1.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim1.png
deleted file mode 100644
index 9d018d0..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim1.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim2.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim2.png
deleted file mode 100644
index 38a20a6..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim2.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim3.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim3.png
deleted file mode 100644
index f517809..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim3.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim4.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim4.png
deleted file mode 100644
index 3ae614e..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim4.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim5.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim5.png
deleted file mode 100644
index d0638ef..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim5.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_vp_phone_call.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_vp_phone_call.png
deleted file mode 100644
index 83e8ead..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_vp_phone_call.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_vp_phone_call_on_hold.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_vp_phone_call_on_hold.png
deleted file mode 100644
index 9731c46..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_vp_phone_call_on_hold.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_warning.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_warning.png
deleted file mode 100644
index cb8a3d4..0000000
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_warning.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/status_bar_header_background.9.png b/packages/SystemUI/res/drawable-hdpi/status_bar_header_background.9.png
deleted file mode 100644
index 79d77aa..0000000
--- a/packages/SystemUI/res/drawable-hdpi/status_bar_header_background.9.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_1x.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_1x.png
deleted file mode 100644
index 130724f..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_1x.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_3g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_3g.png
deleted file mode 100644
index a109280..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_3g.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_e.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_e.png
deleted file mode 100644
index c552644..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_e.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_g.png
deleted file mode 100644
index f7edb49..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_g.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_h.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_h.png
deleted file mode 100644
index 7d5413a..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_h.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_1x.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_1x.png
deleted file mode 100644
index 3155e632..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_1x.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_3g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_3g.png
deleted file mode 100644
index 01b003c..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_3g.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_e.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_e.png
deleted file mode 100644
index bffa0eb..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_e.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_g.png
deleted file mode 100644
index 8884b48..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_g.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_h.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_h.png
deleted file mode 100644
index 695b80c..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_h.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_1x.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_1x.png
deleted file mode 100644
index 1017e3bb..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_1x.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_3g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_3g.png
deleted file mode 100644
index 3651300..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_3g.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_e.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_e.png
deleted file mode 100644
index 99533e0..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_e.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_g.png
deleted file mode 100644
index f4e5a12..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_g.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_h.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_h.png
deleted file mode 100644
index 467acd1..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_h.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_1x.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_1x.png
deleted file mode 100644
index 5418791..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_1x.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_3g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_3g.png
deleted file mode 100644
index f7f0f89..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_3g.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_e.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_e.png
deleted file mode 100644
index c915426..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_e.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_g.png
deleted file mode 100644
index 5d36035..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_g.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_h.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_h.png
deleted file mode 100644
index da50305..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_h.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_0.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_0.png
deleted file mode 100644
index bfbf18e..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_0.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_1.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_1.png
deleted file mode 100644
index 896ba4d..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_1.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_2.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_2.png
deleted file mode 100644
index af79eff..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_2.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_3.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_3.png
deleted file mode 100644
index 92c09c8..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_3.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_4.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_4.png
deleted file mode 100644
index f04fb11..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_4.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0.png
deleted file mode 100644
index cb7b7b3..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1.png
deleted file mode 100644
index 5376e92..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2.png
deleted file mode 100644
index fd54363..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3.png
deleted file mode 100644
index 6c4873a..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4.png
deleted file mode 100644
index a3320cb..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_flightmode.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_flightmode.png
deleted file mode 100755
index 2f4fd4f..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_flightmode.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_null.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_null.png
deleted file mode 100644
index 5aa23f6..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_null.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0.png
deleted file mode 100644
index 8ee3421..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1.png
deleted file mode 100644
index 184fa36..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2.png
deleted file mode 100644
index 79935bb..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3.png
deleted file mode 100644
index d2099e6..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4.png
deleted file mode 100644
index 2062aad..0000000
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index 4b1fcf0f..6550438 100644
--- a/packages/SystemUI/res/values/colors.xml
+++ b/packages/SystemUI/res/values/colors.xml
@@ -19,4 +19,5 @@
 <resources>
     <drawable name="shade_bgcolor">#ff282828</drawable>
     <drawable name="notification_header_text_color">#ff969696</drawable>
+    <drawable name="notification_number_text_color">#ffffffff</drawable>
 </resources>
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/IconMerger.java b/packages/SystemUI/src/com/android/systemui/statusbar/IconMerger.java
index 027bed4a..e87d003 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/IconMerger.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/IconMerger.java
@@ -23,28 +23,34 @@
 import android.view.View;
 import android.widget.LinearLayout;
 
+import com.android.internal.statusbar.StatusBarIcon;
+
 import com.android.systemui.R;
 
 
 public class IconMerger extends LinearLayout {
     private static final String TAG = "IconMerger";
 
+    private int mIconSize;
     private StatusBarIconView mMoreView;
+    private StatusBarIcon mMoreIcon = new StatusBarIcon(null, R.drawable.stat_notify_more, 0);
 
     public IconMerger(Context context, AttributeSet attrs) {
         super(context, attrs);
+
+        mIconSize = context.getResources().getDimensionPixelSize(
+                com.android.internal.R.dimen.status_bar_icon_size);
+
+        mMoreView = new StatusBarIconView(context, "more");
+        mMoreView.set(mMoreIcon);
+        addView(mMoreView, 0, new LinearLayout.LayoutParams(mIconSize, mIconSize));
     }
 
-    public void addMoreView(StatusBarIconView v, LinearLayout.LayoutParams lp) {
-        super.addView(v, lp);
-        mMoreView = v;
-    }
-
-    public void addView(StatusBarIconView v, int index, LinearLayout.LayoutParams lp) {
+    public void addView(StatusBarIconView v, int index) {
         if (index == 0) {
             throw new RuntimeException("Attempt to put view before the more view: " + v);
         }
-        super.addView(v, index, lp);
+        addView(v, index, new LinearLayout.LayoutParams(mIconSize, mIconSize));
     }
 
     @Override
@@ -127,28 +133,8 @@
                 }
             }
         }
-        
-        // BUG: Updating the text during the layout here doesn't seem to cause
-        // the view to be redrawn fully.  The text view gets resized correctly, but the
-        // text contents aren't drawn properly.  To work around this, we post a message
-        // and provide the value later.  We're the only one changing this value show it
-        // should be ordered correctly.
-        if (false) {
-            // TODO this.moreIcon.update(number);
-        } else {
-            mBugWorkaroundNumber = number;
-            mBugWorkaroundHandler.post(mBugWorkaroundRunnable);
-        }
-    }
 
-    private int mBugWorkaroundNumber;
-    private Handler mBugWorkaroundHandler = new Handler();
-    private Runnable mBugWorkaroundRunnable = new Runnable() {
-        public void run() {
-            /* TODO
-            IconMerger.this.moreIcon.update(mBugWorkaroundNumber);
-            IconMerger.this.moreIcon.view.invalidate();
-            */
-        }
-    };
+        mMoreIcon.number = number;
+        mMoreView.set(mMoreIcon);
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java
index 0ca0572..8419e56 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java
@@ -21,22 +21,37 @@
 import android.content.res.Resources;
 import android.graphics.drawable.Drawable;
 import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.Rect;
 import android.util.Slog;
 import android.util.Log;
+import android.view.View;
 import android.view.ViewDebug;
 import android.widget.FrameLayout;
 
 import com.android.internal.statusbar.StatusBarIcon;
 
+import com.android.systemui.R;
+
 public class StatusBarIconView extends AnimatedImageView {
     private static final String TAG = "StatusBarIconView";
 
     private StatusBarIcon mIcon;
     @ViewDebug.ExportedProperty private String mSlot;
+    private Drawable mNumberBackground;
+    private Paint mNumberPain;
+    private int mNumberX;
+    private int mNumberY;
+    private String mNumberText;
 
     public StatusBarIconView(Context context, String slot) {
         super(context);
+        final Resources res = context.getResources();
         mSlot = slot;
+        mNumberPain = new Paint();
+        mNumberPain.setTextAlign(Paint.Align.CENTER);
+        mNumberPain.setColor(res.getColor(R.drawable.notification_number_text_color));
+        mNumberPain.setAntiAlias(true);
     }
 
     private static boolean streq(String a, String b) {
@@ -63,6 +78,9 @@
                 && mIcon.iconLevel == icon.iconLevel;
         final boolean visibilityEquals = mIcon != null
                 && mIcon.visible == icon.visible;
+        final boolean numberEquals = mIcon != null
+                && mIcon.number == icon.number;
+        mIcon = icon.clone();
         if (!iconEquals) {
             Drawable drawable = getIcon(icon);
             if (drawable == null) {
@@ -74,10 +92,22 @@
         if (!levelEquals) {
             setImageLevel(icon.iconLevel);
         }
+        if (!numberEquals) {
+            if (icon.number > 0) {
+                if (mNumberBackground == null) {
+                    mNumberBackground = getContext().getResources().getDrawable(
+                            R.drawable.ic_notification_overlay);
+                }
+                placeNumber();
+            } else {
+                mNumberBackground = null;
+                mNumberText = null;
+            }
+            invalidate();
+        }
         if (!visibilityEquals) {
             setVisibility(icon.visible ? VISIBLE : GONE);
         }
-        mIcon = icon.clone();
         return true;
     }
 
@@ -126,9 +156,47 @@
         return mIcon;
     }
 
+    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
+        super.onSizeChanged(w, h, oldw, oldh);
+        if (mNumberBackground != null) {
+            placeNumber();
+        }
+    }
+
+    protected void onDraw(Canvas canvas) {
+        super.onDraw(canvas);
+
+        if (mNumberBackground != null) {
+            mNumberBackground.draw(canvas);
+            canvas.drawText(mNumberText, mNumberX, mNumberY, mNumberPain);
+        }
+    }
+
     protected void debug(int depth) {
         super.debug(depth);
         Log.d("View", debugIndent(depth) + "slot=" + mSlot);
         Log.d("View", debugIndent(depth) + "icon=" + mIcon);
     }
+
+    void placeNumber() {
+        final String str = mNumberText = Integer.toString(mIcon.number);
+        final int w = getWidth();
+        final int h = getHeight();
+        final Rect r = new Rect();
+        mNumberPain.getTextBounds(str, 0, str.length(), r);
+        final int tw = r.right - r.left;
+        final int th = r.bottom - r.top;
+        mNumberBackground.getPadding(r);
+        int dw = r.left + tw + r.right;
+        if (dw < mNumberBackground.getMinimumWidth()) {
+            dw = mNumberBackground.getMinimumWidth();
+        }
+        mNumberX = w-r.right-((dw-r.right-r.left)/2);
+        int dh = r.top + th + r.bottom;
+        if (dh < mNumberBackground.getMinimumWidth()) {
+            dh = mNumberBackground.getMinimumWidth();
+        }
+        mNumberY = h-r.bottom-((dh-r.top-th-r.bottom)/2);
+        mNumberBackground.setBounds(w-dw, h-dh, w, h);
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarService.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarService.java
index ea54656..f3da2a3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarService.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarService.java
@@ -309,12 +309,6 @@
 
         mEdgeBorder = res.getDimensionPixelSize(R.dimen.status_bar_edge_ignore);
 
-        // the more notifications icon
-        StatusBarIconView moreView = new StatusBarIconView(this, "more");
-        moreView.set(new StatusBarIcon(null, R.drawable.stat_notify_more, 0));
-        mNotificationIcons.addMoreView(moreView,
-                new LinearLayout.LayoutParams(mIconSize, mIconSize));
-
         // set the inital view visibility
         setAreThereNotifications();
         mDateView.setVisibility(View.INVISIBLE);
@@ -580,8 +574,7 @@
         parent.addView(row, viewIndex);
         // Add the icon.
         final int iconIndex = chooseIconIndex(isOngoing, viewIndex);
-        mNotificationIcons.addView(iconView, iconIndex,
-                new LinearLayout.LayoutParams(mIconSize, mIconSize));
+        mNotificationIcons.addView(iconView, iconIndex);
         return iconView;
     }
 
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
index 538dae9..f21d357 100755
--- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
@@ -288,7 +288,8 @@
 
     int mLandscapeRotation = -1; // default landscape rotation
     int mSeascapeRotation = -1; // "other" landscape rotation, 180 degrees from mLandscapeRotation
-    int mPortraitRotation = -1;
+    int mPortraitRotation = -1; // default portrait rotation
+    int mUpsideDownRotation = -1; // "other" portrait rotation
 
     // Nothing to see here, move along...
     int mFancyRotationAnimation;
@@ -353,26 +354,25 @@
 
     boolean useSensorForOrientationLp(int appOrientation) {
         // The app says use the sensor.
-        if (appOrientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR) {
+        if (appOrientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR
+                || appOrientation == ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR
+                || appOrientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE
+                || appOrientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT) {
             return true;
         }
         // The user preference says we can rotate, and the app is willing to rotate.
-        // Note we include SCREEN_ORIENTATION_LANDSCAPE since we can use the sensor to choose
-        // between the two possible landscape rotations.
         if (mAccelerometerDefault != 0 &&
                 (appOrientation == ActivityInfo.SCREEN_ORIENTATION_USER
-                 || appOrientation == ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
-                 || appOrientation == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)) {
+                 || appOrientation == ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)) {
             return true;
         }
-        // We're in a dock that has a rotation affinity, an the app is willing to rotate.
+        // We're in a dock that has a rotation affinity, and the app is willing to rotate.
         if ((mCarDockEnablesAccelerometer && mDockMode == Intent.EXTRA_DOCK_STATE_CAR)
                 || (mDeskDockEnablesAccelerometer && mDockMode == Intent.EXTRA_DOCK_STATE_DESK)) {
             // Note we override the nosensor flag here.
             if (appOrientation == ActivityInfo.SCREEN_ORIENTATION_USER
                     || appOrientation == ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
-                    || appOrientation == ActivityInfo.SCREEN_ORIENTATION_NOSENSOR
-                    || appOrientation == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) {
+                    || appOrientation == ActivityInfo.SCREEN_ORIENTATION_NOSENSOR) {
                 return true;
             }
         }
@@ -386,7 +386,10 @@
      * screen is switched off.
      */
     boolean needSensorRunningLp() {
-        if (mCurrentAppOrientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR) {
+        if (mCurrentAppOrientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR
+                || mCurrentAppOrientation == ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR
+                || mCurrentAppOrientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT
+                || mCurrentAppOrientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE) {
             // If the application has explicitly requested to follow the
             // orientation, then we need to turn the sensor or.
             return true;
@@ -2060,21 +2063,42 @@
             if (d.getWidth() > d.getHeight()) {
                 mPortraitRotation = Surface.ROTATION_90;
                 mLandscapeRotation = Surface.ROTATION_0;
+                mUpsideDownRotation = Surface.ROTATION_270;
                 mSeascapeRotation = Surface.ROTATION_180;
             } else {
                 mPortraitRotation = Surface.ROTATION_0;
                 mLandscapeRotation = Surface.ROTATION_90;
+                mUpsideDownRotation = Surface.ROTATION_180;
                 mSeascapeRotation = Surface.ROTATION_270;
             }
         }
 
         synchronized (mLock) {
-            if (orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {
-                //always return portrait if orientation set to portrait
-                return mPortraitRotation;
-            } else if (orientation == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) {
-                return getCurrentLandscapeRotation(lastRotation);
+            switch (orientation) {
+                case ActivityInfo.SCREEN_ORIENTATION_PORTRAIT:
+                    //always return portrait if orientation set to portrait
+                    return mPortraitRotation;
+                case ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE:
+                    //always return landscape if orientation set to landscape
+                    return mLandscapeRotation;
+                case ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT:
+                    //always return portrait if orientation set to portrait
+                    return mUpsideDownRotation;
+                case ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE:
+                    //always return seascape if orientation set to reverse landscape
+                    return mSeascapeRotation;
+                case ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE:
+                    //return either landscape rotation based on the sensor
+                    mOrientationListener.setAllow180Rotation(false);
+                    return getCurrentLandscapeRotation(lastRotation);
+                case ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT:
+                    mOrientationListener.setAllow180Rotation(true);
+                    return getCurrentPortraitRotation(lastRotation);
             }
+
+            mOrientationListener.setAllow180Rotation(
+                    orientation == ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);
+
             // case for nosensor meaning ignore sensor and consider only lid
             // or orientation sensor disabled
             //or case.unspecified
@@ -2094,18 +2118,15 @@
     }
 
     private int getCurrentLandscapeRotation(int lastRotation) {
-        // landscape-only apps can take either landscape rotation
-        if (useSensorForOrientationLp(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)) {
-            int sensorRotation = mOrientationListener.getCurrentRotation(lastRotation);
-            if (isLandscapeOrSeascape(sensorRotation)) {
-                return sensorRotation;
-            }
+        int sensorRotation = mOrientationListener.getCurrentRotation(lastRotation);
+        if (isLandscapeOrSeascape(sensorRotation)) {
+            return sensorRotation;
         }
         // try to preserve the old rotation if it was landscape
         if (isLandscapeOrSeascape(lastRotation)) {
             return lastRotation;
         }
-        // default to one of the two landscape rotations
+        // default to one of the primary landscape rotation
         return mLandscapeRotation;
     }
 
@@ -2113,6 +2134,23 @@
         return sensorRotation == mLandscapeRotation || sensorRotation == mSeascapeRotation;
     }
 
+    private int getCurrentPortraitRotation(int lastRotation) {
+        int sensorRotation = mOrientationListener.getCurrentRotation(lastRotation);
+        if (isAnyPortrait(sensorRotation)) {
+            return sensorRotation;
+        }
+        // try to preserve the old rotation if it was portrait
+        if (isAnyPortrait(lastRotation)) {
+            return lastRotation;
+        }
+        // default to one of the primary portrait rotations
+        return mPortraitRotation;
+    }
+
+    private boolean isAnyPortrait(int sensorRotation) {
+        return sensorRotation == mPortraitRotation || sensorRotation == mUpsideDownRotation;
+    }
+
     public boolean detectSafeMode() {
         try {
             int menuState = mWindowManager.getKeycodeState(KeyEvent.KEYCODE_MENU);
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java
index 713524a..0de57ab 100644
--- a/services/java/com/android/server/WindowManagerService.java
+++ b/services/java/com/android/server/WindowManagerService.java
@@ -3066,11 +3066,8 @@
             }
             // If this application has requested an explicit orientation,
             // then use it.
-            if (or == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE ||
-                    or == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT ||
-                    or == ActivityInfo.SCREEN_ORIENTATION_SENSOR ||
-                    or == ActivityInfo.SCREEN_ORIENTATION_NOSENSOR ||
-                    or == ActivityInfo.SCREEN_ORIENTATION_USER) {
+            if (or != ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
+                    && or != ActivityInfo.SCREEN_ORIENTATION_BEHIND) {
                 return or;
             }
             findingBehind |= (or == ActivityInfo.SCREEN_ORIENTATION_BEHIND);
diff --git a/tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java b/tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java
index 21f3be4..cfce7bd 100644
--- a/tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java
+++ b/tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java
@@ -619,7 +619,7 @@
             }
         },
 
-        new Test("Persistent with numbers 222") {
+        new Test("Persistent with numbers 22") {
             public void run() {
                 mNM.notify(1, notificationWithNumbers(22));
             }
diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp
index 532fb65..29644a6 100644
--- a/tools/aapt/ResourceTable.cpp
+++ b/tools/aapt/ResourceTable.cpp
@@ -782,7 +782,6 @@
     const String16 translatable16("translatable");
     const String16 formatted16("formatted");
     const String16 false16("false");
-    const String16 product16("product");
 
     const String16 myPackage(assets->getPackage());
 
@@ -830,7 +829,6 @@
             bool curIsStyled = false;
             bool curIsPseudolocalizable = false;
             bool curIsFormatted = fileIsTranslatable;
-            String16 curProduct;
             bool localHasErrors = false;
 
             if (strcmp16(block.getElementName(&len), skip16.string()) == 0) {
@@ -1228,8 +1226,6 @@
                         translatable.setTo(block.getAttributeStringValue(i, &length));
                     } else if (strcmp16(attr, formatted16.string()) == 0) {
                         formatted.setTo(block.getAttributeStringValue(i, &length));
-                    } else if (strcmp16(attr, product16.string()) == 0) {
-                        curProduct.setTo(block.getAttributeStringValue(i, &length));
                     }
                 }
                 
@@ -1356,6 +1352,12 @@
                 hasErrors = localHasErrors = true;
             }
 
+            String16 product;
+            identIdx = block.indexOfAttribute(NULL, "product");
+            if (identIdx >= 0) {
+                product = String16(block.getAttributeStringValue(identIdx, &len));
+            }
+
             String16 comment(block.getComment(&len) ? block.getComment(&len) : nulStr);
             
             if (curIsBag) {
@@ -1447,7 +1449,7 @@
 
                         err = parseAndAddBag(bundle, in, &block, curParams, myPackage, curType,
                                 ident, parentIdent, itemIdent, curFormat, curIsFormatted,
-                                curProduct, false, overwrite, outTable);
+                                product, false, overwrite, outTable);
                         if (err == NO_ERROR) {
                             if (curIsPseudolocalizable && localeIsDefined(curParams)
                                     && bundle->getPseudolocalize()) {
@@ -1456,7 +1458,7 @@
                                 block.setPosition(parserPosition);
                                 err = parseAndAddBag(bundle, in, &block, pseudoParams, myPackage,
                                         curType, ident, parentIdent, itemIdent, curFormat,
-                                        curIsFormatted, curProduct, true, overwrite, outTable);
+                                        curIsFormatted, product, true, overwrite, outTable);
 #endif
                             }
                         } 
@@ -1480,7 +1482,7 @@
 
                 err = parseAndAddEntry(bundle, in, &block, curParams, myPackage, curType, ident,
                         *curTag, curIsStyled, curFormat, curIsFormatted,
-                        curProduct, false, overwrite, outTable);
+                        product, false, overwrite, outTable);
 
                 if (err < NO_ERROR) { // Why err < NO_ERROR instead of err != NO_ERROR?
                     hasErrors = localHasErrors = true;
@@ -1492,7 +1494,7 @@
                         block.setPosition(parserPosition);
                         err = parseAndAddEntry(bundle, in, &block, pseudoParams, myPackage, curType,
                                 ident, *curTag, curIsStyled, curFormat,
-                                curIsFormatted, curProduct,
+                                curIsFormatted, product,
                                 true, overwrite, outTable);
                         if (err != NO_ERROR) {
                             hasErrors = localHasErrors = true;