Merge "No need to pass an AssetManager to native when creating a WebView"
diff --git a/api/current.txt b/api/current.txt
index f8d3e06..3ea70b7 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -16037,6 +16037,12 @@
field public static final java.lang.String GROUP_SOURCE_ID = "group_sourceid";
}
+ public static final class ContactsContract.CommonDataKinds.Identity implements android.provider.ContactsContract.DataColumnsWithJoins {
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/identity";
+ field public static final java.lang.String IDENTITY = "data1";
+ field public static final java.lang.String NAMESPACE = "data2";
+ }
+
public static final class ContactsContract.CommonDataKinds.Im implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
method public static final java.lang.CharSequence getProtocolLabel(android.content.res.Resources, int, java.lang.CharSequence);
method public static final int getProtocolLabelResource(int);
@@ -20730,7 +20736,7 @@
method public void writeToParcel(android.os.Parcel, int);
}
- public class SuggestionSpan implements android.text.ParcelableSpan {
+ public class SuggestionSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan {
ctor public SuggestionSpan(android.content.Context, java.lang.String[], int);
ctor public SuggestionSpan(java.util.Locale, java.lang.String[], int);
ctor public SuggestionSpan(android.content.Context, java.util.Locale, java.lang.String[], int, java.lang.Class<?>);
@@ -20740,10 +20746,12 @@
method public java.lang.String getLocale();
method public int getSpanTypeId();
method public java.lang.String[] getSuggestions();
+ method public void updateDrawState(android.text.TextPaint);
method public void writeToParcel(android.os.Parcel, int);
field public static final java.lang.String ACTION_SUGGESTION_PICKED = "android.text.style.SUGGESTION_PICKED";
field public static final android.os.Parcelable.Creator CREATOR;
- field public static final int FLAG_VERBATIM = 1; // 0x1
+ field public static final int FLAG_EASY_CORRECT = 1; // 0x1
+ field public static final int FLAG_MISSPELLED = 2; // 0x2
field public static final int SUGGESTIONS_MAX_SIZE = 5; // 0x5
field public static final java.lang.String SUGGESTION_SPAN_PICKED_AFTER = "after";
field public static final java.lang.String SUGGESTION_SPAN_PICKED_BEFORE = "before";
@@ -22479,12 +22487,14 @@
method public android.graphics.Bitmap getBitmap(android.graphics.Bitmap);
method public android.graphics.SurfaceTexture getSurfaceTexture();
method public android.view.TextureView.SurfaceTextureListener getSurfaceTextureListener();
+ method public android.graphics.Matrix getTransform(android.graphics.Matrix);
method public boolean isAvailable();
method public android.graphics.Canvas lockCanvas();
method public android.graphics.Canvas lockCanvas(android.graphics.Rect);
method protected final void onDraw(android.graphics.Canvas);
method public void setOpaque(boolean);
method public void setSurfaceTextureListener(android.view.TextureView.SurfaceTextureListener);
+ method public void setTransform(android.graphics.Matrix);
method public void unlockCanvasAndPost(android.graphics.Canvas);
}
@@ -23471,6 +23481,7 @@
method public abstract void setTitleColor(int);
method public void setType(int);
method public void setUiOptions(int);
+ method public void setUiOptions(int, int);
method public abstract void setVolumeControlStream(int);
method public void setWindowAnimations(int);
method public void setWindowManager(android.view.WindowManager, android.os.IBinder, java.lang.String);
diff --git a/cmds/am/src/com/android/commands/am/Am.java b/cmds/am/src/com/android/commands/am/Am.java
index 2937d27..293116cb 100644
--- a/cmds/am/src/com/android/commands/am/Am.java
+++ b/cmds/am/src/com/android/commands/am/Am.java
@@ -28,6 +28,8 @@
import android.content.Context;
import android.content.IIntentReceiver;
import android.content.Intent;
+import android.content.pm.IPackageManager;
+import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.os.Bundle;
import android.os.ParcelFileDescriptor;
@@ -44,8 +46,8 @@
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.URISyntaxException;
-import java.util.Iterator;
-import java.util.Set;
+import java.util.HashSet;
+import java.util.List;
public class Am {
@@ -56,6 +58,7 @@
private boolean mDebugOption = false;
private boolean mWaitOption = false;
+ private boolean mStopOption = false;
private String mProfileFile;
private boolean mProfileAutoStop;
@@ -77,7 +80,7 @@
showUsage();
System.err.println("Error: " + e.getMessage());
} catch (Exception e) {
- System.err.println(e.toString());
+ e.printStackTrace(System.err);
System.exit(1);
}
}
@@ -129,6 +132,8 @@
mDebugOption = false;
mWaitOption = false;
+ mStopOption = false;
+ mProfileFile = null;
Uri data = null;
String type = null;
@@ -258,6 +263,8 @@
} else if (opt.equals("--start-profiler")) {
mProfileFile = nextArgRequired();
mProfileAutoStop = false;
+ } else if (opt.equals("-S")) {
+ mStopOption = true;
} else {
System.err.println("Error: Unknown option: " + opt);
showUsage();
@@ -266,23 +273,43 @@
}
intent.setDataAndType(data, type);
- String uri = nextArg();
- if (uri != null) {
- Intent oldIntent = intent;
- intent = Intent.parseUri(uri, 0);
- if (oldIntent.getAction() != null) {
- intent.setAction(oldIntent.getAction());
+ String arg = nextArg();
+ if (arg != null) {
+ Intent baseIntent;
+ if (arg.indexOf(':') >= 0) {
+ // The argument is a URI. Fully parse it, and use that result
+ // to fill in any data not specified so far.
+ baseIntent = Intent.parseUri(arg, Intent.URI_INTENT_SCHEME);
+ } else if (arg.indexOf('/') >= 0) {
+ // The argument is a component name. Build an Intent to launch
+ // it.
+ baseIntent = new Intent(Intent.ACTION_MAIN);
+ baseIntent.addCategory(Intent.CATEGORY_LAUNCHER);
+ baseIntent.setComponent(ComponentName.unflattenFromString(arg));
+ } else {
+ // Assume the argument is a package name.
+ baseIntent = new Intent(Intent.ACTION_MAIN);
+ baseIntent.addCategory(Intent.CATEGORY_LAUNCHER);
+ baseIntent.setPackage(arg);
}
- if (oldIntent.getData() != null || oldIntent.getType() != null) {
- intent.setDataAndType(oldIntent.getData(), oldIntent.getType());
- }
- Set cats = oldIntent.getCategories();
- if (cats != null) {
- Iterator it = cats.iterator();
- while (it.hasNext()) {
- intent.addCategory((String)it.next());
+ Bundle extras = intent.getExtras();
+ intent.replaceExtras((Bundle)null);
+ Bundle uriExtras = baseIntent.getExtras();
+ baseIntent.replaceExtras((Bundle)null);
+ if (intent.getAction() != null && baseIntent.getCategories() != null) {
+ HashSet<String> cats = new HashSet<String>(baseIntent.getCategories());
+ for (String c : cats) {
+ baseIntent.removeCategory(c);
}
}
+ intent.fillIn(baseIntent, Intent.FILL_IN_COMPONENT);
+ if (extras == null) {
+ extras = uriExtras;
+ } else if (uriExtras != null) {
+ uriExtras.putAll(extras);
+ extras = uriExtras;
+ }
+ intent.replaceExtras(extras);
hasIntentInfo = true;
}
@@ -301,6 +328,41 @@
private void runStart() throws Exception {
Intent intent = makeIntent();
+
+ String mimeType = intent.getType();
+ if (mimeType == null && intent.getData() != null
+ && "content".equals(intent.getData().getScheme())) {
+ mimeType = mAm.getProviderMimeType(intent.getData());
+ }
+
+ if (mStopOption) {
+ String packageName;
+ if (intent.getComponent() != null) {
+ packageName = intent.getComponent().getPackageName();
+ } else {
+ IPackageManager pm = IPackageManager.Stub.asInterface(
+ ServiceManager.getService("package"));
+ if (pm == null) {
+ System.err.println("Error: Package manager not running; aborting");
+ return;
+ }
+ List<ResolveInfo> activities = pm.queryIntentActivities(intent, mimeType, 0);
+ if (activities == null || activities.size() <= 0) {
+ System.err.println("Error: Intent does not match any activities: "
+ + intent);
+ return;
+ } else if (activities.size() > 1) {
+ System.err.println("Error: Intent matches multiple activities; can't stop: "
+ + intent);
+ return;
+ }
+ packageName = activities.get(0).activityInfo.packageName;
+ }
+ System.out.println("Stopping: " + packageName);
+ mAm.forceStopPackage(packageName);
+ Thread.sleep(250);
+ }
+
System.out.println("Starting: " + intent);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
@@ -319,16 +381,15 @@
}
}
- // XXX should do something to determine the MIME type.
IActivityManager.WaitResult result = null;
int res;
if (mWaitOption) {
- result = mAm.startActivityAndWait(null, intent, intent.getType(),
+ result = mAm.startActivityAndWait(null, intent, mimeType,
null, 0, null, null, 0, false, mDebugOption,
mProfileFile, fd, mProfileAutoStop);
res = result.result;
} else {
- res = mAm.startActivity(null, intent, intent.getType(),
+ res = mAm.startActivity(null, intent, mimeType,
null, 0, null, null, 0, false, mDebugOption,
mProfileFile, fd, mProfileAutoStop);
}
@@ -1103,7 +1164,7 @@
private static void showUsage() {
System.err.println(
"usage: am [subcommand] [options]\n" +
- "usage: am start [-D] [-W] [-P <FILE>] [--start-profiler <FILE>] <INTENT>\n" +
+ "usage: am start [-D] [-W] [-P <FILE>] [--start-profiler <FILE>] [-S] <INTENT>\n" +
" am startservice <INTENT>\n" +
" am force-stop <PACKAGE>\n" +
" am broadcast <INTENT>\n" +
@@ -1121,6 +1182,7 @@
" -W: wait for launch to complete\n" +
" --start-profiler <FILE>: start profiler and send results to <FILE>\n" +
" -P <FILE>: like above, but profiling stops when app goes idle\n" +
+ " -S: force stop the target app before starting the activity\n" +
"\n" +
"am startservice: start a Service.\n" +
"\n" +
@@ -1175,7 +1237,7 @@
" [--activity-single-top] [--activity-clear-task]\n" +
" [--activity-task-on-home]\n" +
" [--receiver-registered-only] [--receiver-replace-pending]\n" +
- " [<URI>]\n"
+ " [<URI> | <PACKAGE> | <COMPONENT>]\n"
);
}
}
diff --git a/cmds/pm/src/com/android/commands/pm/Pm.java b/cmds/pm/src/com/android/commands/pm/Pm.java
index c980715..0ec007c 100644
--- a/cmds/pm/src/com/android/commands/pm/Pm.java
+++ b/cmds/pm/src/com/android/commands/pm/Pm.java
@@ -772,18 +772,33 @@
}
}
- String apkFilePath = nextArg();
+ final Uri apkURI;
+ final Uri verificationURI;
+
+ // Populate apkURI, must be present
+ final String apkFilePath = nextArg();
System.err.println("\tpkg: " + apkFilePath);
- if (apkFilePath == null) {
+ if (apkFilePath != null) {
+ apkURI = Uri.fromFile(new File(apkFilePath));
+ } else {
System.err.println("Error: no package specified");
showUsage();
return;
}
+ // Populate verificationURI, optionally present
+ final String verificationFilePath = nextArg();
+ if (verificationFilePath != null) {
+ System.err.println("\tver: " + verificationFilePath);
+ verificationURI = Uri.fromFile(new File(verificationFilePath));
+ } else {
+ verificationURI = null;
+ }
+
PackageInstallObserver obs = new PackageInstallObserver();
try {
- mPm.installPackage(Uri.fromFile(new File(apkFilePath)), obs, installFlags,
- installerPackageName);
+ mPm.installPackageWithVerification(apkURI, obs, installFlags, installerPackageName,
+ verificationURI, null);
synchronized (obs) {
while (!obs.finished) {
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java
index 4cff12f..4b2a8d2 100644
--- a/core/java/android/app/ApplicationPackageManager.java
+++ b/core/java/android/app/ApplicationPackageManager.java
@@ -41,11 +41,11 @@
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
import android.content.pm.UserInfo;
+import android.content.pm.ManifestDigest;
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
import android.graphics.drawable.Drawable;
import android.net.Uri;
-import android.os.Parcel;
import android.os.Process;
import android.os.RemoteException;
import android.util.Log;
@@ -941,6 +941,27 @@
}
@Override
+ public void installPackageWithVerification(Uri packageURI, IPackageInstallObserver observer,
+ int flags, String installerPackageName, Uri verificationURI,
+ ManifestDigest manifestDigest) {
+ try {
+ mPM.installPackageWithVerification(packageURI, observer, flags, installerPackageName,
+ verificationURI, manifestDigest);
+ } catch (RemoteException e) {
+ // Should never happen!
+ }
+ }
+
+ @Override
+ public void verifyPendingInstall(int id, boolean verified, String failureMessage) {
+ try {
+ mPM.verifyPendingInstall(id, verified, failureMessage);
+ } catch (RemoteException e) {
+ // Should never happen!
+ }
+ }
+
+ @Override
public void setInstallerPackageName(String targetPackage,
String installerPackageName) {
try {
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index 2579ced..8d6cee1 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -1530,6 +1530,18 @@
public static final String ACTION_PACKAGE_FIRST_LAUNCH = "android.intent.action.PACKAGE_FIRST_LAUNCH";
/**
+ * Broadcast Action: Sent to the system package verifier when a package
+ * needs to be verified. The data contains the package URI.
+ * <p class="note">
+ * This is a protected intent that can only be sent by the system.
+ * </p>
+ *
+ * @hide
+ */
+ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
+ public static final String ACTION_PACKAGE_NEEDS_VERIFICATION = "android.intent.action.PACKAGE_NEEDS_VERIFICATION";
+
+ /**
* Broadcast Action: Resources for a set of packages (which were
* previously unavailable) are currently
* available since the media on which they exist is available.
diff --git a/core/java/android/content/pm/IPackageManager.aidl b/core/java/android/content/pm/IPackageManager.aidl
index 37b6822..d7607e3 100644
--- a/core/java/android/content/pm/IPackageManager.aidl
+++ b/core/java/android/content/pm/IPackageManager.aidl
@@ -30,6 +30,7 @@
import android.content.pm.IPackageStatsObserver;
import android.content.pm.InstrumentationInfo;
import android.content.pm.PackageInfo;
+import android.content.pm.ManifestDigest;
import android.content.pm.ParceledListSlice;
import android.content.pm.ProviderInfo;
import android.content.pm.PermissionGroupInfo;
@@ -346,4 +347,10 @@
UserInfo createUser(in String name, int flags);
boolean removeUser(int userId);
+
+ void installPackageWithVerification(in Uri packageURI, in IPackageInstallObserver observer,
+ int flags, in String installerPackageName, in Uri verificationURI,
+ in ManifestDigest manifestDigest);
+
+ void verifyPendingInstall(int id, boolean verified, in String message);
}
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index dd684cd..5c641f1 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -23,6 +23,7 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.content.IntentSender;
+import android.content.pm.ManifestDigest;
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
import android.graphics.drawable.Drawable;
@@ -289,11 +290,19 @@
public static final int INSTALL_EXTERNAL = 0x00000008;
/**
- * Flag parameter for {@link #installPackage} to indicate that this
- * package has to be installed on the sdcard.
- * @hide
- */
- public static final int INSTALL_INTERNAL = 0x00000010;
+ * Flag parameter for {@link #installPackage} to indicate that this package
+ * has to be installed on the sdcard.
+ * @hide
+ */
+ public static final int INSTALL_INTERNAL = 0x00000010;
+
+ /**
+ * Flag parameter for {@link #installPackage} to indicate that this install
+ * was initiated via ADB.
+ *
+ * @hide
+ */
+ public static final int INSTALL_FROM_ADB = 0x00000020;
/**
* Flag parameter for
@@ -483,6 +492,30 @@
public static final int INSTALL_FAILED_MEDIA_UNAVAILABLE = -20;
/**
+ * Installation return code: this is passed to the {@link IPackageInstallObserver} by
+ * {@link #installPackage(android.net.Uri, IPackageInstallObserver, int)} if
+ * the new package couldn't be installed because the verification timed out.
+ * @hide
+ */
+ public static final int INSTALL_FAILED_VERIFICATION_TIMEOUT = -21;
+
+ /**
+ * Installation return code: this is passed to the {@link IPackageInstallObserver} by
+ * {@link #installPackage(android.net.Uri, IPackageInstallObserver, int)} if
+ * the new package couldn't be installed because the verification did not succeed.
+ * @hide
+ */
+ public static final int INSTALL_FAILED_VERIFICATION_FAILURE = -22;
+
+ /**
+ * Installation return code: this is passed to the {@link IPackageInstallObserver} by
+ * {@link #installPackage(android.net.Uri, IPackageInstallObserver, int)} if
+ * the package changed from what the calling program expected.
+ * @hide
+ */
+ public static final int INSTALL_FAILED_PACKAGE_CHANGED = -23;
+
+ /**
* Installation parse return code: this is passed to the {@link IPackageInstallObserver} by
* {@link #installPackage(android.net.Uri, IPackageInstallObserver, int)}
* if the parser was given a path that is not a file, or does not end with the expected
@@ -995,35 +1028,63 @@
= "android.content.pm.CLEAN_EXTERNAL_STORAGE";
/**
+ * Extra field name for the URI to a verification file. Passed to a package
+ * verifier.
+ *
+ * @hide
+ */
+ public static final String EXTRA_VERIFICATION_URI = "android.content.pm.extra.VERIFICATION_URI";
+
+ /**
+ * Extra field name for the ID of a package pending verification. Passed to
+ * a package verifier and is used to call back to
+ * {@link PackageManager#verifyPendingInstall(int, boolean)}
+ *
+ * @hide
+ */
+ public static final String EXTRA_VERIFICATION_ID = "android.content.pm.extra.VERIFICATION_ID";
+
+ /**
+ * Extra field name for the package identifier which is trying to install
+ * the package.
+ *
+ * @hide
+ */
+ public static final String EXTRA_VERIFICATION_INSTALLER_PACKAGE
+ = "android.content.pm.extra.VERIFICATION_INSTALLER_PACKAGE";
+
+ /**
+ * Extra field name for the requested install flags for a package pending
+ * verification. Passed to a package verifier.
+ *
+ * @hide
+ */
+ public static final String EXTRA_VERIFICATION_INSTALL_FLAGS
+ = "android.content.pm.extra.VERIFICATION_INSTALL_FLAGS";
+
+ /**
* Retrieve overall information about an application package that is
* installed on the system.
- *
- * <p>Throws {@link NameNotFoundException} if a package with the given
- * name can not be found on the system.
+ * <p>
+ * Throws {@link NameNotFoundException} if a package with the given name can
+ * not be found on the system.
*
* @param packageName The full name (i.e. com.google.apps.contacts) of the
- * desired package.
-
+ * desired package.
* @param flags Additional option flags. Use any combination of
- * {@link #GET_ACTIVITIES},
- * {@link #GET_GIDS},
- * {@link #GET_CONFIGURATIONS},
- * {@link #GET_INSTRUMENTATION},
- * {@link #GET_PERMISSIONS},
- * {@link #GET_PROVIDERS},
- * {@link #GET_RECEIVERS},
- * {@link #GET_SERVICES},
- * {@link #GET_SIGNATURES},
- * {@link #GET_UNINSTALLED_PACKAGES} to modify the data returned.
- *
- * @return Returns a PackageInfo object containing information about the package.
- * If flag GET_UNINSTALLED_PACKAGES is set and if the package is not
- * found in the list of installed applications, the package information is
- * retrieved from the list of uninstalled applications(which includes
- * installed applications as well as applications
- * with data directory ie applications which had been
+ * {@link #GET_ACTIVITIES}, {@link #GET_GIDS},
+ * {@link #GET_CONFIGURATIONS}, {@link #GET_INSTRUMENTATION},
+ * {@link #GET_PERMISSIONS}, {@link #GET_PROVIDERS},
+ * {@link #GET_RECEIVERS}, {@link #GET_SERVICES},
+ * {@link #GET_SIGNATURES}, {@link #GET_UNINSTALLED_PACKAGES} to
+ * modify the data returned.
+ * @return Returns a PackageInfo object containing information about the
+ * package. If flag GET_UNINSTALLED_PACKAGES is set and if the
+ * package is not found in the list of installed applications, the
+ * package information is retrieved from the list of uninstalled
+ * applications(which includes installed applications as well as
+ * applications with data directory ie applications which had been
* deleted with DONT_DELTE_DATA flag set).
- *
* @see #GET_ACTIVITIES
* @see #GET_GIDS
* @see #GET_CONFIGURATIONS
@@ -1034,7 +1095,6 @@
* @see #GET_SERVICES
* @see #GET_SIGNATURES
* @see #GET_UNINSTALLED_PACKAGES
- *
*/
public abstract PackageInfo getPackageInfo(String packageName, int flags)
throws NameNotFoundException;
@@ -2061,6 +2121,46 @@
String installerPackageName);
/**
+ * Similar to
+ * {@link #installPackage(Uri, IPackageInstallObserver, int, String)} but
+ * with an extra verification file provided.
+ *
+ * @param packageURI The location of the package file to install. This can
+ * be a 'file:' or a 'content:' URI.
+ * @param observer An observer callback to get notified when the package
+ * installation is complete.
+ * {@link IPackageInstallObserver#packageInstalled(String, int)}
+ * will be called when that happens. observer may be null to
+ * indicate that no callback is desired.
+ * @param flags - possible values: {@link #INSTALL_FORWARD_LOCK},
+ * {@link #INSTALL_REPLACE_EXISTING}, {@link #INSTALL_ALLOW_TEST}
+ * .
+ * @param installerPackageName Optional package name of the application that
+ * is performing the installation. This identifies which market
+ * the package came from.
+ * @param verificationURI The location of the supplementary verification
+ * file. This can be a 'file:' or a 'content:' URI.
+ * @hide
+ */
+ public abstract void installPackageWithVerification(Uri packageURI,
+ IPackageInstallObserver observer, int flags, String installerPackageName,
+ Uri verificationURI, ManifestDigest manifestDigest);
+
+ /**
+ * Allows a package listening to the
+ * {@link Intent#ACTION_PACKAGE_NEEDS_VERIFICATION package verification
+ * broadcast} to respond to the package manager.
+ *
+ * @param id pending package identifier as passed via the
+ * {@link PackageManager#EXTRA_VERIFICATION_ID} Intent extra
+ * @param verified whether the package was verified as valid
+ * @param failureMessage if verification was false, this is the error
+ * message that may be shown to the user
+ * @hide
+ */
+ public abstract void verifyPendingInstall(int id, boolean verified, String failureMessage);
+
+ /**
* Change the installer associated with a given package. There are limitations
* on how the installer package can be changed; in particular:
* <ul>
diff --git a/core/java/android/content/pm/Signature.java b/core/java/android/content/pm/Signature.java
index b32664e..c6aefb8 100644
--- a/core/java/android/content/pm/Signature.java
+++ b/core/java/android/content/pm/Signature.java
@@ -16,7 +16,6 @@
package android.content.pm;
-import android.content.ComponentName;
import android.os.Parcel;
import android.os.Parcelable;
@@ -40,26 +39,41 @@
mSignature = signature.clone();
}
+ private static final int parseHexDigit(int nibble) {
+ if ('0' <= nibble && nibble <= '9') {
+ return nibble - '0';
+ } else if ('a' <= nibble && nibble <= 'f') {
+ return nibble - 'a' + 10;
+ } else if ('A' <= nibble && nibble <= 'F') {
+ return nibble - 'A' + 10;
+ } else {
+ throw new IllegalArgumentException("Invalid character " + nibble + " in hex string");
+ }
+ }
+
/**
* Create Signature from a text representation previously returned by
- * {@link #toChars} or {@link #toCharsString()}.
+ * {@link #toChars} or {@link #toCharsString()}. Signatures are expected to
+ * be a hex-encoded ASCII string.
+ *
+ * @param text hex-encoded string representing the signature
+ * @throws IllegalArgumentException when signature is odd-length
*/
public Signature(String text) {
final byte[] input = text.getBytes();
final int N = input.length;
+
+ if (N % 2 != 0) {
+ throw new IllegalArgumentException("text size " + N + " is not even");
+ }
+
final byte[] sig = new byte[N / 2];
int sigIndex = 0;
for (int i = 0; i < N;) {
- int b;
-
- final int hi = input[i++];
- b = (hi >= 'a' ? (hi - 'a' + 10) : (hi - '0')) << 4;
-
- final int lo = input[i++];
- b |= (lo >= 'a' ? (lo - 'a' + 10) : (lo - '0')) & 0x0F;
-
- sig[sigIndex++] = (byte) (b & 0xFF);
+ final int hi = parseHexDigit(input[i++]);
+ final int lo = parseHexDigit(input[i++]);
+ sig[sigIndex++] = (byte) ((hi << 4) | lo);
}
mSignature = sig;
@@ -100,8 +114,7 @@
}
/**
- * Return the result of {@link #toChars()} as a String. This result is
- * cached so future calls will return the same String.
+ * Return the result of {@link #toChars()} as a String.
*/
public String toCharsString() {
String str = mStringRef == null ? null : mStringRef.get();
@@ -127,7 +140,7 @@
try {
if (obj != null) {
Signature other = (Signature)obj;
- return Arrays.equals(mSignature, other.mSignature);
+ return this == other || Arrays.equals(mSignature, other.mSignature);
}
} catch (ClassCastException e) {
}
diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java
index eb9cd21..53fd50d 100644
--- a/core/java/android/net/ConnectivityManager.java
+++ b/core/java/android/net/ConnectivityManager.java
@@ -260,11 +260,18 @@
*/
public static final int TYPE_MOBILE_CBS = 12;
- /** {@hide} */
- public static final int MAX_RADIO_TYPE = TYPE_MOBILE_CBS;
+ /**
+ * A Wi-Fi p2p connection. Only requesting processes will have access to
+ * the peers connected.
+ * {@hide}
+ */
+ public static final int TYPE_WIFI_P2P = 13;
/** {@hide} */
- public static final int MAX_NETWORK_TYPE = TYPE_MOBILE_CBS;
+ public static final int MAX_RADIO_TYPE = TYPE_WIFI_P2P;
+
+ /** {@hide} */
+ public static final int MAX_NETWORK_TYPE = TYPE_WIFI_P2P;
public static final int DEFAULT_NETWORK_PREFERENCE = TYPE_WIFI;
@@ -303,6 +310,8 @@
return "MOBILE_IMS";
case TYPE_MOBILE_CBS:
return "MOBILE_CBS";
+ case TYPE_WIFI_P2P:
+ return "WIFI_P2P";
default:
return Integer.toString(type);
}
diff --git a/core/java/android/net/DhcpInfoInternal.java b/core/java/android/net/DhcpInfoInternal.java
index 860da0a..9b0a2d7 100644
--- a/core/java/android/net/DhcpInfoInternal.java
+++ b/core/java/android/net/DhcpInfoInternal.java
@@ -100,7 +100,8 @@
if (TextUtils.isEmpty(dns1) == false) {
p.addDns(NetworkUtils.numericToInetAddress(dns1));
} else {
- Log.d(TAG, "makeLinkProperties with empty dns1!");
+ p.addDns(NetworkUtils.numericToInetAddress(serverAddress));
+ Log.d(TAG, "empty dns1, use dhcp server as dns1!");
}
if (TextUtils.isEmpty(dns2) == false) {
p.addDns(NetworkUtils.numericToInetAddress(dns2));
diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java
index d867e35..a66fa81 100644
--- a/core/java/android/provider/ContactsContract.java
+++ b/core/java/android/provider/ContactsContract.java
@@ -6455,6 +6455,37 @@
}
}
}
+
+ /**
+ * A data kind representing an Identity related to the contact.
+ * <p>
+ * This can be used as a signal by the aggregator to combine raw contacts into
+ * contacts, e.g. if two contacts have Identity rows with
+ * the same NAMESPACE and IDENTITY values the aggregator can know that they refer
+ * to the same person.
+ * </p>
+ */
+ public static final class Identity implements DataColumnsWithJoins {
+ /**
+ * This utility class cannot be instantiated
+ */
+ private Identity() {}
+
+ /** MIME type used when storing this in data table. */
+ public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/identity";
+
+ /**
+ * The identity string.
+ * <P>Type: TEXT</P>
+ */
+ public static final String IDENTITY = DataColumns.DATA1;
+
+ /**
+ * The namespace of the identity string, e.g. "com.google"
+ * <P>Type: TEXT</P>
+ */
+ public static final String NAMESPACE = DataColumns.DATA2;
+ }
}
/**
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index f8702b9..de06f20 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -3960,6 +3960,12 @@
public static final String WEB_AUTOFILL_QUERY_URL =
"web_autofill_query_url";
+ /** Whether package verification is enabled. {@hide} */
+ public static final String PACKAGE_VERIFIER_ENABLE = "verifier_enable";
+
+ /** Timeout for package verification. {@hide} */
+ public static final String PACKAGE_VERIFIER_TIMEOUT = "verifier_timeout";
+
/**
* @hide
*/
diff --git a/core/java/android/text/style/SuggestionSpan.java b/core/java/android/text/style/SuggestionSpan.java
index 555aac5..fb94bc7 100644
--- a/core/java/android/text/style/SuggestionSpan.java
+++ b/core/java/android/text/style/SuggestionSpan.java
@@ -17,10 +17,13 @@
package android.text.style;
import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Color;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.SystemClock;
import android.text.ParcelableSpan;
+import android.text.TextPaint;
import android.text.TextUtils;
import android.widget.TextView;
@@ -34,23 +37,36 @@
* display a popup dialog listing suggestion replacement for that text. The user can then replace
* the original text by one of the suggestions.
*
- * These spans should typically be created by the input method to privide correction and alternates
+ * These spans should typically be created by the input method to provide correction and alternates
* for the text.
*
* @see TextView#setSuggestionsEnabled(boolean)
*/
-public class SuggestionSpan implements ParcelableSpan {
+public class SuggestionSpan extends CharacterStyle implements ParcelableSpan {
+
/**
- * Flag for indicating that the input is verbatim. TextView refers to this flag to determine
- * how it displays a word with SuggestionSpan.
+ * Sets this flag if the suggestions should be easily accessible with few interactions.
+ * This flag should be set for every suggestions that the user is likely to use.
*/
- public static final int FLAG_VERBATIM = 0x0001;
+ public static final int FLAG_EASY_CORRECT = 0x0001;
+
+ /**
+ * Sets this flag if the suggestions apply to a misspelled word/text. This type of suggestion is
+ * rendered differently to highlight the error.
+ */
+ public static final int FLAG_MISSPELLED = 0x0002;
public static final String ACTION_SUGGESTION_PICKED = "android.text.style.SUGGESTION_PICKED";
public static final String SUGGESTION_SPAN_PICKED_AFTER = "after";
public static final String SUGGESTION_SPAN_PICKED_BEFORE = "before";
public static final String SUGGESTION_SPAN_PICKED_HASHCODE = "hashcode";
+ /**
+ * The default underline thickness as a percentage of the system's default underline thickness
+ * (i.e., 100 means the default thickness, and 200 is a double thickness).
+ */
+ private static final int DEFAULT_UNDERLINE_PERCENTAGE = 100;
+
public static final int SUGGESTIONS_MAX_SIZE = 5;
/*
@@ -66,6 +82,11 @@
private final String mNotificationTargetClassName;
private final int mHashCode;
+ private float mMisspelledUnderlineThickness;
+ private int mMisspelledUnderlineColor;
+ private float mEasyCorrectUnderlineThickness;
+ private int mEasyCorrectUnderlineColor;
+
/*
* TODO: If switching IME is required, needs to add parameters for ids of InputMethodInfo
* and InputMethodSubtype.
@@ -107,6 +128,7 @@
} else {
mLocaleString = locale.toString();
}
+
if (notificationTargetClass != null) {
mNotificationTargetClassName = notificationTargetClass.getCanonicalName();
} else {
@@ -114,6 +136,36 @@
}
mHashCode = hashCodeInternal(
mFlags, mSuggestions, mLocaleString, mNotificationTargetClassName);
+
+ initStyle(context);
+ }
+
+ private void initStyle(Context context) {
+ // Read the colors. We need to store the color and the underline thickness, as the span
+ // does not have access to the context when it is read from a parcel.
+ TypedArray typedArray;
+
+ typedArray = context.obtainStyledAttributes(null,
+ com.android.internal.R.styleable.SuggestionSpan,
+ com.android.internal.R.attr.textAppearanceEasyCorrectSuggestion, 0);
+
+ mEasyCorrectUnderlineThickness = getThicknessPercentage(typedArray,
+ com.android.internal.R.styleable.SuggestionSpan_textUnderlineThicknessPercentage);
+ mEasyCorrectUnderlineColor = typedArray.getColor(
+ com.android.internal.R.styleable.SuggestionSpan_textUnderlineColor, Color.BLACK);
+
+ typedArray = context.obtainStyledAttributes(null,
+ com.android.internal.R.styleable.SuggestionSpan,
+ com.android.internal.R.attr.textAppearanceMisspelledSuggestion, 0);
+ mMisspelledUnderlineThickness = getThicknessPercentage(typedArray,
+ com.android.internal.R.styleable.SuggestionSpan_textUnderlineThicknessPercentage);
+ mMisspelledUnderlineColor = typedArray.getColor(
+ com.android.internal.R.styleable.SuggestionSpan_textUnderlineColor, Color.BLACK);
+ }
+
+ private static float getThicknessPercentage(TypedArray typedArray, int index) {
+ int value = typedArray.getInteger(index, DEFAULT_UNDERLINE_PERCENTAGE);
+ return value / 100.0f;
}
public SuggestionSpan(Parcel src) {
@@ -122,6 +174,10 @@
mLocaleString = src.readString();
mNotificationTargetClassName = src.readString();
mHashCode = src.readInt();
+ mEasyCorrectUnderlineColor = src.readInt();
+ mEasyCorrectUnderlineThickness = src.readFloat();
+ mMisspelledUnderlineColor = src.readInt();
+ mMisspelledUnderlineThickness = src.readFloat();
}
/**
@@ -167,6 +223,10 @@
dest.writeString(mLocaleString);
dest.writeString(mNotificationTargetClassName);
dest.writeInt(mHashCode);
+ dest.writeInt(mEasyCorrectUnderlineColor);
+ dest.writeFloat(mEasyCorrectUnderlineThickness);
+ dest.writeInt(mMisspelledUnderlineColor);
+ dest.writeFloat(mMisspelledUnderlineThickness);
}
@Override
@@ -205,4 +265,13 @@
return new SuggestionSpan[size];
}
};
+
+ @Override
+ public void updateDrawState(TextPaint tp) {
+ if ((getFlags() & FLAG_MISSPELLED) != 0) {
+ tp.setUnderlineText(true, mMisspelledUnderlineColor, mMisspelledUnderlineThickness);
+ } else if ((getFlags() & FLAG_EASY_CORRECT) != 0) {
+ tp.setUnderlineText(true, mEasyCorrectUnderlineColor, mEasyCorrectUnderlineThickness);
+ }
+ }
}
diff --git a/core/java/android/view/GLES20Canvas.java b/core/java/android/view/GLES20Canvas.java
index e586370..cfbb47c 100644
--- a/core/java/android/view/GLES20Canvas.java
+++ b/core/java/android/view/GLES20Canvas.java
@@ -151,6 +151,7 @@
static native void nResizeLayer(int layerId, int width, int height, int[] layerInfo);
static native void nUpdateTextureLayer(int layerId, int width, int height, boolean opaque,
SurfaceTexture surface);
+ static native void nSetTextureLayerTransform(int layerId, int matrix);
static native void nDestroyLayer(int layerId);
static native void nDestroyLayerDeferred(int layerId);
static native boolean nCopyLayer(int layerId, int bitmap);
diff --git a/core/java/android/view/GLES20RenderLayer.java b/core/java/android/view/GLES20RenderLayer.java
index 41f16e2..23a7166 100644
--- a/core/java/android/view/GLES20RenderLayer.java
+++ b/core/java/android/view/GLES20RenderLayer.java
@@ -17,6 +17,7 @@
package android.view;
import android.graphics.Canvas;
+import android.graphics.Matrix;
/**
* An OpenGL ES 2.0 implementation of {@link HardwareLayer}. This
@@ -87,4 +88,11 @@
}
return getCanvas();
}
+
+ /**
+ * Ignored
+ */
+ @Override
+ void setTransform(Matrix matrix) {
+ }
}
diff --git a/core/java/android/view/GLES20TextureLayer.java b/core/java/android/view/GLES20TextureLayer.java
index 391d9f4..6c41023 100644
--- a/core/java/android/view/GLES20TextureLayer.java
+++ b/core/java/android/view/GLES20TextureLayer.java
@@ -17,6 +17,7 @@
package android.view;
import android.graphics.Canvas;
+import android.graphics.Matrix;
import android.graphics.SurfaceTexture;
/**
@@ -75,4 +76,9 @@
super.update(width, height, isOpaque);
GLES20Canvas.nUpdateTextureLayer(mLayer, width, height, isOpaque, mSurface);
}
+
+ @Override
+ void setTransform(Matrix matrix) {
+ GLES20Canvas.nSetTextureLayerTransform(mLayer, matrix.native_instance);
+ }
}
diff --git a/core/java/android/view/HardwareLayer.java b/core/java/android/view/HardwareLayer.java
index dfb39ae..28389ab 100644
--- a/core/java/android/view/HardwareLayer.java
+++ b/core/java/android/view/HardwareLayer.java
@@ -18,6 +18,7 @@
import android.graphics.Bitmap;
import android.graphics.Canvas;
+import android.graphics.Matrix;
/**
* A hardware layer can be used to render graphics operations into a hardware
@@ -150,4 +151,11 @@
mHeight = height;
mOpaque = isOpaque;
}
+
+ /**
+ * Sets an optional transform on this layer.
+ *
+ * @param matrix The transform to apply to the layer.
+ */
+ abstract void setTransform(Matrix matrix);
}
diff --git a/core/java/android/view/HardwareRenderer.java b/core/java/android/view/HardwareRenderer.java
index f2c3131..a05637d 100644
--- a/core/java/android/view/HardwareRenderer.java
+++ b/core/java/android/view/HardwareRenderer.java
@@ -718,7 +718,9 @@
if (!createSurface(holder)) {
return;
}
- setEnabled(true);
+ if (mCanvas != null) {
+ setEnabled(true);
+ }
}
}
diff --git a/core/java/android/view/TextureView.java b/core/java/android/view/TextureView.java
index 53a6bcb..b72222e 100644
--- a/core/java/android/view/TextureView.java
+++ b/core/java/android/view/TextureView.java
@@ -19,6 +19,7 @@
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
+import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.SurfaceTexture;
@@ -104,6 +105,9 @@
private boolean mOpaque = true;
+ private final Matrix mMatrix = new Matrix();
+ private boolean mMatrixChanged;
+
private final Object[] mLock = new Object[0];
private boolean mUpdateLayer;
@@ -312,6 +316,11 @@
applyUpdate();
+ if (mMatrixChanged) {
+ mLayer.setTransform(mMatrix);
+ mMatrixChanged = false;
+ }
+
return mLayer;
}
@@ -358,6 +367,50 @@
}
/**
+ * <p>Sets the transform to associate with this texture view.
+ * The specified transform applies to the underlying surface
+ * texture and does not affect the size or position of the view
+ * itself, only of its content.</p>
+ *
+ * <p>Some transforms might prevent the content from drawing
+ * all the pixels contained within this view's bounds. In such
+ * situations, make sure this texture view is not marked opaque.</p>
+ *
+ * @param transform The transform to apply to the content of
+ * this view.
+ *
+ * @see #getTransform(android.graphics.Matrix)
+ * @see #isOpaque()
+ * @see #setOpaque(boolean)
+ */
+ public void setTransform(Matrix transform) {
+ mMatrix.set(transform);
+ mMatrixChanged = true;
+ invalidate();
+ }
+
+ /**
+ * Returns the transform associated with this texture view.
+ *
+ * @param transform The {@link Matrix} in which to copy the current
+ * transform. Can be null.
+ *
+ * @return The specified matrix if not null or a new {@link Matrix}
+ * instance otherwise.
+ *
+ * @see #setTransform(android.graphics.Matrix)
+ */
+ public Matrix getTransform(Matrix transform) {
+ if (transform == null) {
+ transform = new Matrix();
+ }
+
+ transform.set(mMatrix);
+
+ return transform;
+ }
+
+ /**
* <p>Returns a {@link android.graphics.Bitmap} representation of the content
* of the associated surface texture. If the surface texture is not available,
* this method returns null.</p>
diff --git a/core/java/android/view/Window.java b/core/java/android/view/Window.java
index 6ac679c..e0e1a1a 100644
--- a/core/java/android/view/Window.java
+++ b/core/java/android/view/Window.java
@@ -1219,4 +1219,12 @@
* @param uiOptions Flags specifying extra options for this window.
*/
public void setUiOptions(int uiOptions) { }
+
+ /**
+ * Set extra options that will influence the UI for this window.
+ * Only the bits filtered by mask will be modified.
+ * @param uiOptions Flags specifying extra options for this window.
+ * @param mask Flags specifying which options should be modified. Others will remain unchanged.
+ */
+ public void setUiOptions(int uiOptions, int mask) { }
}
diff --git a/core/java/android/webkit/ZoomManager.java b/core/java/android/webkit/ZoomManager.java
index 70e48ad..2bcb020 100644
--- a/core/java/android/webkit/ZoomManager.java
+++ b/core/java/android/webkit/ZoomManager.java
@@ -709,10 +709,14 @@
final WebSettings settings = mWebView.getSettings();
final PackageManager pm = context.getPackageManager();
- mSupportMultiTouch = pm.hasSystemFeature(PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH)
+ mSupportMultiTouch =
+ (pm.hasSystemFeature(PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH)
+ || pm.hasSystemFeature(PackageManager.FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT))
&& settings.supportZoom() && settings.getBuiltInZoomControls();
- mAllowPanAndScale = pm.hasSystemFeature(
- PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT);
+ mAllowPanAndScale =
+ pm.hasSystemFeature(PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT)
+ || pm.hasSystemFeature(PackageManager.FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT);
+
if (mSupportMultiTouch && (mScaleDetector == null)) {
mScaleDetector = new ScaleGestureDetector(context, new ScaleDetectorListener());
} else if (!mSupportMultiTouch && (mScaleDetector != null)) {
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java
index db4df40..dae118e 100644
--- a/core/java/android/widget/AbsListView.java
+++ b/core/java/android/widget/AbsListView.java
@@ -637,6 +637,11 @@
private boolean mIsAttached;
/**
+ * Track the item count from the last time we handled a data change.
+ */
+ private int mLastHandledItemCount;
+
+ /**
* Interface definition for a callback to be invoked when the list or grid
* has been scrolled.
*/
@@ -1829,10 +1834,10 @@
// Check if our previous measured size was at a point where we should scroll later.
if (mTranscriptMode == TRANSCRIPT_MODE_NORMAL) {
final int childCount = getChildCount();
- final int listBottom = getBottom() - getPaddingBottom();
+ final int listBottom = getHeight() - getPaddingBottom();
final View lastChild = getChildAt(childCount - 1);
final int lastBottom = lastChild != null ? lastChild.getBottom() : listBottom;
- mForceTranscriptScroll = mFirstPosition + childCount >= mOldItemCount &&
+ mForceTranscriptScroll = mFirstPosition + childCount >= mLastHandledItemCount &&
lastBottom <= listBottom;
}
}
@@ -4744,6 +4749,8 @@
@Override
protected void handleDataChanged() {
int count = mItemCount;
+ int lastHandledItemCount = mLastHandledItemCount;
+ mLastHandledItemCount = mItemCount;
if (count > 0) {
int newPos;
@@ -4765,10 +4772,11 @@
return;
}
final int childCount = getChildCount();
- final int listBottom = getBottom() - getPaddingBottom();
+ final int listBottom = getHeight() - getPaddingBottom();
final View lastChild = getChildAt(childCount - 1);
final int lastBottom = lastChild != null ? lastChild.getBottom() : listBottom;
- if (mFirstPosition + childCount >= mOldItemCount && lastBottom <= listBottom) {
+ if (mFirstPosition + childCount >= lastHandledItemCount &&
+ lastBottom <= listBottom) {
mLayoutMode = LAYOUT_FORCE_BOTTOM;
return;
}
diff --git a/core/java/android/widget/SearchView.java b/core/java/android/widget/SearchView.java
index 4eecd64..aba6834 100644
--- a/core/java/android/widget/SearchView.java
+++ b/core/java/android/widget/SearchView.java
@@ -627,12 +627,33 @@
int widthMode = MeasureSpec.getMode(widthMeasureSpec);
int width = MeasureSpec.getSize(widthMeasureSpec);
- if ((widthMode == MeasureSpec.AT_MOST || widthMode == MeasureSpec.EXACTLY) && mMaxWidth > 0
- && width > mMaxWidth) {
- super.onMeasure(MeasureSpec.makeMeasureSpec(mMaxWidth, widthMode), heightMeasureSpec);
- } else {
- super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+ switch (widthMode) {
+ case MeasureSpec.AT_MOST:
+ // If there is an upper limit, don't exceed maximum width (explicit or implicit)
+ if (mMaxWidth > 0) {
+ width = Math.min(mMaxWidth, width);
+ } else {
+ width = Math.min(getPreferredWidth(), width);
+ }
+ break;
+ case MeasureSpec.EXACTLY:
+ // If an exact width is specified, still don't exceed any specified maximum width
+ if (mMaxWidth > 0) {
+ width = Math.min(mMaxWidth, width);
+ }
+ break;
+ case MeasureSpec.UNSPECIFIED:
+ // Use maximum width, if specified, else preferred width
+ width = mMaxWidth > 0 ? mMaxWidth : getPreferredWidth();
+ break;
}
+ widthMode = MeasureSpec.EXACTLY;
+ super.onMeasure(MeasureSpec.makeMeasureSpec(width, widthMode), heightMeasureSpec);
+ }
+
+ private int getPreferredWidth() {
+ return getContext().getResources()
+ .getDimensionPixelSize(R.dimen.search_view_preferred_width);
}
private void updateViewsVisibility(final boolean collapsed) {
@@ -695,7 +716,7 @@
// Should we show the close button? It is not shown if there's no focus,
// field is not iconified by default and there is no text in it.
final boolean showClose = hasText || (mIconifiedByDefault && !mExpandedInActionView);
- mCloseButton.setVisibility(showClose ? VISIBLE : INVISIBLE);
+ mCloseButton.setVisibility(showClose ? VISIBLE : GONE);
mCloseButton.getDrawable().setState(hasText ? ENABLED_STATE_SET : EMPTY_STATE_SET);
}
@@ -991,7 +1012,7 @@
*/
private void updateVoiceButton(boolean empty) {
int visibility = GONE;
- if (mVoiceButtonEnabled && !isIconified() && (empty || !mSubmitButtonEnabled)) {
+ if (mVoiceButtonEnabled && !isIconified() && empty) {
visibility = VISIBLE;
mSubmitButton.setVisibility(GONE);
}
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index d1a5196..d6cb61d 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -139,11 +139,6 @@
import org.xmlpull.v1.XmlPullParserException;
-import com.android.internal.util.FastMath;
-import com.android.internal.widget.EditableInputConnection;
-
-import org.xmlpull.v1.XmlPullParserException;
-
import java.io.IOException;
import java.lang.ref.WeakReference;
import java.text.BreakIterator;
@@ -7966,8 +7961,12 @@
startSelectionActionMode();
} else {
hideControllers();
- if (hasInsertionController() && !selectAllGotFocus && mText.length() > 0) {
- getInsertionController().show();
+ if (!selectAllGotFocus && mText.length() > 0) {
+ if (isCursorInsideEasyCorrectionSpan()) {
+ showSuggestions();
+ } else if (hasInsertionController()) {
+ getInsertionController().show();
+ }
}
}
}
@@ -7980,6 +7979,22 @@
return superResult;
}
+ /**
+ * @return <code>true</code> if the cursor is inside an {@link SuggestionSpan} with
+ * {@link SuggestionSpan#FLAG_EASY_CORRECT} set.
+ */
+ private boolean isCursorInsideEasyCorrectionSpan() {
+ Spannable spannable = (Spannable) TextView.this.mText;
+ SuggestionSpan[] suggestionSpans = spannable.getSpans(getSelectionStart(),
+ getSelectionEnd(), SuggestionSpan.class);
+ for (int i = 0; i < suggestionSpans.length; i++) {
+ if ((suggestionSpans[i].getFlags() & SuggestionSpan.FLAG_EASY_CORRECT) != 0) {
+ return true;
+ }
+ }
+ return false;
+ }
+
@Override
public boolean onGenericMotionEvent(MotionEvent event) {
if (mMovement != null && mText instanceof Spannable && mLayout != null) {
diff --git a/core/java/com/android/internal/view/menu/ActionMenuView.java b/core/java/com/android/internal/view/menu/ActionMenuView.java
index 267221b..d613921 100644
--- a/core/java/com/android/internal/view/menu/ActionMenuView.java
+++ b/core/java/com/android/internal/view/menu/ActionMenuView.java
@@ -109,6 +109,13 @@
// Divide the view into cells.
final int cellCount = widthSize / mMinCellSize;
final int cellSizeRemaining = widthSize % mMinCellSize;
+
+ if (cellCount == 0) {
+ // Give up, nothing fits.
+ setMeasuredDimension(widthSize, 0);
+ return;
+ }
+
final int cellSize = mMinCellSize + cellSizeRemaining / cellCount;
int cellsRemaining = cellCount;
@@ -213,7 +220,8 @@
}
}
- final int extraPixels = (int) (cellsRemaining * cellSize / expandCount);
+ final int extraPixels = expandCount > 0 ?
+ (int) (cellsRemaining * cellSize / expandCount) : 0;
for (int i = 0; i < childCount; i++) {
if ((smallestItemsAt & (1 << i)) == 0) continue;
diff --git a/core/jni/android/graphics/TextLayoutCache.cpp b/core/jni/android/graphics/TextLayoutCache.cpp
index 23a4ec7..89440c9 100644
--- a/core/jni/android/graphics/TextLayoutCache.cpp
+++ b/core/jni/android/graphics/TextLayoutCache.cpp
@@ -360,31 +360,7 @@
shaperItem->item.length = count;
shaperItem->item.bidiLevel = isRTL;
- ssize_t nextCodePoint = 0;
- uint32_t codePoint = utf16_to_code_point(chars, count, &nextCodePoint);
-
- HB_Script script = code_point_to_script(codePoint);
-
- if (script == HB_Script_Inherited) {
-#if DEBUG_GLYPHS
- LOGD("Cannot find a correct script for code point=%d "
- " Need to look at the next code points.", codePoint);
-#endif
- while (script == HB_Script_Inherited && nextCodePoint < count) {
- codePoint = utf16_to_code_point(chars, count, &nextCodePoint);
- script = code_point_to_script(codePoint);
- }
- }
-
- if (script == HB_Script_Inherited) {
-#if DEBUG_GLYPHS
- LOGD("Cannot find a correct script from the text."
- " Need to select a default script depending on the passed text direction.");
-#endif
- script = isRTL ? HB_Script_Arabic : HB_Script_Common;
- }
-
- shaperItem->item.script = script;
+ shaperItem->item.script = isRTL ? HB_Script_Arabic : HB_Script_Common;
shaperItem->string = chars;
shaperItem->stringLength = contextCount;
diff --git a/core/jni/android_view_GLES20Canvas.cpp b/core/jni/android_view_GLES20Canvas.cpp
index 039c5ba..80c79fd 100644
--- a/core/jni/android_view_GLES20Canvas.cpp
+++ b/core/jni/android_view_GLES20Canvas.cpp
@@ -683,6 +683,12 @@
LayerRenderer::updateTextureLayer(layer, width, height, isOpaque, renderTarget, transform);
}
+static void android_view_GLES20Canvas_setTextureLayerTransform(JNIEnv* env, jobject clazz,
+ Layer* layer, SkMatrix* matrix) {
+
+ layer->getTransform().load(*matrix);
+}
+
static void android_view_GLES20Canvas_destroyLayer(JNIEnv* env, jobject clazz, Layer* layer) {
LayerRenderer::destroyLayer(layer);
}
@@ -827,6 +833,7 @@
{ "nCreateTextureLayer", "(Z[I)I", (void*) android_view_GLES20Canvas_createTextureLayer },
{ "nUpdateTextureLayer", "(IIIZLandroid/graphics/SurfaceTexture;)V",
(void*) android_view_GLES20Canvas_updateTextureLayer },
+ { "nSetTextureLayerTransform", "(II)V", (void*) android_view_GLES20Canvas_setTextureLayerTransform },
{ "nDestroyLayer", "(I)V", (void*) android_view_GLES20Canvas_destroyLayer },
{ "nDestroyLayerDeferred", "(I)V", (void*) android_view_GLES20Canvas_destroyLayerDeferred },
{ "nDrawLayer", "(IIFFI)V", (void*) android_view_GLES20Canvas_drawLayer },
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index b9868db..2dbb0b2 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -42,6 +42,7 @@
<protected-broadcast android:name="android.intent.action.PACKAGE_RESTARTED" />
<protected-broadcast android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
<protected-broadcast android:name="android.intent.action.PACKAGE_FIRST_LAUNCH" />
+ <protected-broadcast android:name="android.intent.action.PACKAGE_NEEDS_VERIFICATION" />
<protected-broadcast android:name="android.intent.action.UID_REMOVED" />
<protected-broadcast android:name="android.intent.action.CONFIGURATION_CHANGED" />
<protected-broadcast android:name="android.intent.action.LOCALE_CHANGED" />
@@ -1429,6 +1430,24 @@
android:protectionLevel="signature" />
<uses-permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"/>
+ <!-- Package verifier needs to have this permission before the PackageManager will
+ trust it to verify packages.
+ @hide
+ -->
+ <permission android:name="android.permission.PACKAGE_VERIFICATION_AGENT"
+ android:label="@string/permlab_packageVerificationAgent"
+ android:description="@string/permdesc_packageVerificationAgent"
+ android:protectionLevel="signatureOrSystem" />
+
+ <!-- Must be required by package verifier receiver, to ensure that only the
+ system can interact with it.
+ @hide
+ -->
+ <permission android:name="android.permission.BIND_PACKAGE_VERIFIER"
+ android:label="@string/permlab_bindPackageVerifier"
+ android:description="@string/permdesc_bindPackageVerifier"
+ android:protectionLevel="signature" />
+
<!-- The system process is explicitly the only one allowed to launch the
confirmation UI for full backup/restore -->
<uses-permission android:name="android.permission.CONFIRM_FULL_BACKUP"/>
diff --git a/core/res/res/drawable-hdpi/ab_bottom_solid_dark_holo.9.png b/core/res/res/drawable-hdpi/ab_bottom_solid_dark_holo.9.png
index 3ea6c44..81829bb 100644
--- a/core/res/res/drawable-hdpi/ab_bottom_solid_dark_holo.9.png
+++ b/core/res/res/drawable-hdpi/ab_bottom_solid_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ab_bottom_solid_inverse_holo.9.png b/core/res/res/drawable-hdpi/ab_bottom_solid_inverse_holo.9.png
index 6c6fcd2..0436801 100644
--- a/core/res/res/drawable-hdpi/ab_bottom_solid_inverse_holo.9.png
+++ b/core/res/res/drawable-hdpi/ab_bottom_solid_inverse_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ab_bottom_solid_light_holo.9.png b/core/res/res/drawable-hdpi/ab_bottom_solid_light_holo.9.png
index 854631e..6574c8c 100644
--- a/core/res/res/drawable-hdpi/ab_bottom_solid_light_holo.9.png
+++ b/core/res/res/drawable-hdpi/ab_bottom_solid_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ab_bottom_transparent_dark_holo.9.png b/core/res/res/drawable-hdpi/ab_bottom_transparent_dark_holo.9.png
index aef6142d..1565ac2 100644
--- a/core/res/res/drawable-hdpi/ab_bottom_transparent_dark_holo.9.png
+++ b/core/res/res/drawable-hdpi/ab_bottom_transparent_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ab_bottom_transparent_light_holo.9.png b/core/res/res/drawable-hdpi/ab_bottom_transparent_light_holo.9.png
index d8b5edc..77d4c4b 100644
--- a/core/res/res/drawable-hdpi/ab_bottom_transparent_light_holo.9.png
+++ b/core/res/res/drawable-hdpi/ab_bottom_transparent_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ab_solid_dark_holo.9.png b/core/res/res/drawable-hdpi/ab_solid_dark_holo.9.png
index 660a234..0fc8632 100644
--- a/core/res/res/drawable-hdpi/ab_solid_dark_holo.9.png
+++ b/core/res/res/drawable-hdpi/ab_solid_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ab_solid_light_holo.9.png b/core/res/res/drawable-hdpi/ab_solid_light_holo.9.png
index 9756cf5..74540c1 100644
--- a/core/res/res/drawable-hdpi/ab_solid_light_holo.9.png
+++ b/core/res/res/drawable-hdpi/ab_solid_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ab_solid_shadow_holo.9.png b/core/res/res/drawable-hdpi/ab_solid_shadow_holo.9.png
index 80213d5..69bcd7a 100644
--- a/core/res/res/drawable-hdpi/ab_solid_shadow_holo.9.png
+++ b/core/res/res/drawable-hdpi/ab_solid_shadow_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ab_stacked_solid_dark_holo.9.png b/core/res/res/drawable-hdpi/ab_stacked_solid_dark_holo.9.png
index 6de2bf2c..9f8829f 100644
--- a/core/res/res/drawable-hdpi/ab_stacked_solid_dark_holo.9.png
+++ b/core/res/res/drawable-hdpi/ab_stacked_solid_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ab_stacked_solid_inverse_holo.9.png b/core/res/res/drawable-hdpi/ab_stacked_solid_inverse_holo.9.png
index c23e473..d63e85e 100644
--- a/core/res/res/drawable-hdpi/ab_stacked_solid_inverse_holo.9.png
+++ b/core/res/res/drawable-hdpi/ab_stacked_solid_inverse_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ab_stacked_solid_light_holo.9.png b/core/res/res/drawable-hdpi/ab_stacked_solid_light_holo.9.png
index 343d7c6..9cff5d8 100644
--- a/core/res/res/drawable-hdpi/ab_stacked_solid_light_holo.9.png
+++ b/core/res/res/drawable-hdpi/ab_stacked_solid_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ab_stacked_transparent_dark_holo.9.png b/core/res/res/drawable-hdpi/ab_stacked_transparent_dark_holo.9.png
index 3de1174..12a6454 100644
--- a/core/res/res/drawable-hdpi/ab_stacked_transparent_dark_holo.9.png
+++ b/core/res/res/drawable-hdpi/ab_stacked_transparent_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ab_stacked_transparent_light_holo.9.png b/core/res/res/drawable-hdpi/ab_stacked_transparent_light_holo.9.png
index da8b042..3355d30 100644
--- a/core/res/res/drawable-hdpi/ab_stacked_transparent_light_holo.9.png
+++ b/core/res/res/drawable-hdpi/ab_stacked_transparent_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ab_transparent_dark_holo.9.png b/core/res/res/drawable-hdpi/ab_transparent_dark_holo.9.png
index 1957c32..a5e8570 100644
--- a/core/res/res/drawable-hdpi/ab_transparent_dark_holo.9.png
+++ b/core/res/res/drawable-hdpi/ab_transparent_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ab_transparent_light_holo.9.png b/core/res/res/drawable-hdpi/ab_transparent_light_holo.9.png
index 0f1ce73..c49412a 100644
--- a/core/res/res/drawable-hdpi/ab_transparent_light_holo.9.png
+++ b/core/res/res/drawable-hdpi/ab_transparent_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_cab_done_default_holo_dark.9.png b/core/res/res/drawable-hdpi/btn_cab_done_default_holo_dark.9.png
index 769f570..fabc252 100644
--- a/core/res/res/drawable-hdpi/btn_cab_done_default_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/btn_cab_done_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_cab_done_default_holo_light.9.png b/core/res/res/drawable-hdpi/btn_cab_done_default_holo_light.9.png
index 74cefd6..f59ef4e 100644
--- a/core/res/res/drawable-hdpi/btn_cab_done_default_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/btn_cab_done_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_cab_done_focused_holo_dark.9.png b/core/res/res/drawable-hdpi/btn_cab_done_focused_holo_dark.9.png
index 4450f11..c87c5a6 100644
--- a/core/res/res/drawable-hdpi/btn_cab_done_focused_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/btn_cab_done_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_cab_done_focused_holo_light.9.png b/core/res/res/drawable-hdpi/btn_cab_done_focused_holo_light.9.png
index 93b7b17..6e4cae2 100644
--- a/core/res/res/drawable-hdpi/btn_cab_done_focused_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/btn_cab_done_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_cab_done_pressed_holo_dark.9.png b/core/res/res/drawable-hdpi/btn_cab_done_pressed_holo_dark.9.png
index 3ada1be..e6f83cc 100644
--- a/core/res/res/drawable-hdpi/btn_cab_done_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/btn_cab_done_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_cab_done_pressed_holo_light.9.png b/core/res/res/drawable-hdpi/btn_cab_done_pressed_holo_light.9.png
index 749ea569..5c97e3f 100644
--- a/core/res/res/drawable-hdpi/btn_cab_done_pressed_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/btn_cab_done_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_group_focused_holo_dark.9.png b/core/res/res/drawable-hdpi/btn_group_focused_holo_dark.9.png
index 1d1a589..34762f8 100644
--- a/core/res/res/drawable-hdpi/btn_group_focused_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/btn_group_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_group_focused_holo_light.9.png b/core/res/res/drawable-hdpi/btn_group_focused_holo_light.9.png
index 1d1a589..34762f8 100644
--- a/core/res/res/drawable-hdpi/btn_group_focused_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/btn_group_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_group_pressed_holo_dark.9.png b/core/res/res/drawable-hdpi/btn_group_pressed_holo_dark.9.png
index 8922fa4..0d2eb4b 100644
--- a/core/res/res/drawable-hdpi/btn_group_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/btn_group_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_group_pressed_holo_light.9.png b/core/res/res/drawable-hdpi/btn_group_pressed_holo_light.9.png
index 53cf2f3..7de8d9b 100644
--- a/core/res/res/drawable-hdpi/btn_group_pressed_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/btn_group_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_dark.png
index 39f1ca4..a7ce7e1 100644
--- a/core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_light.png
index 0456759..93c0df0 100644
--- a/core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_off_focused_holo_dark.png
index 20cfc23..f0508ac 100644
--- a/core/res/res/drawable-hdpi/btn_radio_off_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_off_focused_holo_light.png
index c05dcd3..14fbc7a 100644
--- a/core/res/res/drawable-hdpi/btn_radio_off_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_dark.png
index c91b76f..0f4ffff 100644
--- a/core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_light.png
index 4764c67..8fab476 100644
--- a/core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_dark.png
index 5997c2d..c56166f 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_light.png
index ee6c869..6bb4ad6 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_dark.png
index f052e67..edfb365 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_light.png
index 247d306..f2664c4 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_on_focused_holo_dark.png
index f95f155..435c10d 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_on_focused_holo_light.png
index 7bebc96..f2e4190 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_on_holo_dark.png
index 0231925..5b87782 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_on_holo_light.png
index cfde3cb..41c9e6c 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_dark.png
index 0296a62e..c91da17 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_light.png
index 6970012..8d6b81d 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/create_contact.png b/core/res/res/drawable-hdpi/create_contact.png
index 19d59b4..7a29b65 100644
--- a/core/res/res/drawable-hdpi/create_contact.png
+++ b/core/res/res/drawable-hdpi/create_contact.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/divider_horizontal_holo_dark.9.png b/core/res/res/drawable-hdpi/divider_horizontal_holo_dark.9.png
index e8e1deb..a529487 100644
--- a/core/res/res/drawable-hdpi/divider_horizontal_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/divider_horizontal_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/divider_horizontal_holo_light.9.png b/core/res/res/drawable-hdpi/divider_horizontal_holo_light.9.png
index 9e6cbbe..e3641b5 100644
--- a/core/res/res/drawable-hdpi/divider_horizontal_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/divider_horizontal_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_angel.png b/core/res/res/drawable-hdpi/emo_im_angel.png
index 10742a6..e9d4983 100644
--- a/core/res/res/drawable-hdpi/emo_im_angel.png
+++ b/core/res/res/drawable-hdpi/emo_im_angel.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_cool.png b/core/res/res/drawable-hdpi/emo_im_cool.png
index e3c8654..c8464b5 100644
--- a/core/res/res/drawable-hdpi/emo_im_cool.png
+++ b/core/res/res/drawable-hdpi/emo_im_cool.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_crying.png b/core/res/res/drawable-hdpi/emo_im_crying.png
index b23791c..94a2b9a 100644
--- a/core/res/res/drawable-hdpi/emo_im_crying.png
+++ b/core/res/res/drawable-hdpi/emo_im_crying.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_embarrassed.png b/core/res/res/drawable-hdpi/emo_im_embarrassed.png
index cf7daf7..fe9138d 100644
--- a/core/res/res/drawable-hdpi/emo_im_embarrassed.png
+++ b/core/res/res/drawable-hdpi/emo_im_embarrassed.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_foot_in_mouth.png b/core/res/res/drawable-hdpi/emo_im_foot_in_mouth.png
index 050b7be..9847177 100644
--- a/core/res/res/drawable-hdpi/emo_im_foot_in_mouth.png
+++ b/core/res/res/drawable-hdpi/emo_im_foot_in_mouth.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_happy.png b/core/res/res/drawable-hdpi/emo_im_happy.png
index 69e3bed..eba9deb 100644
--- a/core/res/res/drawable-hdpi/emo_im_happy.png
+++ b/core/res/res/drawable-hdpi/emo_im_happy.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_kissing.png b/core/res/res/drawable-hdpi/emo_im_kissing.png
index 0cca68e..ff19711 100644
--- a/core/res/res/drawable-hdpi/emo_im_kissing.png
+++ b/core/res/res/drawable-hdpi/emo_im_kissing.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_laughing.png b/core/res/res/drawable-hdpi/emo_im_laughing.png
index 8406ad0..b1d4d6a 100644
--- a/core/res/res/drawable-hdpi/emo_im_laughing.png
+++ b/core/res/res/drawable-hdpi/emo_im_laughing.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_lips_are_sealed.png b/core/res/res/drawable-hdpi/emo_im_lips_are_sealed.png
index 222f175..e47cf2a 100644
--- a/core/res/res/drawable-hdpi/emo_im_lips_are_sealed.png
+++ b/core/res/res/drawable-hdpi/emo_im_lips_are_sealed.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_money_mouth.png b/core/res/res/drawable-hdpi/emo_im_money_mouth.png
index d711bfb..82f80f2 100644
--- a/core/res/res/drawable-hdpi/emo_im_money_mouth.png
+++ b/core/res/res/drawable-hdpi/emo_im_money_mouth.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_sad.png b/core/res/res/drawable-hdpi/emo_im_sad.png
index 40017f1..b5959ec 100644
--- a/core/res/res/drawable-hdpi/emo_im_sad.png
+++ b/core/res/res/drawable-hdpi/emo_im_sad.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_surprised.png b/core/res/res/drawable-hdpi/emo_im_surprised.png
index 4b2af7a..dbe1c38 100644
--- a/core/res/res/drawable-hdpi/emo_im_surprised.png
+++ b/core/res/res/drawable-hdpi/emo_im_surprised.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_tongue_sticking_out.png b/core/res/res/drawable-hdpi/emo_im_tongue_sticking_out.png
index 42ac80d..fb5f9ad 100644
--- a/core/res/res/drawable-hdpi/emo_im_tongue_sticking_out.png
+++ b/core/res/res/drawable-hdpi/emo_im_tongue_sticking_out.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_undecided.png b/core/res/res/drawable-hdpi/emo_im_undecided.png
index 2cf5bd2..b7edef7 100644
--- a/core/res/res/drawable-hdpi/emo_im_undecided.png
+++ b/core/res/res/drawable-hdpi/emo_im_undecided.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_winking.png b/core/res/res/drawable-hdpi/emo_im_winking.png
index a3a0876..6fe1027 100644
--- a/core/res/res/drawable-hdpi/emo_im_winking.png
+++ b/core/res/res/drawable-hdpi/emo_im_winking.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_wtf.png b/core/res/res/drawable-hdpi/emo_im_wtf.png
index 86c4bda..1d4a99b 100644
--- a/core/res/res/drawable-hdpi/emo_im_wtf.png
+++ b/core/res/res/drawable-hdpi/emo_im_wtf.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_yelling.png b/core/res/res/drawable-hdpi/emo_im_yelling.png
index cfd991a..99d694b 100644
--- a/core/res/res/drawable-hdpi/emo_im_yelling.png
+++ b/core/res/res/drawable-hdpi/emo_im_yelling.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/expander_close_holo_dark.9.png b/core/res/res/drawable-hdpi/expander_close_holo_dark.9.png
index dc0c534..6bb4d1e 100644
--- a/core/res/res/drawable-hdpi/expander_close_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/expander_close_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/expander_close_holo_light.9.png b/core/res/res/drawable-hdpi/expander_close_holo_light.9.png
index 2dd4548..3fb3eb1 100644
--- a/core/res/res/drawable-hdpi/expander_close_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/expander_close_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/expander_open_holo_dark.9.png b/core/res/res/drawable-hdpi/expander_open_holo_dark.9.png
index d9fd48f..a679da5 100644
--- a/core/res/res/drawable-hdpi/expander_open_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/expander_open_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/expander_open_holo_light.9.png b/core/res/res/drawable-hdpi/expander_open_holo_light.9.png
index 7cec83a..175ce17 100644
--- a/core/res/res/drawable-hdpi/expander_open_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/expander_open_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/fastscroll_thumb_default_holo.png b/core/res/res/drawable-hdpi/fastscroll_thumb_default_holo.png
index d41a7dc..2b7c917 100644
--- a/core/res/res/drawable-hdpi/fastscroll_thumb_default_holo.png
+++ b/core/res/res/drawable-hdpi/fastscroll_thumb_default_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/fastscroll_thumb_pressed_holo.png b/core/res/res/drawable-hdpi/fastscroll_thumb_pressed_holo.png
index 818b1c5..1227e9e 100644
--- a/core/res/res/drawable-hdpi/fastscroll_thumb_pressed_holo.png
+++ b/core/res/res/drawable-hdpi/fastscroll_thumb_pressed_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/fastscroll_track_default_holo_dark.9.png b/core/res/res/drawable-hdpi/fastscroll_track_default_holo_dark.9.png
index 44502db..5cd1ac7 100644
--- a/core/res/res/drawable-hdpi/fastscroll_track_default_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/fastscroll_track_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/fastscroll_track_default_holo_light.9.png b/core/res/res/drawable-hdpi/fastscroll_track_default_holo_light.9.png
index 44502db..5cd1ac7 100644
--- a/core/res/res/drawable-hdpi/fastscroll_track_default_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/fastscroll_track_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/fastscroll_track_pressed_holo_dark.9.png b/core/res/res/drawable-hdpi/fastscroll_track_pressed_holo_dark.9.png
index 8d58ab5..9a7e5ae 100644
--- a/core/res/res/drawable-hdpi/fastscroll_track_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/fastscroll_track_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/fastscroll_track_pressed_holo_light.9.png b/core/res/res/drawable-hdpi/fastscroll_track_pressed_holo_light.9.png
index 8d58ab5..9a7e5ae 100644
--- a/core/res/res/drawable-hdpi/fastscroll_track_pressed_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/fastscroll_track_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_alarm_mute.png b/core/res/res/drawable-hdpi/ic_audio_alarm_mute.png
index e31fdb8..45ed7b6 100644
--- a/core/res/res/drawable-hdpi/ic_audio_alarm_mute.png
+++ b/core/res/res/drawable-hdpi/ic_audio_alarm_mute.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_bt_mute.png b/core/res/res/drawable-hdpi/ic_audio_bt_mute.png
index 14542eb..298db92 100644
--- a/core/res/res/drawable-hdpi/ic_audio_bt_mute.png
+++ b/core/res/res/drawable-hdpi/ic_audio_bt_mute.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_notification_mute.png b/core/res/res/drawable-hdpi/ic_audio_notification_mute.png
index a350e16..697cc92 100644
--- a/core/res/res/drawable-hdpi/ic_audio_notification_mute.png
+++ b/core/res/res/drawable-hdpi/ic_audio_notification_mute.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_phone.png b/core/res/res/drawable-hdpi/ic_audio_phone.png
index 2fff204..8a7d67a 100644
--- a/core/res/res/drawable-hdpi/ic_audio_phone.png
+++ b/core/res/res/drawable-hdpi/ic_audio_phone.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_ring_notif.png b/core/res/res/drawable-hdpi/ic_audio_ring_notif.png
index 3938778..1df6858 100644
--- a/core/res/res/drawable-hdpi/ic_audio_ring_notif.png
+++ b/core/res/res/drawable-hdpi/ic_audio_ring_notif.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_ring_notif_mute.png b/core/res/res/drawable-hdpi/ic_audio_ring_notif_mute.png
index 499c0a3..fae02f9 100644
--- a/core/res/res/drawable-hdpi/ic_audio_ring_notif_mute.png
+++ b/core/res/res/drawable-hdpi/ic_audio_ring_notif_mute.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_vol_mute.png b/core/res/res/drawable-hdpi/ic_audio_vol_mute.png
index f7428c7..4256385 100644
--- a/core/res/res/drawable-hdpi/ic_audio_vol_mute.png
+++ b/core/res/res/drawable-hdpi/ic_audio_vol_mute.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_btn_search.png b/core/res/res/drawable-hdpi/ic_btn_search.png
index 0a91eab..98e61a3 100644
--- a/core/res/res/drawable-hdpi/ic_btn_search.png
+++ b/core/res/res/drawable-hdpi/ic_btn_search.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_btn_search_go.png b/core/res/res/drawable-hdpi/ic_btn_search_go.png
index 8a3a402..65f8079 100644
--- a/core/res/res/drawable-hdpi/ic_btn_search_go.png
+++ b/core/res/res/drawable-hdpi/ic_btn_search_go.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_btn_speak_now.png b/core/res/res/drawable-hdpi/ic_btn_speak_now.png
index 45a8155..c9281d3 100644
--- a/core/res/res/drawable-hdpi/ic_btn_speak_now.png
+++ b/core/res/res/drawable-hdpi/ic_btn_speak_now.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_commit.png b/core/res/res/drawable-hdpi/ic_commit.png
deleted file mode 100644
index 404051c..0000000
--- a/core/res/res/drawable-hdpi/ic_commit.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_commit_search_api_holo_dark.png b/core/res/res/drawable-hdpi/ic_commit_search_api_holo_dark.png
new file mode 100644
index 0000000..83f36a9
--- /dev/null
+++ b/core/res/res/drawable-hdpi/ic_commit_search_api_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_commit_search_api_holo_light.png b/core/res/res/drawable-hdpi/ic_commit_search_api_holo_light.png
index b01688f..a3cc21e 100644
--- a/core/res/res/drawable-hdpi/ic_commit_search_api_holo_light.png
+++ b/core/res/res/drawable-hdpi/ic_commit_search_api_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_contact_picture.png b/core/res/res/drawable-hdpi/ic_contact_picture.png
index e29e63a..9123c8c 100644
--- a/core/res/res/drawable-hdpi/ic_contact_picture.png
+++ b/core/res/res/drawable-hdpi/ic_contact_picture.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lock_airplane_mode.png b/core/res/res/drawable-hdpi/ic_lock_airplane_mode.png
index 610f9d0..90c80fd 100644
--- a/core/res/res/drawable-hdpi/ic_lock_airplane_mode.png
+++ b/core/res/res/drawable-hdpi/ic_lock_airplane_mode.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lock_airplane_mode_off.png b/core/res/res/drawable-hdpi/ic_lock_airplane_mode_off.png
index cd50647..b055894 100644
--- a/core/res/res/drawable-hdpi/ic_lock_airplane_mode_off.png
+++ b/core/res/res/drawable-hdpi/ic_lock_airplane_mode_off.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lock_lock.png b/core/res/res/drawable-hdpi/ic_lock_lock.png
index 0fc79e1..6d1029c 100644
--- a/core/res/res/drawable-hdpi/ic_lock_lock.png
+++ b/core/res/res/drawable-hdpi/ic_lock_lock.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lock_power_off.png b/core/res/res/drawable-hdpi/ic_lock_power_off.png
index 2f120c6..bc2dc70 100644
--- a/core/res/res/drawable-hdpi/ic_lock_power_off.png
+++ b/core/res/res/drawable-hdpi/ic_lock_power_off.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lock_silent_mode_off.png b/core/res/res/drawable-hdpi/ic_lock_silent_mode_off.png
index 17d705c..ecb7d04 100644
--- a/core/res/res/drawable-hdpi/ic_lock_silent_mode_off.png
+++ b/core/res/res/drawable-hdpi/ic_lock_silent_mode_off.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_answer_active.png b/core/res/res/drawable-hdpi/ic_lockscreen_answer_active.png
index 8089912..6395294 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_answer_active.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_answer_active.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_answer_focused.png b/core/res/res/drawable-hdpi/ic_lockscreen_answer_focused.png
index e4ba8fd..74fda0f 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_answer_focused.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_answer_focused.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_answer_normal.png b/core/res/res/drawable-hdpi/ic_lockscreen_answer_normal.png
index c9197c8..1558a0a 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_answer_normal.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_answer_normal.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_camera_activated.png b/core/res/res/drawable-hdpi/ic_lockscreen_camera_activated.png
index d510e1d..a94d1b9e 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_camera_activated.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_camera_activated.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_decline_focused.png b/core/res/res/drawable-hdpi/ic_lockscreen_decline_focused.png
index f5dfacc4..0ccf361 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_decline_focused.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_decline_focused.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_decline_normal.png b/core/res/res/drawable-hdpi/ic_lockscreen_decline_normal.png
index b4d399d..14a684e 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_decline_normal.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_decline_normal.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_handle_normal.png b/core/res/res/drawable-hdpi/ic_lockscreen_handle_normal.png
index 0f4bfe6..1b7f499 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_handle_normal.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_handle_normal.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_handle_pressed.png b/core/res/res/drawable-hdpi/ic_lockscreen_handle_pressed.png
index 995705d..399aa1c 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_handle_pressed.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_handle_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_silent_activated.png b/core/res/res/drawable-hdpi/ic_lockscreen_silent_activated.png
index d1938b9..7060d59 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_silent_activated.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_silent_activated.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_silent_focused.png b/core/res/res/drawable-hdpi/ic_lockscreen_silent_focused.png
index ecafbea..b79dbba 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_silent_focused.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_silent_focused.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_silent_normal.png b/core/res/res/drawable-hdpi/ic_lockscreen_silent_normal.png
index 1f527b7..8632545 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_silent_normal.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_silent_normal.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_soundon_activated.png b/core/res/res/drawable-hdpi/ic_lockscreen_soundon_activated.png
index f6ccbd2..88d0a9f 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_soundon_activated.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_soundon_activated.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_soundon_focused.png b/core/res/res/drawable-hdpi/ic_lockscreen_soundon_focused.png
index d4e558d..e25c7a0 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_soundon_focused.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_soundon_focused.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_soundon_normal.png b/core/res/res/drawable-hdpi/ic_lockscreen_soundon_normal.png
index 5d999a6..701fa42 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_soundon_normal.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_soundon_normal.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_text_activated.png b/core/res/res/drawable-hdpi/ic_lockscreen_text_activated.png
index 10b3268..0ebff0b 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_text_activated.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_text_activated.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_text_focusde.png b/core/res/res/drawable-hdpi/ic_lockscreen_text_focusde.png
index 72b8f0a..c8de3a3 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_text_focusde.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_text_focusde.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_unlock_activated.png b/core/res/res/drawable-hdpi/ic_lockscreen_unlock_activated.png
index d1f3015..e300943 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_unlock_activated.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_unlock_activated.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_unlock_focused.png b/core/res/res/drawable-hdpi/ic_lockscreen_unlock_focused.png
index e053222..da77340 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_unlock_focused.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_unlock_focused.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_media_embed_play.png b/core/res/res/drawable-hdpi/ic_media_embed_play.png
index 23ac7e4..05778c1 100644
--- a/core/res/res/drawable-hdpi/ic_media_embed_play.png
+++ b/core/res/res/drawable-hdpi/ic_media_embed_play.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_media_ff.png b/core/res/res/drawable-hdpi/ic_media_ff.png
index a892ba2..c65956a 100644
--- a/core/res/res/drawable-hdpi/ic_media_ff.png
+++ b/core/res/res/drawable-hdpi/ic_media_ff.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_media_fullscreen.png b/core/res/res/drawable-hdpi/ic_media_fullscreen.png
index 0cdbf77..ad082453 100644
--- a/core/res/res/drawable-hdpi/ic_media_fullscreen.png
+++ b/core/res/res/drawable-hdpi/ic_media_fullscreen.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_media_next.png b/core/res/res/drawable-hdpi/ic_media_next.png
index 2285670..c74703e 100644
--- a/core/res/res/drawable-hdpi/ic_media_next.png
+++ b/core/res/res/drawable-hdpi/ic_media_next.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_media_pause.png b/core/res/res/drawable-hdpi/ic_media_pause.png
index ffb55cd..671148e 100644
--- a/core/res/res/drawable-hdpi/ic_media_pause.png
+++ b/core/res/res/drawable-hdpi/ic_media_pause.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_media_play.png b/core/res/res/drawable-hdpi/ic_media_play.png
index e525bd2..c2e366a 100644
--- a/core/res/res/drawable-hdpi/ic_media_play.png
+++ b/core/res/res/drawable-hdpi/ic_media_play.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_media_previous.png b/core/res/res/drawable-hdpi/ic_media_previous.png
index 3333711..15dc390 100644
--- a/core/res/res/drawable-hdpi/ic_media_previous.png
+++ b/core/res/res/drawable-hdpi/ic_media_previous.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_media_rew.png b/core/res/res/drawable-hdpi/ic_media_rew.png
index b14e9b9..a4ac181 100644
--- a/core/res/res/drawable-hdpi/ic_media_rew.png
+++ b/core/res/res/drawable-hdpi/ic_media_rew.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_media_stop.png b/core/res/res/drawable-hdpi/ic_media_stop.png
new file mode 100644
index 0000000..ec0c1ea
--- /dev/null
+++ b/core/res/res/drawable-hdpi/ic_media_stop.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/list_pressed_holo_dark.9.png b/core/res/res/drawable-hdpi/list_pressed_holo_dark.9.png
index 82f6734..5654cd6 100644
--- a/core/res/res/drawable-hdpi/list_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/list_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/list_pressed_holo_light.9.png b/core/res/res/drawable-hdpi/list_pressed_holo_light.9.png
index 82f6734..5654cd6 100644
--- a/core/res/res/drawable-hdpi/list_pressed_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/list_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/list_section_divider_holo_dark.9.png b/core/res/res/drawable-hdpi/list_section_divider_holo_dark.9.png
index 5522f5c..43a20ad 100644
--- a/core/res/res/drawable-hdpi/list_section_divider_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/list_section_divider_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/list_section_divider_holo_light.9.png b/core/res/res/drawable-hdpi/list_section_divider_holo_light.9.png
index a9dbfb9..b7b292e 100644
--- a/core/res/res/drawable-hdpi/list_section_divider_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/list_section_divider_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/list_selected_holo_dark.9.png b/core/res/res/drawable-hdpi/list_selected_holo_dark.9.png
index 5f5b23f..dae40ca 100644
--- a/core/res/res/drawable-hdpi/list_selected_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/list_selected_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/list_selected_holo_light.9.png b/core/res/res/drawable-hdpi/list_selected_holo_light.9.png
index 5f5b23f..dae40ca 100644
--- a/core/res/res/drawable-hdpi/list_selected_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/list_selected_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/menu_submenu_background.9.png b/core/res/res/drawable-hdpi/menu_submenu_background.9.png
index cbd4400..7b7c8b2 100644
--- a/core/res/res/drawable-hdpi/menu_submenu_background.9.png
+++ b/core/res/res/drawable-hdpi/menu_submenu_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/panel_bg_holo_dark.9.png b/core/res/res/drawable-hdpi/panel_bg_holo_dark.9.png
index 0f883dc..416b456 100644
--- a/core/res/res/drawable-hdpi/panel_bg_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/panel_bg_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/picture_emergency.png b/core/res/res/drawable-hdpi/picture_emergency.png
index e088f12..0e13a43 100644
--- a/core/res/res/drawable-hdpi/picture_emergency.png
+++ b/core/res/res/drawable-hdpi/picture_emergency.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/presence_away.png b/core/res/res/drawable-hdpi/presence_away.png
index 4ef2821..b25b821 100644
--- a/core/res/res/drawable-hdpi/presence_away.png
+++ b/core/res/res/drawable-hdpi/presence_away.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/progress_bg_holo_dark.9.png b/core/res/res/drawable-hdpi/progress_bg_holo_dark.9.png
index 5aea3d9..310c368 100644
--- a/core/res/res/drawable-hdpi/progress_bg_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/progress_bg_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/progress_bg_holo_light.9.png b/core/res/res/drawable-hdpi/progress_bg_holo_light.9.png
index 5743d06..70cb7fc 100644
--- a/core/res/res/drawable-hdpi/progress_bg_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/progress_bg_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/progress_primary_holo_dark.9.png b/core/res/res/drawable-hdpi/progress_primary_holo_dark.9.png
index e2c63b0..7cbff01 100644
--- a/core/res/res/drawable-hdpi/progress_primary_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/progress_primary_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/progress_primary_holo_light.9.png b/core/res/res/drawable-hdpi/progress_primary_holo_light.9.png
index e2c63b0..7cbff01 100644
--- a/core/res/res/drawable-hdpi/progress_primary_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/progress_primary_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/progress_secondary_holo_dark.9.png b/core/res/res/drawable-hdpi/progress_secondary_holo_dark.9.png
index 4b204e7..40d0d16 100644
--- a/core/res/res/drawable-hdpi/progress_secondary_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/progress_secondary_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/progress_secondary_holo_light.9.png b/core/res/res/drawable-hdpi/progress_secondary_holo_light.9.png
index 4b204e7..40d0d16 100644
--- a/core/res/res/drawable-hdpi/progress_secondary_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/progress_secondary_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/quickcontact_badge_overlay_pressed_dark.9.png b/core/res/res/drawable-hdpi/quickcontact_badge_overlay_pressed_dark.9.png
index 501a573..df7f236 100644
--- a/core/res/res/drawable-hdpi/quickcontact_badge_overlay_pressed_dark.9.png
+++ b/core/res/res/drawable-hdpi/quickcontact_badge_overlay_pressed_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/quickcontact_badge_overlay_pressed_light.9.png b/core/res/res/drawable-hdpi/quickcontact_badge_overlay_pressed_light.9.png
index b43cb43..8950f81 100644
--- a/core/res/res/drawable-hdpi/quickcontact_badge_overlay_pressed_light.9.png
+++ b/core/res/res/drawable-hdpi/quickcontact_badge_overlay_pressed_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/scrubber_primary_holo.9.png b/core/res/res/drawable-hdpi/scrubber_primary_holo.9.png
index 0fdd530..0d13f71 100644
--- a/core/res/res/drawable-hdpi/scrubber_primary_holo.9.png
+++ b/core/res/res/drawable-hdpi/scrubber_primary_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/scrubber_secondary_holo.9.png b/core/res/res/drawable-hdpi/scrubber_secondary_holo.9.png
index a7eaf66..b39d831 100644
--- a/core/res/res/drawable-hdpi/scrubber_secondary_holo.9.png
+++ b/core/res/res/drawable-hdpi/scrubber_secondary_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/scrubber_track_holo_dark.9.png b/core/res/res/drawable-hdpi/scrubber_track_holo_dark.9.png
index 14ce985..c997bf0 100644
--- a/core/res/res/drawable-hdpi/scrubber_track_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/scrubber_track_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/scrubber_track_holo_light.9.png b/core/res/res/drawable-hdpi/scrubber_track_holo_light.9.png
index 5edaed5..b2a22dc 100644
--- a/core/res/res/drawable-hdpi/scrubber_track_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/scrubber_track_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_ab_default_holo_dark.9.png b/core/res/res/drawable-hdpi/spinner_ab_default_holo_dark.9.png
index 15a7aa1..b306f22 100644
--- a/core/res/res/drawable-hdpi/spinner_ab_default_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/spinner_ab_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_ab_default_holo_light.9.png b/core/res/res/drawable-hdpi/spinner_ab_default_holo_light.9.png
index a0f7e3e..21cf17e 100644
--- a/core/res/res/drawable-hdpi/spinner_ab_default_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/spinner_ab_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_ab_disabled_holo_dark.9.png b/core/res/res/drawable-hdpi/spinner_ab_disabled_holo_dark.9.png
index 03f0254..b9833f3 100644
--- a/core/res/res/drawable-hdpi/spinner_ab_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/spinner_ab_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_ab_disabled_holo_light.9.png b/core/res/res/drawable-hdpi/spinner_ab_disabled_holo_light.9.png
index 54c4f17..f68b662 100644
--- a/core/res/res/drawable-hdpi/spinner_ab_disabled_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/spinner_ab_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_ab_focused_holo_dark.9.png b/core/res/res/drawable-hdpi/spinner_ab_focused_holo_dark.9.png
index 7f062fe..2a23d3a 100644
--- a/core/res/res/drawable-hdpi/spinner_ab_focused_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/spinner_ab_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_ab_focused_holo_light.9.png b/core/res/res/drawable-hdpi/spinner_ab_focused_holo_light.9.png
index 7f062fe..2a23d3a 100644
--- a/core/res/res/drawable-hdpi/spinner_ab_focused_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/spinner_ab_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_dark.9.png b/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_dark.9.png
index 5b0958b..3128fd9 100644
--- a/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_light.9.png b/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_light.9.png
index 6d34b40..924a93b 100644
--- a/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_default_holo_dark.9.png b/core/res/res/drawable-hdpi/spinner_default_holo_dark.9.png
index 80bba6b..09fc9c3 100644
--- a/core/res/res/drawable-hdpi/spinner_default_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/spinner_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_default_holo_light.9.png b/core/res/res/drawable-hdpi/spinner_default_holo_light.9.png
index ffd9e37..bb257b9 100644
--- a/core/res/res/drawable-hdpi/spinner_default_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/spinner_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_disabled_holo_dark.9.png b/core/res/res/drawable-hdpi/spinner_disabled_holo_dark.9.png
index ea20276..df49a4d 100644
--- a/core/res/res/drawable-hdpi/spinner_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/spinner_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_disabled_holo_light.9.png b/core/res/res/drawable-hdpi/spinner_disabled_holo_light.9.png
index c2b031c..a6cb992 100644
--- a/core/res/res/drawable-hdpi/spinner_disabled_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/spinner_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_focused_holo_dark.9.png b/core/res/res/drawable-hdpi/spinner_focused_holo_dark.9.png
index a3fc804..75815a6 100644
--- a/core/res/res/drawable-hdpi/spinner_focused_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/spinner_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_focused_holo_light.9.png b/core/res/res/drawable-hdpi/spinner_focused_holo_light.9.png
index a3fc804..75815a6 100644
--- a/core/res/res/drawable-hdpi/spinner_focused_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/spinner_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_pressed_holo_dark.9.png b/core/res/res/drawable-hdpi/spinner_pressed_holo_dark.9.png
index 86aa7da..dff47c0 100644
--- a/core/res/res/drawable-hdpi/spinner_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/spinner_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_pressed_holo_light.9.png b/core/res/res/drawable-hdpi/spinner_pressed_holo_light.9.png
index c8ec05d..8c3d297 100644
--- a/core/res/res/drawable-hdpi/spinner_pressed_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/spinner_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_call_mute.png b/core/res/res/drawable-hdpi/stat_notify_call_mute.png
old mode 100755
new mode 100644
index 9887faa..1446fa7
--- a/core/res/res/drawable-hdpi/stat_notify_call_mute.png
+++ b/core/res/res/drawable-hdpi/stat_notify_call_mute.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_car_mode.png b/core/res/res/drawable-hdpi/stat_notify_car_mode.png
index 94f288c..bc6137d 100644
--- a/core/res/res/drawable-hdpi/stat_notify_car_mode.png
+++ b/core/res/res/drawable-hdpi/stat_notify_car_mode.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_chat.png b/core/res/res/drawable-hdpi/stat_notify_chat.png
index bddea50..845aef3 100644
--- a/core/res/res/drawable-hdpi/stat_notify_chat.png
+++ b/core/res/res/drawable-hdpi/stat_notify_chat.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_disk_full.png b/core/res/res/drawable-hdpi/stat_notify_disk_full.png
old mode 100755
new mode 100644
index b44ce58..c696a5b
--- a/core/res/res/drawable-hdpi/stat_notify_disk_full.png
+++ b/core/res/res/drawable-hdpi/stat_notify_disk_full.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_email_generic.png b/core/res/res/drawable-hdpi/stat_notify_email_generic.png
index 8d60237..c19d667 100644
--- a/core/res/res/drawable-hdpi/stat_notify_email_generic.png
+++ b/core/res/res/drawable-hdpi/stat_notify_email_generic.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_error.png b/core/res/res/drawable-hdpi/stat_notify_error.png
old mode 100755
new mode 100644
index 6942871..dbaf944
--- a/core/res/res/drawable-hdpi/stat_notify_error.png
+++ b/core/res/res/drawable-hdpi/stat_notify_error.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_gmail.png b/core/res/res/drawable-hdpi/stat_notify_gmail.png
index bf8582a..f205a7c 100644
--- a/core/res/res/drawable-hdpi/stat_notify_gmail.png
+++ b/core/res/res/drawable-hdpi/stat_notify_gmail.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_missed_call.png b/core/res/res/drawable-hdpi/stat_notify_missed_call.png
index 6df57ff3..74f5df7 100644
--- a/core/res/res/drawable-hdpi/stat_notify_missed_call.png
+++ b/core/res/res/drawable-hdpi/stat_notify_missed_call.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_sdcard.png b/core/res/res/drawable-hdpi/stat_notify_sdcard.png
old mode 100755
new mode 100644
index 0857774..5892d38
--- a/core/res/res/drawable-hdpi/stat_notify_sdcard.png
+++ b/core/res/res/drawable-hdpi/stat_notify_sdcard.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_sdcard_prepare.png b/core/res/res/drawable-hdpi/stat_notify_sdcard_prepare.png
old mode 100755
new mode 100644
index 3880496..1c101ea
--- a/core/res/res/drawable-hdpi/stat_notify_sdcard_prepare.png
+++ b/core/res/res/drawable-hdpi/stat_notify_sdcard_prepare.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_sdcard_usb.png b/core/res/res/drawable-hdpi/stat_notify_sdcard_usb.png
old mode 100755
new mode 100644
index ac984ef..901eac4
--- a/core/res/res/drawable-hdpi/stat_notify_sdcard_usb.png
+++ b/core/res/res/drawable-hdpi/stat_notify_sdcard_usb.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_sim_toolkit.png b/core/res/res/drawable-hdpi/stat_notify_sim_toolkit.png
old mode 100755
new mode 100644
index b7ba4ba..a357251
--- a/core/res/res/drawable-hdpi/stat_notify_sim_toolkit.png
+++ b/core/res/res/drawable-hdpi/stat_notify_sim_toolkit.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_sync.png b/core/res/res/drawable-hdpi/stat_notify_sync.png
old mode 100755
new mode 100644
index 76319b0..90b39c9
--- a/core/res/res/drawable-hdpi/stat_notify_sync.png
+++ b/core/res/res/drawable-hdpi/stat_notify_sync.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_sync_anim0.png b/core/res/res/drawable-hdpi/stat_notify_sync_anim0.png
old mode 100755
new mode 100644
index 863c3d7..90b39c9
--- a/core/res/res/drawable-hdpi/stat_notify_sync_anim0.png
+++ b/core/res/res/drawable-hdpi/stat_notify_sync_anim0.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_sync_error.png b/core/res/res/drawable-hdpi/stat_notify_sync_error.png
old mode 100755
new mode 100644
index 0083c3f..074cdee
--- a/core/res/res/drawable-hdpi/stat_notify_sync_error.png
+++ b/core/res/res/drawable-hdpi/stat_notify_sync_error.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_voicemail.png b/core/res/res/drawable-hdpi/stat_notify_voicemail.png
old mode 100755
new mode 100644
index 499325b..896d1ce
--- a/core/res/res/drawable-hdpi/stat_notify_voicemail.png
+++ b/core/res/res/drawable-hdpi/stat_notify_voicemail.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_wifi_in_range.png b/core/res/res/drawable-hdpi/stat_notify_wifi_in_range.png
index 8d80709..97ddb3c 100644
--- a/core/res/res/drawable-hdpi/stat_notify_wifi_in_range.png
+++ b/core/res/res/drawable-hdpi/stat_notify_wifi_in_range.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_adb.png b/core/res/res/drawable-hdpi/stat_sys_adb.png
old mode 100755
new mode 100644
index 615e8b3..ddb8a71
--- a/core/res/res/drawable-hdpi/stat_sys_adb.png
+++ b/core/res/res/drawable-hdpi/stat_sys_adb.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_bluetooth.png b/core/res/res/drawable-hdpi/stat_sys_data_bluetooth.png
index 526fbfa..8e08f1c 100644
--- a/core/res/res/drawable-hdpi/stat_sys_data_bluetooth.png
+++ b/core/res/res/drawable-hdpi/stat_sys_data_bluetooth.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_data_usb.png b/core/res/res/drawable-hdpi/stat_sys_data_usb.png
old mode 100755
new mode 100644
index 606ef80..f14f908
--- a/core/res/res/drawable-hdpi/stat_sys_data_usb.png
+++ b/core/res/res/drawable-hdpi/stat_sys_data_usb.png
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 0510128..910de29 100644
--- 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 631622b..71ea925 100644
--- 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 e300245..bc1877d 100644
--- 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 fd220e3..9f41092 100644
--- 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 a1ea9e3..5fa6305 100644
--- 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 7804a29..703759a 100644
--- 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_gps_on.png b/core/res/res/drawable-hdpi/stat_sys_gps_on.png
index 542ebb0..cb8a1e8 100644
--- a/core/res/res/drawable-hdpi/stat_sys_gps_on.png
+++ b/core/res/res/drawable-hdpi/stat_sys_gps_on.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_secure.png b/core/res/res/drawable-hdpi/stat_sys_secure.png
old mode 100755
new mode 100644
index c4a17de..5e979db
--- a/core/res/res/drawable-hdpi/stat_sys_secure.png
+++ b/core/res/res/drawable-hdpi/stat_sys_secure.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_speakerphone.png b/core/res/res/drawable-hdpi/stat_sys_speakerphone.png
old mode 100755
new mode 100644
index a9a2b2e..a9af4a8
--- a/core/res/res/drawable-hdpi/stat_sys_speakerphone.png
+++ b/core/res/res/drawable-hdpi/stat_sys_speakerphone.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_tether_wifi.png b/core/res/res/drawable-hdpi/stat_sys_tether_wifi.png
index 6218c3f..576bd77 100644
--- a/core/res/res/drawable-hdpi/stat_sys_tether_wifi.png
+++ b/core/res/res/drawable-hdpi/stat_sys_tether_wifi.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_throttled.png b/core/res/res/drawable-hdpi/stat_sys_throttled.png
old mode 100755
new mode 100644
index 99ae4ac..ed66abf
--- a/core/res/res/drawable-hdpi/stat_sys_throttled.png
+++ b/core/res/res/drawable-hdpi/stat_sys_throttled.png
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 48ba735..78f54b7 100644
--- 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 cbb06a5..9ec9f2e 100644
--- 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 e4edda9..3a9031e 100644
--- 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 c2a9b03..486c1ed 100644
--- 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 23f2f9d..b35672c 100644
--- 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 3fd8b7f..4611122 100644
--- 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/stat_sys_warning.png b/core/res/res/drawable-hdpi/stat_sys_warning.png
old mode 100755
new mode 100644
index 0d1a33c..dbaf944
--- a/core/res/res/drawable-hdpi/stat_sys_warning.png
+++ b/core/res/res/drawable-hdpi/stat_sys_warning.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_bg_disabled_holo_dark.9.png b/core/res/res/drawable-hdpi/switch_bg_disabled_holo_dark.9.png
index ed3656c..e65f21a 100644
--- a/core/res/res/drawable-hdpi/switch_bg_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/switch_bg_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_bg_disabled_holo_light.9.png b/core/res/res/drawable-hdpi/switch_bg_disabled_holo_light.9.png
index 7f483966..76c5484 100644
--- a/core/res/res/drawable-hdpi/switch_bg_disabled_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/switch_bg_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_bg_focused_holo_dark.9.png b/core/res/res/drawable-hdpi/switch_bg_focused_holo_dark.9.png
index fb7cfb0..80a7ef1 100644
--- a/core/res/res/drawable-hdpi/switch_bg_focused_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/switch_bg_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_bg_focused_holo_light.9.png b/core/res/res/drawable-hdpi/switch_bg_focused_holo_light.9.png
index ff74860..bd11555 100644
--- a/core/res/res/drawable-hdpi/switch_bg_focused_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/switch_bg_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_bg_holo_dark.9.png b/core/res/res/drawable-hdpi/switch_bg_holo_dark.9.png
index 941b131..1fba7ee 100644
--- a/core/res/res/drawable-hdpi/switch_bg_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/switch_bg_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_bg_holo_light.9.png b/core/res/res/drawable-hdpi/switch_bg_holo_light.9.png
index a776df9..5a484dfc 100644
--- a/core/res/res/drawable-hdpi/switch_bg_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/switch_bg_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_thumb_activated_holo_dark.9.png b/core/res/res/drawable-hdpi/switch_thumb_activated_holo_dark.9.png
index 268e395..152c338 100644
--- a/core/res/res/drawable-hdpi/switch_thumb_activated_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/switch_thumb_activated_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_thumb_activated_holo_light.9.png b/core/res/res/drawable-hdpi/switch_thumb_activated_holo_light.9.png
index f842ca5..9c44d4b 100644
--- a/core/res/res/drawable-hdpi/switch_thumb_activated_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/switch_thumb_activated_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_thumb_disabled_holo_dark.9.png b/core/res/res/drawable-hdpi/switch_thumb_disabled_holo_dark.9.png
index 29e6f24..cb45648 100644
--- a/core/res/res/drawable-hdpi/switch_thumb_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/switch_thumb_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_thumb_disabled_holo_light.9.png b/core/res/res/drawable-hdpi/switch_thumb_disabled_holo_light.9.png
index 08af1f7..13dd09a 100644
--- a/core/res/res/drawable-hdpi/switch_thumb_disabled_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/switch_thumb_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_thumb_holo_dark.9.png b/core/res/res/drawable-hdpi/switch_thumb_holo_dark.9.png
index 797e9fb..e72f428 100644
--- a/core/res/res/drawable-hdpi/switch_thumb_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/switch_thumb_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_thumb_holo_light.9.png b/core/res/res/drawable-hdpi/switch_thumb_holo_light.9.png
index 370faf2..84504eb 100644
--- a/core/res/res/drawable-hdpi/switch_thumb_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/switch_thumb_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_thumb_pressed_holo_dark.9.png b/core/res/res/drawable-hdpi/switch_thumb_pressed_holo_dark.9.png
index 200a243..44a4baa 100644
--- a/core/res/res/drawable-hdpi/switch_thumb_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/switch_thumb_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_thumb_pressed_holo_light.9.png b/core/res/res/drawable-hdpi/switch_thumb_pressed_holo_light.9.png
index 4e537c9..5c5ee81 100644
--- a/core/res/res/drawable-hdpi/switch_thumb_pressed_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/switch_thumb_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_bottom_holo.9.png b/core/res/res/drawable-hdpi/tab_bottom_holo.9.png
index ec9fa8d..9286c7a 100644
--- a/core/res/res/drawable-hdpi/tab_bottom_holo.9.png
+++ b/core/res/res/drawable-hdpi/tab_bottom_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_focus.9.png b/core/res/res/drawable-hdpi/tab_focus.9.png
index 6e8a71f..89a1c0b 100644
--- a/core/res/res/drawable-hdpi/tab_focus.9.png
+++ b/core/res/res/drawable-hdpi/tab_focus.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_focus_bar_left.9.png b/core/res/res/drawable-hdpi/tab_focus_bar_left.9.png
index 51194a4..e879e37 100644
--- a/core/res/res/drawable-hdpi/tab_focus_bar_left.9.png
+++ b/core/res/res/drawable-hdpi/tab_focus_bar_left.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_focus_bar_right.9.png b/core/res/res/drawable-hdpi/tab_focus_bar_right.9.png
index 51194a4..e879e37 100644
--- a/core/res/res/drawable-hdpi/tab_focus_bar_right.9.png
+++ b/core/res/res/drawable-hdpi/tab_focus_bar_right.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_focused_holo.9.png b/core/res/res/drawable-hdpi/tab_focused_holo.9.png
deleted file mode 100644
index 39a8f7a..0000000
--- a/core/res/res/drawable-hdpi/tab_focused_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_press.9.png b/core/res/res/drawable-hdpi/tab_press.9.png
index 119b2c6..4c34188 100644
--- a/core/res/res/drawable-hdpi/tab_press.9.png
+++ b/core/res/res/drawable-hdpi/tab_press.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_press_bar_left.9.png b/core/res/res/drawable-hdpi/tab_press_bar_left.9.png
index dc2fbce..c5f44f3 100644
--- a/core/res/res/drawable-hdpi/tab_press_bar_left.9.png
+++ b/core/res/res/drawable-hdpi/tab_press_bar_left.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_press_bar_right.9.png b/core/res/res/drawable-hdpi/tab_press_bar_right.9.png
index dc2fbce..c5f44f3 100644
--- a/core/res/res/drawable-hdpi/tab_press_bar_right.9.png
+++ b/core/res/res/drawable-hdpi/tab_press_bar_right.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_pressed_holo.9.png b/core/res/res/drawable-hdpi/tab_pressed_holo.9.png
index b8a569f..2adb22c 100644
--- a/core/res/res/drawable-hdpi/tab_pressed_holo.9.png
+++ b/core/res/res/drawable-hdpi/tab_pressed_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_selected.9.png b/core/res/res/drawable-hdpi/tab_selected.9.png
index f036b9a..46a331f 100644
--- a/core/res/res/drawable-hdpi/tab_selected.9.png
+++ b/core/res/res/drawable-hdpi/tab_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_selected_bar_left.9.png b/core/res/res/drawable-hdpi/tab_selected_bar_left.9.png
index aa935fe..53efbb4 100644
--- a/core/res/res/drawable-hdpi/tab_selected_bar_left.9.png
+++ b/core/res/res/drawable-hdpi/tab_selected_bar_left.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_selected_bar_right.9.png b/core/res/res/drawable-hdpi/tab_selected_bar_right.9.png
index aa935fe..53efbb4 100644
--- a/core/res/res/drawable-hdpi/tab_selected_bar_right.9.png
+++ b/core/res/res/drawable-hdpi/tab_selected_bar_right.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_unselected.9.png b/core/res/res/drawable-hdpi/tab_unselected.9.png
index c3a1f30..74181af 100644
--- a/core/res/res/drawable-hdpi/tab_unselected.9.png
+++ b/core/res/res/drawable-hdpi/tab_unselected.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/text_edit_side_paste_window.9.png b/core/res/res/drawable-hdpi/text_edit_side_paste_window.9.png
index c564495..c6adea3 100644
--- a/core/res/res/drawable-hdpi/text_edit_side_paste_window.9.png
+++ b/core/res/res/drawable-hdpi/text_edit_side_paste_window.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/text_select_handle_left.png b/core/res/res/drawable-hdpi/text_select_handle_left.png
index e42a62e..82cb640 100644
--- a/core/res/res/drawable-hdpi/text_select_handle_left.png
+++ b/core/res/res/drawable-hdpi/text_select_handle_left.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/text_select_handle_middle.png b/core/res/res/drawable-hdpi/text_select_handle_middle.png
index 00d47f2..a2a909a 100644
--- a/core/res/res/drawable-hdpi/text_select_handle_middle.png
+++ b/core/res/res/drawable-hdpi/text_select_handle_middle.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/text_select_handle_right.png b/core/res/res/drawable-hdpi/text_select_handle_right.png
index 7426543..31f1c03 100644
--- a/core/res/res/drawable-hdpi/text_select_handle_right.png
+++ b/core/res/res/drawable-hdpi/text_select_handle_right.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_focused_holo_dark.9.png b/core/res/res/drawable-hdpi/textfield_focused_holo_dark.9.png
index 0ce5d13..03a81d9 100644
--- a/core/res/res/drawable-hdpi/textfield_focused_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/textfield_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_focused_holo_light.9.png b/core/res/res/drawable-hdpi/textfield_focused_holo_light.9.png
index 945516e..03a81d9 100644
--- a/core/res/res/drawable-hdpi/textfield_focused_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/textfield_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_search_right_selected_holo_light.9.png b/core/res/res/drawable-hdpi/textfield_search_right_selected_holo_light.9.png
index e79e95b..b778741 100644
--- a/core/res/res/drawable-hdpi/textfield_search_right_selected_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/textfield_search_right_selected_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_search_selected_holo_light.9.png b/core/res/res/drawable-hdpi/textfield_search_selected_holo_light.9.png
index 177b631..c423a74 100644
--- a/core/res/res/drawable-hdpi/textfield_search_selected_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/textfield_search_selected_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-land-hdpi/bottombar_565.png b/core/res/res/drawable-land-hdpi/bottombar_565.png
deleted file mode 100755
index 9df56ca..0000000
--- a/core/res/res/drawable-land-hdpi/bottombar_565.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-land-ldpi/bottombar_565.png b/core/res/res/drawable-land-ldpi/bottombar_565.png
deleted file mode 100644
index 112c17d..0000000
--- a/core/res/res/drawable-land-ldpi/bottombar_565.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-land-mdpi/bottombar_565.png b/core/res/res/drawable-land-mdpi/bottombar_565.png
deleted file mode 100644
index 6121856..0000000
--- a/core/res/res/drawable-land-mdpi/bottombar_565.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-land-xhdpi/btn_lock_normal.9.png b/core/res/res/drawable-land-xhdpi/btn_lock_normal.9.png
new file mode 100644
index 0000000..e7c4a19
--- /dev/null
+++ b/core/res/res/drawable-land-xhdpi/btn_lock_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ab_bottom_solid_dark_holo.9.png b/core/res/res/drawable-mdpi/ab_bottom_solid_dark_holo.9.png
index 3807a48..b3d51ed 100644
--- a/core/res/res/drawable-mdpi/ab_bottom_solid_dark_holo.9.png
+++ b/core/res/res/drawable-mdpi/ab_bottom_solid_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ab_bottom_solid_inverse_holo.9.png b/core/res/res/drawable-mdpi/ab_bottom_solid_inverse_holo.9.png
index 9994438..abae537 100644
--- a/core/res/res/drawable-mdpi/ab_bottom_solid_inverse_holo.9.png
+++ b/core/res/res/drawable-mdpi/ab_bottom_solid_inverse_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ab_bottom_solid_light_holo.9.png b/core/res/res/drawable-mdpi/ab_bottom_solid_light_holo.9.png
index 5648403..4c98afb 100644
--- a/core/res/res/drawable-mdpi/ab_bottom_solid_light_holo.9.png
+++ b/core/res/res/drawable-mdpi/ab_bottom_solid_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ab_bottom_transparent_dark_holo.9.png b/core/res/res/drawable-mdpi/ab_bottom_transparent_dark_holo.9.png
index 261365d..de8010a 100644
--- a/core/res/res/drawable-mdpi/ab_bottom_transparent_dark_holo.9.png
+++ b/core/res/res/drawable-mdpi/ab_bottom_transparent_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ab_bottom_transparent_light_holo.9.png b/core/res/res/drawable-mdpi/ab_bottom_transparent_light_holo.9.png
index 95df5fc..ecb2a0e 100644
--- a/core/res/res/drawable-mdpi/ab_bottom_transparent_light_holo.9.png
+++ b/core/res/res/drawable-mdpi/ab_bottom_transparent_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ab_solid_dark_holo.9.png b/core/res/res/drawable-mdpi/ab_solid_dark_holo.9.png
index 4a6c3bc..56d27a8 100644
--- a/core/res/res/drawable-mdpi/ab_solid_dark_holo.9.png
+++ b/core/res/res/drawable-mdpi/ab_solid_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ab_solid_light_holo.9.png b/core/res/res/drawable-mdpi/ab_solid_light_holo.9.png
index 93a0c3e..98b4956 100644
--- a/core/res/res/drawable-mdpi/ab_solid_light_holo.9.png
+++ b/core/res/res/drawable-mdpi/ab_solid_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ab_solid_shadow_holo.9.png b/core/res/res/drawable-mdpi/ab_solid_shadow_holo.9.png
index f3abd07..dcd3703 100644
--- a/core/res/res/drawable-mdpi/ab_solid_shadow_holo.9.png
+++ b/core/res/res/drawable-mdpi/ab_solid_shadow_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ab_stacked_solid_dark_holo.9.png b/core/res/res/drawable-mdpi/ab_stacked_solid_dark_holo.9.png
index e1d8f67..aa0a3a0 100644
--- a/core/res/res/drawable-mdpi/ab_stacked_solid_dark_holo.9.png
+++ b/core/res/res/drawable-mdpi/ab_stacked_solid_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ab_stacked_solid_inverse_holo.9.png b/core/res/res/drawable-mdpi/ab_stacked_solid_inverse_holo.9.png
index 9d7e953..cf17967 100644
--- a/core/res/res/drawable-mdpi/ab_stacked_solid_inverse_holo.9.png
+++ b/core/res/res/drawable-mdpi/ab_stacked_solid_inverse_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ab_stacked_solid_light_holo.9.png b/core/res/res/drawable-mdpi/ab_stacked_solid_light_holo.9.png
index 711e0fd..ab0003b 100644
--- a/core/res/res/drawable-mdpi/ab_stacked_solid_light_holo.9.png
+++ b/core/res/res/drawable-mdpi/ab_stacked_solid_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ab_stacked_transparent_dark_holo.9.png b/core/res/res/drawable-mdpi/ab_stacked_transparent_dark_holo.9.png
index 9649a2d..5f1eb1e 100644
--- a/core/res/res/drawable-mdpi/ab_stacked_transparent_dark_holo.9.png
+++ b/core/res/res/drawable-mdpi/ab_stacked_transparent_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ab_stacked_transparent_light_holo.9.png b/core/res/res/drawable-mdpi/ab_stacked_transparent_light_holo.9.png
index 376e4ef..89822b6 100644
--- a/core/res/res/drawable-mdpi/ab_stacked_transparent_light_holo.9.png
+++ b/core/res/res/drawable-mdpi/ab_stacked_transparent_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ab_transparent_dark_holo.9.png b/core/res/res/drawable-mdpi/ab_transparent_dark_holo.9.png
index 99c8fd3..bd9921f 100644
--- a/core/res/res/drawable-mdpi/ab_transparent_dark_holo.9.png
+++ b/core/res/res/drawable-mdpi/ab_transparent_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ab_transparent_light_holo.9.png b/core/res/res/drawable-mdpi/ab_transparent_light_holo.9.png
index a86ec34..8d93926 100644
--- a/core/res/res/drawable-mdpi/ab_transparent_light_holo.9.png
+++ b/core/res/res/drawable-mdpi/ab_transparent_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_group_focused_holo_dark.9.png b/core/res/res/drawable-mdpi/btn_group_focused_holo_dark.9.png
index b77cc78..290b977 100644
--- a/core/res/res/drawable-mdpi/btn_group_focused_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/btn_group_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_group_focused_holo_light.9.png b/core/res/res/drawable-mdpi/btn_group_focused_holo_light.9.png
index aa00c75..290b977 100644
--- a/core/res/res/drawable-mdpi/btn_group_focused_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/btn_group_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_group_pressed_holo_dark.9.png b/core/res/res/drawable-mdpi/btn_group_pressed_holo_dark.9.png
index e35333b..ffc11b7 100644
--- a/core/res/res/drawable-mdpi/btn_group_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/btn_group_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_group_pressed_holo_light.9.png b/core/res/res/drawable-mdpi/btn_group_pressed_holo_light.9.png
index 878fdda..8b5d036 100644
--- a/core/res/res/drawable-mdpi/btn_group_pressed_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/btn_group_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_normal.9.png b/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_normal.9.png
index 0fbdbfa..93767a5 100644
--- a/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_normal.9.png
+++ b/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_normal_off.9.png b/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_normal_off.9.png
index ae97453..7f16a44 100644
--- a/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_normal_off.9.png
+++ b/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_normal_off.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_normal_on.9.png b/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_normal_on.9.png
index 4127d1e..7887c2e 100644
--- a/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_normal_on.9.png
+++ b/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_normal_on.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_pressed.9.png b/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_pressed.9.png
index 525ab8a..88dc173 100644
--- a/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_pressed.9.png
+++ b/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_pressed_off.9.png b/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_pressed_off.9.png
index eb05820..9578c09 100644
--- a/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_pressed_off.9.png
+++ b/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_pressed_off.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_pressed_on.9.png b/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_pressed_on.9.png
index 416b2c7..48d2b09 100644
--- a/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_pressed_on.9.png
+++ b/core/res/res/drawable-mdpi/btn_keyboard_key_fulltrans_pressed_on.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_dark.png
index 480ef44..056b9b8 100644
--- a/core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_light.png
index eaac916..66aab54 100644
--- a/core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_off_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_off_focused_holo_dark.png
index 2f27022..303177c 100644
--- a/core/res/res/drawable-mdpi/btn_radio_off_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_off_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_off_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_off_focused_holo_light.png
index 20a98b3..e939d92 100644
--- a/core/res/res/drawable-mdpi/btn_radio_off_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_off_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_dark.png
index 46ebc0d6..b615e9e 100644
--- a/core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_light.png
index 8052955..a081e7e 100644
--- a/core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_dark.png
index 7bd4276..f43d7fc 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_light.png
index 0473f84..e137d46 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_dark.png
index d92d7ee..1337d85 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_light.png
index f10cbd3..4dc896e 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_on_focused_holo_dark.png
index 3ec97a3..d051fb7 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_on_focused_holo_light.png
index 6624511..260283d 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_on_holo_dark.png
index 7826205..6628c81 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_on_holo_light.png
index ed5acc9..3bfa580 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_dark.png
index fad9d2a..a6ccaab 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_light.png
index f5d5453..001cada1 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_focused_holo_light.png
index e51a584..ebea1db 100644
--- a/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_holo_light.png
index 820416a..761c936 100644
--- a/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_on_focused_holo_light.png
index f02e838..c505d3d 100644
--- a/core/res/res/drawable-mdpi/btn_rating_star_on_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_rating_star_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_normal_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_on_normal_holo_light.png
index 321fcb9..99a71ef 100644
--- a/core/res/res/drawable-mdpi/btn_rating_star_on_normal_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_rating_star_on_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_pressed_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_on_pressed_holo_light.png
index f671c56..3c48fa1 100644
--- a/core/res/res/drawable-mdpi/btn_rating_star_on_pressed_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_rating_star_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/checkbox_off_background.png b/core/res/res/drawable-mdpi/checkbox_off_background.png
index 6b2124f..825ea66 100644
--- a/core/res/res/drawable-mdpi/checkbox_off_background.png
+++ b/core/res/res/drawable-mdpi/checkbox_off_background.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/checkbox_on_background.png b/core/res/res/drawable-mdpi/checkbox_on_background.png
index 56495fc..57585da 100644
--- a/core/res/res/drawable-mdpi/checkbox_on_background.png
+++ b/core/res/res/drawable-mdpi/checkbox_on_background.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/combobox_disabled.png b/core/res/res/drawable-mdpi/combobox_disabled.png
index c32db7e..94ad006 100644
--- a/core/res/res/drawable-mdpi/combobox_disabled.png
+++ b/core/res/res/drawable-mdpi/combobox_disabled.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/combobox_nohighlight.png b/core/res/res/drawable-mdpi/combobox_nohighlight.png
index 1963316..75d642c 100644
--- a/core/res/res/drawable-mdpi/combobox_nohighlight.png
+++ b/core/res/res/drawable-mdpi/combobox_nohighlight.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/create_contact.png b/core/res/res/drawable-mdpi/create_contact.png
index 5c5718b..5a9360b 100644
--- a/core/res/res/drawable-mdpi/create_contact.png
+++ b/core/res/res/drawable-mdpi/create_contact.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dialog_divider_horizontal_holo_dark.9.png b/core/res/res/drawable-mdpi/dialog_divider_horizontal_holo_dark.9.png
index 77b0999..1851468 100644
--- a/core/res/res/drawable-mdpi/dialog_divider_horizontal_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/dialog_divider_horizontal_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dialog_divider_horizontal_holo_light.9.png b/core/res/res/drawable-mdpi/dialog_divider_horizontal_holo_light.9.png
index 3fde76e..a60aad5 100644
--- a/core/res/res/drawable-mdpi/dialog_divider_horizontal_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/dialog_divider_horizontal_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_disabled_focused_holo_dark.9.png b/core/res/res/drawable-mdpi/dropdown_disabled_focused_holo_dark.9.png
index d9ad9d3..bc6636c 100644
--- a/core/res/res/drawable-mdpi/dropdown_disabled_focused_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/dropdown_disabled_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_disabled_focused_holo_light.9.png b/core/res/res/drawable-mdpi/dropdown_disabled_focused_holo_light.9.png
index 3d82dc6..7f9a9f1 100644
--- a/core/res/res/drawable-mdpi/dropdown_disabled_focused_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/dropdown_disabled_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_disabled_holo_dark.9.png b/core/res/res/drawable-mdpi/dropdown_disabled_holo_dark.9.png
index 15e2993..6af742a 100644
--- a/core/res/res/drawable-mdpi/dropdown_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/dropdown_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_disabled_holo_light.9.png b/core/res/res/drawable-mdpi/dropdown_disabled_holo_light.9.png
index 4831556..f54d0b4 100644
--- a/core/res/res/drawable-mdpi/dropdown_disabled_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/dropdown_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_focused_holo_dark.9.png b/core/res/res/drawable-mdpi/dropdown_focused_holo_dark.9.png
index 4021da8..b7044db 100644
--- a/core/res/res/drawable-mdpi/dropdown_focused_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/dropdown_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_focused_holo_light.9.png b/core/res/res/drawable-mdpi/dropdown_focused_holo_light.9.png
index 120fe9a..0de1bb1 100644
--- a/core/res/res/drawable-mdpi/dropdown_focused_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/dropdown_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_ic_arrow_disabled_focused_holo_dark.png b/core/res/res/drawable-mdpi/dropdown_ic_arrow_disabled_focused_holo_dark.png
index d2b3557..95e684a 100644
--- a/core/res/res/drawable-mdpi/dropdown_ic_arrow_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/dropdown_ic_arrow_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_ic_arrow_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/dropdown_ic_arrow_disabled_focused_holo_light.png
index cf50169..ed3e240 100644
--- a/core/res/res/drawable-mdpi/dropdown_ic_arrow_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/dropdown_ic_arrow_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_ic_arrow_disabled_holo_dark.png b/core/res/res/drawable-mdpi/dropdown_ic_arrow_disabled_holo_dark.png
index 2663411..2bbfc3a 100644
--- a/core/res/res/drawable-mdpi/dropdown_ic_arrow_disabled_holo_dark.png
+++ b/core/res/res/drawable-mdpi/dropdown_ic_arrow_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_ic_arrow_disabled_holo_light.png b/core/res/res/drawable-mdpi/dropdown_ic_arrow_disabled_holo_light.png
index def24e4..db6347b 100644
--- a/core/res/res/drawable-mdpi/dropdown_ic_arrow_disabled_holo_light.png
+++ b/core/res/res/drawable-mdpi/dropdown_ic_arrow_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_ic_arrow_focused_holo_light.png b/core/res/res/drawable-mdpi/dropdown_ic_arrow_focused_holo_light.png
index 85372b9..7c88a57 100644
--- a/core/res/res/drawable-mdpi/dropdown_ic_arrow_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/dropdown_ic_arrow_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_ic_arrow_normal_holo_dark.png b/core/res/res/drawable-mdpi/dropdown_ic_arrow_normal_holo_dark.png
index 566be42..81de1bb 100644
--- a/core/res/res/drawable-mdpi/dropdown_ic_arrow_normal_holo_dark.png
+++ b/core/res/res/drawable-mdpi/dropdown_ic_arrow_normal_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_ic_arrow_normal_holo_light.png b/core/res/res/drawable-mdpi/dropdown_ic_arrow_normal_holo_light.png
index e600500..c3fdef7 100644
--- a/core/res/res/drawable-mdpi/dropdown_ic_arrow_normal_holo_light.png
+++ b/core/res/res/drawable-mdpi/dropdown_ic_arrow_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_ic_arrow_pressed_holo_light.png b/core/res/res/drawable-mdpi/dropdown_ic_arrow_pressed_holo_light.png
index 52fc112..5352c02 100644
--- a/core/res/res/drawable-mdpi/dropdown_ic_arrow_pressed_holo_light.png
+++ b/core/res/res/drawable-mdpi/dropdown_ic_arrow_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_normal_holo_dark.9.png b/core/res/res/drawable-mdpi/dropdown_normal_holo_dark.9.png
index a5da0cd..05d9e7e 100644
--- a/core/res/res/drawable-mdpi/dropdown_normal_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/dropdown_normal_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_normal_holo_light.9.png b/core/res/res/drawable-mdpi/dropdown_normal_holo_light.9.png
index 6695af9..4a15c63 100644
--- a/core/res/res/drawable-mdpi/dropdown_normal_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/dropdown_normal_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_pressed_holo_dark.9.png b/core/res/res/drawable-mdpi/dropdown_pressed_holo_dark.9.png
index e7e70fb..5248c48b 100644
--- a/core/res/res/drawable-mdpi/dropdown_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/dropdown_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/dropdown_pressed_holo_light.9.png b/core/res/res/drawable-mdpi/dropdown_pressed_holo_light.9.png
index f760c88..f2f6428 100644
--- a/core/res/res/drawable-mdpi/dropdown_pressed_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/dropdown_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_angel.png b/core/res/res/drawable-mdpi/emo_im_angel.png
index c34dfa6..297fcf0 100644
--- a/core/res/res/drawable-mdpi/emo_im_angel.png
+++ b/core/res/res/drawable-mdpi/emo_im_angel.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_cool.png b/core/res/res/drawable-mdpi/emo_im_cool.png
index d8eeb34..9ee1d5d 100644
--- a/core/res/res/drawable-mdpi/emo_im_cool.png
+++ b/core/res/res/drawable-mdpi/emo_im_cool.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_crying.png b/core/res/res/drawable-mdpi/emo_im_crying.png
index 1cafdb3..42ec8db 100644
--- a/core/res/res/drawable-mdpi/emo_im_crying.png
+++ b/core/res/res/drawable-mdpi/emo_im_crying.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_embarrassed.png b/core/res/res/drawable-mdpi/emo_im_embarrassed.png
index e4db963..048f4b1 100644
--- a/core/res/res/drawable-mdpi/emo_im_embarrassed.png
+++ b/core/res/res/drawable-mdpi/emo_im_embarrassed.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_foot_in_mouth.png b/core/res/res/drawable-mdpi/emo_im_foot_in_mouth.png
index 09d1fba..db5c801 100644
--- a/core/res/res/drawable-mdpi/emo_im_foot_in_mouth.png
+++ b/core/res/res/drawable-mdpi/emo_im_foot_in_mouth.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_happy.png b/core/res/res/drawable-mdpi/emo_im_happy.png
index b86602a..e85af7d 100644
--- a/core/res/res/drawable-mdpi/emo_im_happy.png
+++ b/core/res/res/drawable-mdpi/emo_im_happy.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_kissing.png b/core/res/res/drawable-mdpi/emo_im_kissing.png
index 56378f6..6c2458c 100644
--- a/core/res/res/drawable-mdpi/emo_im_kissing.png
+++ b/core/res/res/drawable-mdpi/emo_im_kissing.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_laughing.png b/core/res/res/drawable-mdpi/emo_im_laughing.png
index 980bf28..268c864 100644
--- a/core/res/res/drawable-mdpi/emo_im_laughing.png
+++ b/core/res/res/drawable-mdpi/emo_im_laughing.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_lips_are_sealed.png b/core/res/res/drawable-mdpi/emo_im_lips_are_sealed.png
index f2de993..a838158 100644
--- a/core/res/res/drawable-mdpi/emo_im_lips_are_sealed.png
+++ b/core/res/res/drawable-mdpi/emo_im_lips_are_sealed.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_money_mouth.png b/core/res/res/drawable-mdpi/emo_im_money_mouth.png
index 08c53fd..56fcce4 100644
--- a/core/res/res/drawable-mdpi/emo_im_money_mouth.png
+++ b/core/res/res/drawable-mdpi/emo_im_money_mouth.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_sad.png b/core/res/res/drawable-mdpi/emo_im_sad.png
index 31c08d0..c5245cc 100644
--- a/core/res/res/drawable-mdpi/emo_im_sad.png
+++ b/core/res/res/drawable-mdpi/emo_im_sad.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_surprised.png b/core/res/res/drawable-mdpi/emo_im_surprised.png
index abe8c7a..231ccb1 100644
--- a/core/res/res/drawable-mdpi/emo_im_surprised.png
+++ b/core/res/res/drawable-mdpi/emo_im_surprised.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_tongue_sticking_out.png b/core/res/res/drawable-mdpi/emo_im_tongue_sticking_out.png
index 6f0f47b..9384718 100644
--- a/core/res/res/drawable-mdpi/emo_im_tongue_sticking_out.png
+++ b/core/res/res/drawable-mdpi/emo_im_tongue_sticking_out.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_undecided.png b/core/res/res/drawable-mdpi/emo_im_undecided.png
index eb4f8c5..9927af9 100644
--- a/core/res/res/drawable-mdpi/emo_im_undecided.png
+++ b/core/res/res/drawable-mdpi/emo_im_undecided.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_winking.png b/core/res/res/drawable-mdpi/emo_im_winking.png
index 568562a..a9b39bd 100644
--- a/core/res/res/drawable-mdpi/emo_im_winking.png
+++ b/core/res/res/drawable-mdpi/emo_im_winking.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_wtf.png b/core/res/res/drawable-mdpi/emo_im_wtf.png
index 41dd47f..1780652 100644
--- a/core/res/res/drawable-mdpi/emo_im_wtf.png
+++ b/core/res/res/drawable-mdpi/emo_im_wtf.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_yelling.png b/core/res/res/drawable-mdpi/emo_im_yelling.png
index c3c8612..18e4715 100644
--- a/core/res/res/drawable-mdpi/emo_im_yelling.png
+++ b/core/res/res/drawable-mdpi/emo_im_yelling.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/expander_close_holo_dark.9.png b/core/res/res/drawable-mdpi/expander_close_holo_dark.9.png
index e37c559..6fa069f 100644
--- a/core/res/res/drawable-mdpi/expander_close_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/expander_close_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/expander_close_holo_light.9.png b/core/res/res/drawable-mdpi/expander_close_holo_light.9.png
index 2ea9668..b9067933 100644
--- a/core/res/res/drawable-mdpi/expander_close_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/expander_close_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/expander_open_holo_dark.9.png b/core/res/res/drawable-mdpi/expander_open_holo_dark.9.png
index 18a991f..5c7fa38 100644
--- a/core/res/res/drawable-mdpi/expander_open_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/expander_open_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/expander_open_holo_light.9.png b/core/res/res/drawable-mdpi/expander_open_holo_light.9.png
index 28b9ec7..c392ecb 100644
--- a/core/res/res/drawable-mdpi/expander_open_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/expander_open_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/fastscroll_thumb_default_holo.png b/core/res/res/drawable-mdpi/fastscroll_thumb_default_holo.png
index 6f51eef..9dddbd2 100644
--- a/core/res/res/drawable-mdpi/fastscroll_thumb_default_holo.png
+++ b/core/res/res/drawable-mdpi/fastscroll_thumb_default_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/fastscroll_thumb_pressed_holo.png b/core/res/res/drawable-mdpi/fastscroll_thumb_pressed_holo.png
index 2ff83ed..6da2c1c 100644
--- a/core/res/res/drawable-mdpi/fastscroll_thumb_pressed_holo.png
+++ b/core/res/res/drawable-mdpi/fastscroll_thumb_pressed_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/fastscroll_track_default_holo_dark.9.png b/core/res/res/drawable-mdpi/fastscroll_track_default_holo_dark.9.png
index 8796e21..55f17c2 100644
--- a/core/res/res/drawable-mdpi/fastscroll_track_default_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/fastscroll_track_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/fastscroll_track_default_holo_light.9.png b/core/res/res/drawable-mdpi/fastscroll_track_default_holo_light.9.png
index 8796e21..55f17c2 100644
--- a/core/res/res/drawable-mdpi/fastscroll_track_default_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/fastscroll_track_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/fastscroll_track_pressed_holo_dark.9.png b/core/res/res/drawable-mdpi/fastscroll_track_pressed_holo_dark.9.png
index e037d61..34e126b 100644
--- a/core/res/res/drawable-mdpi/fastscroll_track_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/fastscroll_track_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/fastscroll_track_pressed_holo_light.9.png b/core/res/res/drawable-mdpi/fastscroll_track_pressed_holo_light.9.png
index e037d61..34e126b 100644
--- a/core/res/res/drawable-mdpi/fastscroll_track_pressed_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/fastscroll_track_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_alarm_mute.png b/core/res/res/drawable-mdpi/ic_audio_alarm_mute.png
index ca3ed93..451e932 100644
--- a/core/res/res/drawable-mdpi/ic_audio_alarm_mute.png
+++ b/core/res/res/drawable-mdpi/ic_audio_alarm_mute.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_bt_mute.png b/core/res/res/drawable-mdpi/ic_audio_bt_mute.png
index 017338e..f734c1c 100644
--- a/core/res/res/drawable-mdpi/ic_audio_bt_mute.png
+++ b/core/res/res/drawable-mdpi/ic_audio_bt_mute.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_notification_mute.png b/core/res/res/drawable-mdpi/ic_audio_notification_mute.png
index f0b6d8a..2567f76 100644
--- a/core/res/res/drawable-mdpi/ic_audio_notification_mute.png
+++ b/core/res/res/drawable-mdpi/ic_audio_notification_mute.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_phone.png b/core/res/res/drawable-mdpi/ic_audio_phone.png
index 00ec59e..beda721 100644
--- a/core/res/res/drawable-mdpi/ic_audio_phone.png
+++ b/core/res/res/drawable-mdpi/ic_audio_phone.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_ring_notif.png b/core/res/res/drawable-mdpi/ic_audio_ring_notif.png
index 856193b..b9b7c7b 100644
--- a/core/res/res/drawable-mdpi/ic_audio_ring_notif.png
+++ b/core/res/res/drawable-mdpi/ic_audio_ring_notif.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_ring_notif_mute.png b/core/res/res/drawable-mdpi/ic_audio_ring_notif_mute.png
index d5d1360..cbe5021 100644
--- a/core/res/res/drawable-mdpi/ic_audio_ring_notif_mute.png
+++ b/core/res/res/drawable-mdpi/ic_audio_ring_notif_mute.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_vol_mute.png b/core/res/res/drawable-mdpi/ic_audio_vol_mute.png
index 52611b6..0dfc21f 100644
--- a/core/res/res/drawable-mdpi/ic_audio_vol_mute.png
+++ b/core/res/res/drawable-mdpi/ic_audio_vol_mute.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_btn_search.png b/core/res/res/drawable-mdpi/ic_btn_search.png
index 3f8913e..662f5de 100644
--- a/core/res/res/drawable-mdpi/ic_btn_search.png
+++ b/core/res/res/drawable-mdpi/ic_btn_search.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_btn_search_go.png b/core/res/res/drawable-mdpi/ic_btn_search_go.png
index 0ed9e8e..9a4e9b9 100644
--- a/core/res/res/drawable-mdpi/ic_btn_search_go.png
+++ b/core/res/res/drawable-mdpi/ic_btn_search_go.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_btn_speak_now.png b/core/res/res/drawable-mdpi/ic_btn_speak_now.png
index 83ee68b..0589be6 100644
--- a/core/res/res/drawable-mdpi/ic_btn_speak_now.png
+++ b/core/res/res/drawable-mdpi/ic_btn_speak_now.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_clear_disabled.png b/core/res/res/drawable-mdpi/ic_clear_disabled.png
index b9c3b44..79228ba 100644
--- a/core/res/res/drawable-mdpi/ic_clear_disabled.png
+++ b/core/res/res/drawable-mdpi/ic_clear_disabled.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_clear_search_api_disabled_holo_light.png b/core/res/res/drawable-mdpi/ic_clear_search_api_disabled_holo_light.png
index 3edbd74..c0bdf06 100644
--- a/core/res/res/drawable-mdpi/ic_clear_search_api_disabled_holo_light.png
+++ b/core/res/res/drawable-mdpi/ic_clear_search_api_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_clear_search_api_holo_light.png b/core/res/res/drawable-mdpi/ic_clear_search_api_holo_light.png
index 90db01b..15b86cb 100644
--- a/core/res/res/drawable-mdpi/ic_clear_search_api_holo_light.png
+++ b/core/res/res/drawable-mdpi/ic_clear_search_api_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_commit.png b/core/res/res/drawable-mdpi/ic_commit.png
index 49d7ec8..3d167b5 100644
--- a/core/res/res/drawable-mdpi/ic_commit.png
+++ b/core/res/res/drawable-mdpi/ic_commit.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_commit_search_api_holo_dark.png b/core/res/res/drawable-mdpi/ic_commit_search_api_holo_dark.png
new file mode 100644
index 0000000..844c99c
--- /dev/null
+++ b/core/res/res/drawable-mdpi/ic_commit_search_api_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_commit_search_api_holo_light.png b/core/res/res/drawable-mdpi/ic_commit_search_api_holo_light.png
index b01688f..86c170e 100644
--- a/core/res/res/drawable-mdpi/ic_commit_search_api_holo_light.png
+++ b/core/res/res/drawable-mdpi/ic_commit_search_api_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_contact_picture.png b/core/res/res/drawable-mdpi/ic_contact_picture.png
index faa3dc0..535a772 100644
--- a/core/res/res/drawable-mdpi/ic_contact_picture.png
+++ b/core/res/res/drawable-mdpi/ic_contact_picture.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_contact_picture_2.png b/core/res/res/drawable-mdpi/ic_contact_picture_2.png
index 8b184af..004a6c6 100644
--- a/core/res/res/drawable-mdpi/ic_contact_picture_2.png
+++ b/core/res/res/drawable-mdpi/ic_contact_picture_2.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_contact_picture_3.png b/core/res/res/drawable-mdpi/ic_contact_picture_3.png
index a2d08b5..001bf29 100644
--- a/core/res/res/drawable-mdpi/ic_contact_picture_3.png
+++ b/core/res/res/drawable-mdpi/ic_contact_picture_3.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_dialog_alert.png b/core/res/res/drawable-mdpi/ic_dialog_alert.png
index 0a7de047..ef498ef 100644
--- a/core/res/res/drawable-mdpi/ic_dialog_alert.png
+++ b/core/res/res/drawable-mdpi/ic_dialog_alert.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_go.png b/core/res/res/drawable-mdpi/ic_go.png
index 2340648..bf19833 100644
--- a/core/res/res/drawable-mdpi/ic_go.png
+++ b/core/res/res/drawable-mdpi/ic_go.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_go_search_api_holo_light.png b/core/res/res/drawable-mdpi/ic_go_search_api_holo_light.png
index 7e1ba2a..8518498 100644
--- a/core/res/res/drawable-mdpi/ic_go_search_api_holo_light.png
+++ b/core/res/res/drawable-mdpi/ic_go_search_api_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lock_airplane_mode.png b/core/res/res/drawable-mdpi/ic_lock_airplane_mode.png
old mode 100755
new mode 100644
index caafcb2..2b1dc1a
--- a/core/res/res/drawable-mdpi/ic_lock_airplane_mode.png
+++ b/core/res/res/drawable-mdpi/ic_lock_airplane_mode.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lock_airplane_mode_off.png b/core/res/res/drawable-mdpi/ic_lock_airplane_mode_off.png
old mode 100755
new mode 100644
index cb2cbdf..49ed3d2
--- a/core/res/res/drawable-mdpi/ic_lock_airplane_mode_off.png
+++ b/core/res/res/drawable-mdpi/ic_lock_airplane_mode_off.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lock_lock.png b/core/res/res/drawable-mdpi/ic_lock_lock.png
index b662b03..5ff3654 100644
--- a/core/res/res/drawable-mdpi/ic_lock_lock.png
+++ b/core/res/res/drawable-mdpi/ic_lock_lock.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lock_power_off.png b/core/res/res/drawable-mdpi/ic_lock_power_off.png
index 4405b43..2c55e47 100644
--- a/core/res/res/drawable-mdpi/ic_lock_power_off.png
+++ b/core/res/res/drawable-mdpi/ic_lock_power_off.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lock_silent_mode_off.png b/core/res/res/drawable-mdpi/ic_lock_silent_mode_off.png
index 95257a3..1a02aaa 100644
--- a/core/res/res/drawable-mdpi/ic_lock_silent_mode_off.png
+++ b/core/res/res/drawable-mdpi/ic_lock_silent_mode_off.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_media_embed_play.png b/core/res/res/drawable-mdpi/ic_media_embed_play.png
index fc5d8c6..3576ce5 100644
--- a/core/res/res/drawable-mdpi/ic_media_embed_play.png
+++ b/core/res/res/drawable-mdpi/ic_media_embed_play.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_media_ff.png b/core/res/res/drawable-mdpi/ic_media_ff.png
index 892772e..170dd2d 100644
--- a/core/res/res/drawable-mdpi/ic_media_ff.png
+++ b/core/res/res/drawable-mdpi/ic_media_ff.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_media_fullscreen.png b/core/res/res/drawable-mdpi/ic_media_fullscreen.png
index 1c60e15..960aa85 100644
--- a/core/res/res/drawable-mdpi/ic_media_fullscreen.png
+++ b/core/res/res/drawable-mdpi/ic_media_fullscreen.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_media_next.png b/core/res/res/drawable-mdpi/ic_media_next.png
index bbe311b..a6feed0 100644
--- a/core/res/res/drawable-mdpi/ic_media_next.png
+++ b/core/res/res/drawable-mdpi/ic_media_next.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_media_pause.png b/core/res/res/drawable-mdpi/ic_media_pause.png
index e4e8d86..548ba02 100644
--- a/core/res/res/drawable-mdpi/ic_media_pause.png
+++ b/core/res/res/drawable-mdpi/ic_media_pause.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_media_play.png b/core/res/res/drawable-mdpi/ic_media_play.png
index 8eaf962..0fe6806 100644
--- a/core/res/res/drawable-mdpi/ic_media_play.png
+++ b/core/res/res/drawable-mdpi/ic_media_play.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_media_previous.png b/core/res/res/drawable-mdpi/ic_media_previous.png
index e9abc7f..0163d0945 100644
--- a/core/res/res/drawable-mdpi/ic_media_previous.png
+++ b/core/res/res/drawable-mdpi/ic_media_previous.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_media_rew.png b/core/res/res/drawable-mdpi/ic_media_rew.png
index a5eb94a..5489180 100644
--- a/core/res/res/drawable-mdpi/ic_media_rew.png
+++ b/core/res/res/drawable-mdpi/ic_media_rew.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_media_stop.png b/core/res/res/drawable-mdpi/ic_media_stop.png
new file mode 100644
index 0000000..24bcb70
--- /dev/null
+++ b/core/res/res/drawable-mdpi/ic_media_stop.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_notification_ime_default.png b/core/res/res/drawable-mdpi/ic_notification_ime_default.png
index 1a9d88c..25700c0 100644
--- a/core/res/res/drawable-mdpi/ic_notification_ime_default.png
+++ b/core/res/res/drawable-mdpi/ic_notification_ime_default.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_search.png b/core/res/res/drawable-mdpi/ic_search.png
index d92071b..4be72f1 100644
--- a/core/res/res/drawable-mdpi/ic_search.png
+++ b/core/res/res/drawable-mdpi/ic_search.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_search_api_holo_light.png b/core/res/res/drawable-mdpi/ic_search_api_holo_light.png
index 72e207b..f2e26f8 100644
--- a/core/res/res/drawable-mdpi/ic_search_api_holo_light.png
+++ b/core/res/res/drawable-mdpi/ic_search_api_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_voice_search.png b/core/res/res/drawable-mdpi/ic_voice_search.png
index a2fe874..73c6be6 100644
--- a/core/res/res/drawable-mdpi/ic_voice_search.png
+++ b/core/res/res/drawable-mdpi/ic_voice_search.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_voice_search_api_holo_light.png b/core/res/res/drawable-mdpi/ic_voice_search_api_holo_light.png
index 3481c98..71d838e 100644
--- a/core/res/res/drawable-mdpi/ic_voice_search_api_holo_light.png
+++ b/core/res/res/drawable-mdpi/ic_voice_search_api_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default.png b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default.png
index fe72d00..f6d9f1b 100644
--- a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default.png
+++ b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_green.png b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_green.png
index be666c6..b7262d1 100644
--- a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_green.png
+++ b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_green.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/jog_tab_bar_left_end_confirm_gray.9.png b/core/res/res/drawable-mdpi/jog_tab_bar_left_end_confirm_gray.9.png
index adbb146..0f1190b 100644
--- a/core/res/res/drawable-mdpi/jog_tab_bar_left_end_confirm_gray.9.png
+++ b/core/res/res/drawable-mdpi/jog_tab_bar_left_end_confirm_gray.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/jog_tab_bar_left_end_confirm_green.9.png b/core/res/res/drawable-mdpi/jog_tab_bar_left_end_confirm_green.9.png
index e8be7bf..88ca2e0 100644
--- a/core/res/res/drawable-mdpi/jog_tab_bar_left_end_confirm_green.9.png
+++ b/core/res/res/drawable-mdpi/jog_tab_bar_left_end_confirm_green.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/jog_tab_bar_left_end_confirm_red.9.png b/core/res/res/drawable-mdpi/jog_tab_bar_left_end_confirm_red.9.png
index 120a9d8..f0f9436 100644
--- a/core/res/res/drawable-mdpi/jog_tab_bar_left_end_confirm_red.9.png
+++ b/core/res/res/drawable-mdpi/jog_tab_bar_left_end_confirm_red.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/jog_tab_bar_left_end_confirm_yellow.9.png b/core/res/res/drawable-mdpi/jog_tab_bar_left_end_confirm_yellow.9.png
index 60ec146..8aa1263 100644
--- a/core/res/res/drawable-mdpi/jog_tab_bar_left_end_confirm_yellow.9.png
+++ b/core/res/res/drawable-mdpi/jog_tab_bar_left_end_confirm_yellow.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/jog_tab_bar_left_end_normal.9.png b/core/res/res/drawable-mdpi/jog_tab_bar_left_end_normal.9.png
index 7477453..4a89f4b 100644
--- a/core/res/res/drawable-mdpi/jog_tab_bar_left_end_normal.9.png
+++ b/core/res/res/drawable-mdpi/jog_tab_bar_left_end_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/jog_tab_bar_left_end_pressed.9.png b/core/res/res/drawable-mdpi/jog_tab_bar_left_end_pressed.9.png
index c79a35c..78c7a9f 100644
--- a/core/res/res/drawable-mdpi/jog_tab_bar_left_end_pressed.9.png
+++ b/core/res/res/drawable-mdpi/jog_tab_bar_left_end_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/jog_tab_bar_right_end_normal.9.png b/core/res/res/drawable-mdpi/jog_tab_bar_right_end_normal.9.png
index 2e6ca2e..36f9a32 100644
--- a/core/res/res/drawable-mdpi/jog_tab_bar_right_end_normal.9.png
+++ b/core/res/res/drawable-mdpi/jog_tab_bar_right_end_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/jog_tab_target_gray.png b/core/res/res/drawable-mdpi/jog_tab_target_gray.png
index 517b253..a1e25e1 100644
--- a/core/res/res/drawable-mdpi/jog_tab_target_gray.png
+++ b/core/res/res/drawable-mdpi/jog_tab_target_gray.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/jog_tab_target_green.png b/core/res/res/drawable-mdpi/jog_tab_target_green.png
index 188f3cc..d1377ee 100644
--- a/core/res/res/drawable-mdpi/jog_tab_target_green.png
+++ b/core/res/res/drawable-mdpi/jog_tab_target_green.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/jog_tab_target_red.png b/core/res/res/drawable-mdpi/jog_tab_target_red.png
index a36394d..b840bc6 100644
--- a/core/res/res/drawable-mdpi/jog_tab_target_red.png
+++ b/core/res/res/drawable-mdpi/jog_tab_target_red.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/jog_tab_target_yellow.png b/core/res/res/drawable-mdpi/jog_tab_target_yellow.png
index ba999b1..58b2e62 100644
--- a/core/res/res/drawable-mdpi/jog_tab_target_yellow.png
+++ b/core/res/res/drawable-mdpi/jog_tab_target_yellow.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/list_pressed_holo_dark.9.png b/core/res/res/drawable-mdpi/list_pressed_holo_dark.9.png
index b60aaa5..6e77525 100644
--- a/core/res/res/drawable-mdpi/list_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/list_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/list_pressed_holo_light.9.png b/core/res/res/drawable-mdpi/list_pressed_holo_light.9.png
index b60aaa5..6e77525 100644
--- a/core/res/res/drawable-mdpi/list_pressed_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/list_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/list_section_divider_holo_dark.9.png b/core/res/res/drawable-mdpi/list_section_divider_holo_dark.9.png
index f707453..af0bc16 100644
--- a/core/res/res/drawable-mdpi/list_section_divider_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/list_section_divider_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/list_section_divider_holo_light.9.png b/core/res/res/drawable-mdpi/list_section_divider_holo_light.9.png
index 441ccc0..c2f2dd8 100644
--- a/core/res/res/drawable-mdpi/list_section_divider_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/list_section_divider_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/list_selected_holo_dark.9.png b/core/res/res/drawable-mdpi/list_selected_holo_dark.9.png
index faa0672..4cbcee9 100644
--- a/core/res/res/drawable-mdpi/list_selected_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/list_selected_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/list_selected_holo_light.9.png b/core/res/res/drawable-mdpi/list_selected_holo_light.9.png
index faa0672..4cbcee9 100644
--- a/core/res/res/drawable-mdpi/list_selected_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/list_selected_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/menu_submenu_background.9.png b/core/res/res/drawable-mdpi/menu_submenu_background.9.png
index a153532..2281c46 100644
--- a/core/res/res/drawable-mdpi/menu_submenu_background.9.png
+++ b/core/res/res/drawable-mdpi/menu_submenu_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/notify_panel_notification_icon_bg.png b/core/res/res/drawable-mdpi/notify_panel_notification_icon_bg.png
index 9ecb8af..f0bdfb0 100644
--- a/core/res/res/drawable-mdpi/notify_panel_notification_icon_bg.png
+++ b/core/res/res/drawable-mdpi/notify_panel_notification_icon_bg.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/panel_bg_holo_dark.9.png b/core/res/res/drawable-mdpi/panel_bg_holo_dark.9.png
index 78a86a5..c64da8d 100644
--- a/core/res/res/drawable-mdpi/panel_bg_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/panel_bg_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/popup_inline_error.9.png b/core/res/res/drawable-mdpi/popup_inline_error.9.png
old mode 100755
new mode 100644
index 6a8297a..2d62071
--- a/core/res/res/drawable-mdpi/popup_inline_error.9.png
+++ b/core/res/res/drawable-mdpi/popup_inline_error.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/popup_inline_error_above.9.png b/core/res/res/drawable-mdpi/popup_inline_error_above.9.png
index 2e601d0..a318891 100644
--- a/core/res/res/drawable-mdpi/popup_inline_error_above.9.png
+++ b/core/res/res/drawable-mdpi/popup_inline_error_above.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/progress_bg_holo_dark.9.png b/core/res/res/drawable-mdpi/progress_bg_holo_dark.9.png
index c5418f9..3d946e5 100644
--- a/core/res/res/drawable-mdpi/progress_bg_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/progress_bg_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/progress_bg_holo_light.9.png b/core/res/res/drawable-mdpi/progress_bg_holo_light.9.png
index c943b2e..4bb22f0 100644
--- a/core/res/res/drawable-mdpi/progress_bg_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/progress_bg_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/progress_primary_holo_dark.9.png b/core/res/res/drawable-mdpi/progress_primary_holo_dark.9.png
index 4bf3cb9..31228b6 100644
--- a/core/res/res/drawable-mdpi/progress_primary_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/progress_primary_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/progress_primary_holo_light.9.png b/core/res/res/drawable-mdpi/progress_primary_holo_light.9.png
index 4bf3cb9..31228b6 100644
--- a/core/res/res/drawable-mdpi/progress_primary_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/progress_primary_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/progress_secondary_holo_dark.9.png b/core/res/res/drawable-mdpi/progress_secondary_holo_dark.9.png
index b13c878..7274274 100644
--- a/core/res/res/drawable-mdpi/progress_secondary_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/progress_secondary_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/progress_secondary_holo_light.9.png b/core/res/res/drawable-mdpi/progress_secondary_holo_light.9.png
index b13c878..7274274 100644
--- a/core/res/res/drawable-mdpi/progress_secondary_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/progress_secondary_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/quickcontact_badge_overlay_normal_dark.9.png b/core/res/res/drawable-mdpi/quickcontact_badge_overlay_normal_dark.9.png
index 0920336..0fc20e0 100644
--- a/core/res/res/drawable-mdpi/quickcontact_badge_overlay_normal_dark.9.png
+++ b/core/res/res/drawable-mdpi/quickcontact_badge_overlay_normal_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/quickcontact_badge_overlay_normal_light.9.png b/core/res/res/drawable-mdpi/quickcontact_badge_overlay_normal_light.9.png
index fb7a955..2b7a262 100644
--- a/core/res/res/drawable-mdpi/quickcontact_badge_overlay_normal_light.9.png
+++ b/core/res/res/drawable-mdpi/quickcontact_badge_overlay_normal_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/scrubber_primary_holo.9.png b/core/res/res/drawable-mdpi/scrubber_primary_holo.9.png
index c994519..7cbf2f2 100644
--- a/core/res/res/drawable-mdpi/scrubber_primary_holo.9.png
+++ b/core/res/res/drawable-mdpi/scrubber_primary_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/scrubber_secondary_holo.9.png b/core/res/res/drawable-mdpi/scrubber_secondary_holo.9.png
index 5e21da4..81772a8 100644
--- a/core/res/res/drawable-mdpi/scrubber_secondary_holo.9.png
+++ b/core/res/res/drawable-mdpi/scrubber_secondary_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/scrubber_track_holo_dark.9.png b/core/res/res/drawable-mdpi/scrubber_track_holo_dark.9.png
index 017b593..b8037a3 100644
--- a/core/res/res/drawable-mdpi/scrubber_track_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/scrubber_track_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/scrubber_track_holo_light.9.png b/core/res/res/drawable-mdpi/scrubber_track_holo_light.9.png
index 12c6e21..76df16f 100644
--- a/core/res/res/drawable-mdpi/scrubber_track_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/scrubber_track_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_ab_default_holo_dark.9.png b/core/res/res/drawable-mdpi/spinner_ab_default_holo_dark.9.png
index 8cedc02..9c99bda 100644
--- a/core/res/res/drawable-mdpi/spinner_ab_default_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/spinner_ab_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_ab_default_holo_light.9.png b/core/res/res/drawable-mdpi/spinner_ab_default_holo_light.9.png
index b5af0f7..81b205a 100644
--- a/core/res/res/drawable-mdpi/spinner_ab_default_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/spinner_ab_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_ab_disabled_holo_dark.9.png b/core/res/res/drawable-mdpi/spinner_ab_disabled_holo_dark.9.png
index ffb97a5..3ad6687 100644
--- a/core/res/res/drawable-mdpi/spinner_ab_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/spinner_ab_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_ab_disabled_holo_light.9.png b/core/res/res/drawable-mdpi/spinner_ab_disabled_holo_light.9.png
index 1d7948c0..fab4c67 100644
--- a/core/res/res/drawable-mdpi/spinner_ab_disabled_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/spinner_ab_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_ab_focused_holo_dark.9.png b/core/res/res/drawable-mdpi/spinner_ab_focused_holo_dark.9.png
index fb6a0a0..bfe4da8 100644
--- a/core/res/res/drawable-mdpi/spinner_ab_focused_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/spinner_ab_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_ab_focused_holo_light.9.png b/core/res/res/drawable-mdpi/spinner_ab_focused_holo_light.9.png
index fb6a0a0..bfe4da8 100644
--- a/core/res/res/drawable-mdpi/spinner_ab_focused_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/spinner_ab_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_dark.9.png b/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_dark.9.png
index 556b106..dda2998 100644
--- a/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_light.9.png b/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_light.9.png
index fcca39f..951301d 100644
--- a/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_default_holo_dark.9.png b/core/res/res/drawable-mdpi/spinner_default_holo_dark.9.png
index ddc2b22..f88dcba 100644
--- a/core/res/res/drawable-mdpi/spinner_default_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/spinner_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_default_holo_light.9.png b/core/res/res/drawable-mdpi/spinner_default_holo_light.9.png
index eb0d501..c75eece 100644
--- a/core/res/res/drawable-mdpi/spinner_default_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/spinner_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_disabled_holo_dark.9.png b/core/res/res/drawable-mdpi/spinner_disabled_holo_dark.9.png
index 8ba2a42..eb23155 100644
--- a/core/res/res/drawable-mdpi/spinner_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/spinner_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_disabled_holo_light.9.png b/core/res/res/drawable-mdpi/spinner_disabled_holo_light.9.png
index cf50964..4318af5 100644
--- a/core/res/res/drawable-mdpi/spinner_disabled_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/spinner_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_focused_holo_dark.9.png b/core/res/res/drawable-mdpi/spinner_focused_holo_dark.9.png
index 7ab9428..440ef6d 100644
--- a/core/res/res/drawable-mdpi/spinner_focused_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/spinner_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_focused_holo_light.9.png b/core/res/res/drawable-mdpi/spinner_focused_holo_light.9.png
index 7ab9428..440ef6d 100644
--- a/core/res/res/drawable-mdpi/spinner_focused_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/spinner_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_pressed_holo_dark.9.png b/core/res/res/drawable-mdpi/spinner_pressed_holo_dark.9.png
index 5654920..4785df9 100644
--- a/core/res/res/drawable-mdpi/spinner_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/spinner_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_pressed_holo_light.9.png b/core/res/res/drawable-mdpi/spinner_pressed_holo_light.9.png
index 655339d..246e0d0 100644
--- a/core/res/res/drawable-mdpi/spinner_pressed_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/spinner_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_call_mute.png b/core/res/res/drawable-mdpi/stat_notify_call_mute.png
index 845ec86..8797a09 100644
--- a/core/res/res/drawable-mdpi/stat_notify_call_mute.png
+++ b/core/res/res/drawable-mdpi/stat_notify_call_mute.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_car_mode.png b/core/res/res/drawable-mdpi/stat_notify_car_mode.png
index dfd2e0a..d8015dc 100644
--- a/core/res/res/drawable-mdpi/stat_notify_car_mode.png
+++ b/core/res/res/drawable-mdpi/stat_notify_car_mode.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_chat.png b/core/res/res/drawable-mdpi/stat_notify_chat.png
index e4464c2..82c83d0 100644
--- a/core/res/res/drawable-mdpi/stat_notify_chat.png
+++ b/core/res/res/drawable-mdpi/stat_notify_chat.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_disk_full.png b/core/res/res/drawable-mdpi/stat_notify_disk_full.png
old mode 100755
new mode 100644
index 69b513c..392e7bf
--- a/core/res/res/drawable-mdpi/stat_notify_disk_full.png
+++ b/core/res/res/drawable-mdpi/stat_notify_disk_full.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_email_generic.png b/core/res/res/drawable-mdpi/stat_notify_email_generic.png
index 42d518d..7732c10 100644
--- a/core/res/res/drawable-mdpi/stat_notify_email_generic.png
+++ b/core/res/res/drawable-mdpi/stat_notify_email_generic.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_error.png b/core/res/res/drawable-mdpi/stat_notify_error.png
index ddf0a2f..168f8f6 100644
--- a/core/res/res/drawable-mdpi/stat_notify_error.png
+++ b/core/res/res/drawable-mdpi/stat_notify_error.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_gmail.png b/core/res/res/drawable-mdpi/stat_notify_gmail.png
index 516e865..47ee782 100644
--- a/core/res/res/drawable-mdpi/stat_notify_gmail.png
+++ b/core/res/res/drawable-mdpi/stat_notify_gmail.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_missed_call.png b/core/res/res/drawable-mdpi/stat_notify_missed_call.png
index d2e3631..9583a6b 100644
--- a/core/res/res/drawable-mdpi/stat_notify_missed_call.png
+++ b/core/res/res/drawable-mdpi/stat_notify_missed_call.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_more.png b/core/res/res/drawable-mdpi/stat_notify_more.png
index a85a16e..ca9e09e 100644
--- a/core/res/res/drawable-mdpi/stat_notify_more.png
+++ b/core/res/res/drawable-mdpi/stat_notify_more.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_sdcard.png b/core/res/res/drawable-mdpi/stat_notify_sdcard.png
index 8f64201..5eae7a2 100644
--- a/core/res/res/drawable-mdpi/stat_notify_sdcard.png
+++ b/core/res/res/drawable-mdpi/stat_notify_sdcard.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_sdcard_prepare.png b/core/res/res/drawable-mdpi/stat_notify_sdcard_prepare.png
index fc051fa..a7a8b5c 100644
--- a/core/res/res/drawable-mdpi/stat_notify_sdcard_prepare.png
+++ b/core/res/res/drawable-mdpi/stat_notify_sdcard_prepare.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_sdcard_usb.png b/core/res/res/drawable-mdpi/stat_notify_sdcard_usb.png
index b936f45..6f17feb 100644
--- a/core/res/res/drawable-mdpi/stat_notify_sdcard_usb.png
+++ b/core/res/res/drawable-mdpi/stat_notify_sdcard_usb.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_sim_toolkit.png b/core/res/res/drawable-mdpi/stat_notify_sim_toolkit.png
old mode 100755
new mode 100644
index 87327b4..6a774cf
--- a/core/res/res/drawable-mdpi/stat_notify_sim_toolkit.png
+++ b/core/res/res/drawable-mdpi/stat_notify_sim_toolkit.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_sync.png b/core/res/res/drawable-mdpi/stat_notify_sync.png
index 4876b8e..1be8677 100644
--- a/core/res/res/drawable-mdpi/stat_notify_sync.png
+++ b/core/res/res/drawable-mdpi/stat_notify_sync.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_sync_anim0.png b/core/res/res/drawable-mdpi/stat_notify_sync_anim0.png
index 8372756..1be8677 100644
--- a/core/res/res/drawable-mdpi/stat_notify_sync_anim0.png
+++ b/core/res/res/drawable-mdpi/stat_notify_sync_anim0.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_sync_error.png b/core/res/res/drawable-mdpi/stat_notify_sync_error.png
index 2725549..30658c5 100644
--- a/core/res/res/drawable-mdpi/stat_notify_sync_error.png
+++ b/core/res/res/drawable-mdpi/stat_notify_sync_error.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_voicemail.png b/core/res/res/drawable-mdpi/stat_notify_voicemail.png
index 67a0f91..dd70146 100644
--- a/core/res/res/drawable-mdpi/stat_notify_voicemail.png
+++ b/core/res/res/drawable-mdpi/stat_notify_voicemail.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_wifi_in_range.png b/core/res/res/drawable-mdpi/stat_notify_wifi_in_range.png
index de63297..11b6a5a 100644
--- a/core/res/res/drawable-mdpi/stat_notify_wifi_in_range.png
+++ b/core/res/res/drawable-mdpi/stat_notify_wifi_in_range.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_adb.png b/core/res/res/drawable-mdpi/stat_sys_adb.png
index 6ba480d..730d96f 100644
--- a/core/res/res/drawable-mdpi/stat_sys_adb.png
+++ b/core/res/res/drawable-mdpi/stat_sys_adb.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_data_bluetooth.png b/core/res/res/drawable-mdpi/stat_sys_data_bluetooth.png
index 46f6901..68fe66a 100644
--- a/core/res/res/drawable-mdpi/stat_sys_data_bluetooth.png
+++ b/core/res/res/drawable-mdpi/stat_sys_data_bluetooth.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_data_usb.png b/core/res/res/drawable-mdpi/stat_sys_data_usb.png
index 44860bf..40d77f0 100644
--- a/core/res/res/drawable-mdpi/stat_sys_data_usb.png
+++ b/core/res/res/drawable-mdpi/stat_sys_data_usb.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_download_anim0.png b/core/res/res/drawable-mdpi/stat_sys_download_anim0.png
index 9c77ecb..25324f6 100644
--- a/core/res/res/drawable-mdpi/stat_sys_download_anim0.png
+++ b/core/res/res/drawable-mdpi/stat_sys_download_anim0.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_download_anim1.png b/core/res/res/drawable-mdpi/stat_sys_download_anim1.png
index 4bf5e6c..6d1fb4a 100644
--- a/core/res/res/drawable-mdpi/stat_sys_download_anim1.png
+++ b/core/res/res/drawable-mdpi/stat_sys_download_anim1.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_download_anim2.png b/core/res/res/drawable-mdpi/stat_sys_download_anim2.png
index 2211810..4c3e963 100644
--- a/core/res/res/drawable-mdpi/stat_sys_download_anim2.png
+++ b/core/res/res/drawable-mdpi/stat_sys_download_anim2.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_download_anim3.png b/core/res/res/drawable-mdpi/stat_sys_download_anim3.png
index 7db3096..2aae625 100644
--- a/core/res/res/drawable-mdpi/stat_sys_download_anim3.png
+++ b/core/res/res/drawable-mdpi/stat_sys_download_anim3.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_download_anim4.png b/core/res/res/drawable-mdpi/stat_sys_download_anim4.png
index 894dd63..55dbe12 100644
--- a/core/res/res/drawable-mdpi/stat_sys_download_anim4.png
+++ b/core/res/res/drawable-mdpi/stat_sys_download_anim4.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_download_anim5.png b/core/res/res/drawable-mdpi/stat_sys_download_anim5.png
index 889c01e..53fda44 100644
--- a/core/res/res/drawable-mdpi/stat_sys_download_anim5.png
+++ b/core/res/res/drawable-mdpi/stat_sys_download_anim5.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_gps_on.png b/core/res/res/drawable-mdpi/stat_sys_gps_on.png
index e0b9d6e..2c98972 100644
--- a/core/res/res/drawable-mdpi/stat_sys_gps_on.png
+++ b/core/res/res/drawable-mdpi/stat_sys_gps_on.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_phone_call.png b/core/res/res/drawable-mdpi/stat_sys_phone_call.png
index c44d062..71da6a2 100644
--- a/core/res/res/drawable-mdpi/stat_sys_phone_call.png
+++ b/core/res/res/drawable-mdpi/stat_sys_phone_call.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_phone_call_forward.png b/core/res/res/drawable-mdpi/stat_sys_phone_call_forward.png
old mode 100755
new mode 100644
index ed4b6ec..b0dbe6d
--- a/core/res/res/drawable-mdpi/stat_sys_phone_call_forward.png
+++ b/core/res/res/drawable-mdpi/stat_sys_phone_call_forward.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_phone_call_on_hold.png b/core/res/res/drawable-mdpi/stat_sys_phone_call_on_hold.png
index 9216447..22e9082 100644
--- a/core/res/res/drawable-mdpi/stat_sys_phone_call_on_hold.png
+++ b/core/res/res/drawable-mdpi/stat_sys_phone_call_on_hold.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_secure.png b/core/res/res/drawable-mdpi/stat_sys_secure.png
index 7167c3a..da3e318 100644
--- a/core/res/res/drawable-mdpi/stat_sys_secure.png
+++ b/core/res/res/drawable-mdpi/stat_sys_secure.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_speakerphone.png b/core/res/res/drawable-mdpi/stat_sys_speakerphone.png
index 25fef56..e8c6374 100644
--- a/core/res/res/drawable-mdpi/stat_sys_speakerphone.png
+++ b/core/res/res/drawable-mdpi/stat_sys_speakerphone.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_throttled.png b/core/res/res/drawable-mdpi/stat_sys_throttled.png
index 2cbe7f4..ef6a7af 100644
--- a/core/res/res/drawable-mdpi/stat_sys_throttled.png
+++ b/core/res/res/drawable-mdpi/stat_sys_throttled.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_upload_anim0.png b/core/res/res/drawable-mdpi/stat_sys_upload_anim0.png
index 6a05585e..6402aa5 100644
--- a/core/res/res/drawable-mdpi/stat_sys_upload_anim0.png
+++ b/core/res/res/drawable-mdpi/stat_sys_upload_anim0.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_upload_anim1.png b/core/res/res/drawable-mdpi/stat_sys_upload_anim1.png
index af492c8..b9c364c 100644
--- a/core/res/res/drawable-mdpi/stat_sys_upload_anim1.png
+++ b/core/res/res/drawable-mdpi/stat_sys_upload_anim1.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_upload_anim2.png b/core/res/res/drawable-mdpi/stat_sys_upload_anim2.png
index 4ba150c8..217ea4e 100644
--- a/core/res/res/drawable-mdpi/stat_sys_upload_anim2.png
+++ b/core/res/res/drawable-mdpi/stat_sys_upload_anim2.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_upload_anim3.png b/core/res/res/drawable-mdpi/stat_sys_upload_anim3.png
index cbcf280..e22ec6d 100644
--- a/core/res/res/drawable-mdpi/stat_sys_upload_anim3.png
+++ b/core/res/res/drawable-mdpi/stat_sys_upload_anim3.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_upload_anim4.png b/core/res/res/drawable-mdpi/stat_sys_upload_anim4.png
index cb8628c..a86d5cd 100644
--- a/core/res/res/drawable-mdpi/stat_sys_upload_anim4.png
+++ b/core/res/res/drawable-mdpi/stat_sys_upload_anim4.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_upload_anim5.png b/core/res/res/drawable-mdpi/stat_sys_upload_anim5.png
index e7a5376..3387dbb 100644
--- a/core/res/res/drawable-mdpi/stat_sys_upload_anim5.png
+++ b/core/res/res/drawable-mdpi/stat_sys_upload_anim5.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_vp_phone_call.png b/core/res/res/drawable-mdpi/stat_sys_vp_phone_call.png
index aa03b4f..32b23ed 100644
--- a/core/res/res/drawable-mdpi/stat_sys_vp_phone_call.png
+++ b/core/res/res/drawable-mdpi/stat_sys_vp_phone_call.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_vp_phone_call_on_hold.png b/core/res/res/drawable-mdpi/stat_sys_vp_phone_call_on_hold.png
index 5f45440..a4c1fc8 100644
--- a/core/res/res/drawable-mdpi/stat_sys_vp_phone_call_on_hold.png
+++ b/core/res/res/drawable-mdpi/stat_sys_vp_phone_call_on_hold.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_warning.png b/core/res/res/drawable-mdpi/stat_sys_warning.png
index 2a764fa..168f8f6 100644
--- a/core/res/res/drawable-mdpi/stat_sys_warning.png
+++ b/core/res/res/drawable-mdpi/stat_sys_warning.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/status_bar_item_app_background_normal.9.png b/core/res/res/drawable-mdpi/status_bar_item_app_background_normal.9.png
index c079615..873c556 100644
--- a/core/res/res/drawable-mdpi/status_bar_item_app_background_normal.9.png
+++ b/core/res/res/drawable-mdpi/status_bar_item_app_background_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_bg_disabled_holo_dark.9.png b/core/res/res/drawable-mdpi/switch_bg_disabled_holo_dark.9.png
index 35ff948..b8dd545 100644
--- a/core/res/res/drawable-mdpi/switch_bg_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/switch_bg_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_bg_disabled_holo_light.9.png b/core/res/res/drawable-mdpi/switch_bg_disabled_holo_light.9.png
index ceb1869..11b8426 100644
--- a/core/res/res/drawable-mdpi/switch_bg_disabled_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/switch_bg_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_bg_focused_holo_dark.9.png b/core/res/res/drawable-mdpi/switch_bg_focused_holo_dark.9.png
index 4753a93..c9481fa 100644
--- a/core/res/res/drawable-mdpi/switch_bg_focused_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/switch_bg_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_bg_focused_holo_light.9.png b/core/res/res/drawable-mdpi/switch_bg_focused_holo_light.9.png
index 4469501..eb08c87 100644
--- a/core/res/res/drawable-mdpi/switch_bg_focused_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/switch_bg_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_bg_holo_dark.9.png b/core/res/res/drawable-mdpi/switch_bg_holo_dark.9.png
index ac00325..429d73d 100644
--- a/core/res/res/drawable-mdpi/switch_bg_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/switch_bg_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_bg_holo_light.9.png b/core/res/res/drawable-mdpi/switch_bg_holo_light.9.png
index f48f960..693ee33 100644
--- a/core/res/res/drawable-mdpi/switch_bg_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/switch_bg_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_thumb_activated_holo_dark.9.png b/core/res/res/drawable-mdpi/switch_thumb_activated_holo_dark.9.png
index c70261f..bf4b161 100644
--- a/core/res/res/drawable-mdpi/switch_thumb_activated_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/switch_thumb_activated_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_thumb_activated_holo_light.9.png b/core/res/res/drawable-mdpi/switch_thumb_activated_holo_light.9.png
index c17d9bf..4535993 100644
--- a/core/res/res/drawable-mdpi/switch_thumb_activated_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/switch_thumb_activated_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_thumb_disabled_holo_dark.9.png b/core/res/res/drawable-mdpi/switch_thumb_disabled_holo_dark.9.png
index 744128d..c56f49d 100644
--- a/core/res/res/drawable-mdpi/switch_thumb_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/switch_thumb_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_thumb_disabled_holo_light.9.png b/core/res/res/drawable-mdpi/switch_thumb_disabled_holo_light.9.png
index e89439d..5272f08 100644
--- a/core/res/res/drawable-mdpi/switch_thumb_disabled_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/switch_thumb_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_thumb_holo_dark.9.png b/core/res/res/drawable-mdpi/switch_thumb_holo_dark.9.png
index 51b6b2b..9b738046 100644
--- a/core/res/res/drawable-mdpi/switch_thumb_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/switch_thumb_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_thumb_holo_light.9.png b/core/res/res/drawable-mdpi/switch_thumb_holo_light.9.png
index f418398..bcd503f 100644
--- a/core/res/res/drawable-mdpi/switch_thumb_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/switch_thumb_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_thumb_pressed_holo_dark.9.png b/core/res/res/drawable-mdpi/switch_thumb_pressed_holo_dark.9.png
index 699ade9..9c948a5 100644
--- a/core/res/res/drawable-mdpi/switch_thumb_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/switch_thumb_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_thumb_pressed_holo_light.9.png b/core/res/res/drawable-mdpi/switch_thumb_pressed_holo_light.9.png
index 7f674c6..b035f42 100644
--- a/core/res/res/drawable-mdpi/switch_thumb_pressed_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/switch_thumb_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/sym_keyboard_shift.png b/core/res/res/drawable-mdpi/sym_keyboard_shift.png
index 91d6e32..572c1c1 100644
--- a/core/res/res/drawable-mdpi/sym_keyboard_shift.png
+++ b/core/res/res/drawable-mdpi/sym_keyboard_shift.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/sym_keyboard_shift_locked.png b/core/res/res/drawable-mdpi/sym_keyboard_shift_locked.png
index 2bd0536..175ed6d 100644
--- a/core/res/res/drawable-mdpi/sym_keyboard_shift_locked.png
+++ b/core/res/res/drawable-mdpi/sym_keyboard_shift_locked.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/tab_focused_holo.9.png b/core/res/res/drawable-mdpi/tab_focused_holo.9.png
deleted file mode 100644
index 187d8c5..0000000
--- a/core/res/res/drawable-mdpi/tab_focused_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-mdpi/tab_selected_bar_left_v4.9.png b/core/res/res/drawable-mdpi/tab_selected_bar_left_v4.9.png
index d14c02b..6710945 100644
--- a/core/res/res/drawable-mdpi/tab_selected_bar_left_v4.9.png
+++ b/core/res/res/drawable-mdpi/tab_selected_bar_left_v4.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/tab_selected_bar_right_v4.9.png b/core/res/res/drawable-mdpi/tab_selected_bar_right_v4.9.png
index d14c02b..6710945 100644
--- a/core/res/res/drawable-mdpi/tab_selected_bar_right_v4.9.png
+++ b/core/res/res/drawable-mdpi/tab_selected_bar_right_v4.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/tab_selected_v4.9.png b/core/res/res/drawable-mdpi/tab_selected_v4.9.png
index 52cc34e..3c1c4eb 100644
--- a/core/res/res/drawable-mdpi/tab_selected_v4.9.png
+++ b/core/res/res/drawable-mdpi/tab_selected_v4.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/tab_unselected_v4.9.png b/core/res/res/drawable-mdpi/tab_unselected_v4.9.png
index 7d0859a..bb38337 100644
--- a/core/res/res/drawable-mdpi/tab_unselected_v4.9.png
+++ b/core/res/res/drawable-mdpi/tab_unselected_v4.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/text_edit_side_paste_window.9.png b/core/res/res/drawable-mdpi/text_edit_side_paste_window.9.png
index d8ae54c..23684fa 100644
--- a/core/res/res/drawable-mdpi/text_edit_side_paste_window.9.png
+++ b/core/res/res/drawable-mdpi/text_edit_side_paste_window.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/text_select_handle_left.png b/core/res/res/drawable-mdpi/text_select_handle_left.png
index 959887f..d2cb710 100644
--- a/core/res/res/drawable-mdpi/text_select_handle_left.png
+++ b/core/res/res/drawable-mdpi/text_select_handle_left.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/text_select_handle_middle.png b/core/res/res/drawable-mdpi/text_select_handle_middle.png
index 42d4e1a..db70e5a 100644
--- a/core/res/res/drawable-mdpi/text_select_handle_middle.png
+++ b/core/res/res/drawable-mdpi/text_select_handle_middle.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/text_select_handle_right.png b/core/res/res/drawable-mdpi/text_select_handle_right.png
index 61f9c12..be3d6ea 100644
--- a/core/res/res/drawable-mdpi/text_select_handle_right.png
+++ b/core/res/res/drawable-mdpi/text_select_handle_right.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_focused_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_focused_holo_dark.9.png
index 0ce5d13..efbaef8 100644
--- a/core/res/res/drawable-mdpi/textfield_focused_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_focused_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_focused_holo_light.9.png
index 945516e..efbaef8 100644
--- a/core/res/res/drawable-mdpi/textfield_focused_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_search_default_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_search_default_holo_dark.9.png
index faaa6c2..99840b1 100644
--- a/core/res/res/drawable-mdpi/textfield_search_default_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_search_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_search_default_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_search_default_holo_light.9.png
index ec44405..6bd9509 100644
--- a/core/res/res/drawable-mdpi/textfield_search_default_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_search_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_search_right_default_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_search_right_default_holo_dark.9.png
index 1cc76a3..22493de 100644
--- a/core/res/res/drawable-mdpi/textfield_search_right_default_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_search_right_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_search_right_default_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_search_right_default_holo_light.9.png
index 2593760..02b491c 100644
--- a/core/res/res/drawable-mdpi/textfield_search_right_default_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_search_right_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_search_right_selected_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_search_right_selected_holo_dark.9.png
index 8688d6a..16c4c1a 100644
--- a/core/res/res/drawable-mdpi/textfield_search_right_selected_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_search_right_selected_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_search_right_selected_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_search_right_selected_holo_light.9.png
index 3f4c282..e474bc5 100644
--- a/core/res/res/drawable-mdpi/textfield_search_right_selected_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_search_right_selected_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_search_selected_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_search_selected_holo_dark.9.png
index 8692528..c56ab9c 100644
--- a/core/res/res/drawable-mdpi/textfield_search_selected_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_search_selected_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_search_selected_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_search_selected_holo_light.9.png
index 849af73..a2e5944 100644
--- a/core/res/res/drawable-mdpi/textfield_search_selected_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_search_selected_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/vpn_connected.png b/core/res/res/drawable-mdpi/vpn_connected.png
index 65fc6db..0d1a026 100644
--- a/core/res/res/drawable-mdpi/vpn_connected.png
+++ b/core/res/res/drawable-mdpi/vpn_connected.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/vpn_disconnected.png b/core/res/res/drawable-mdpi/vpn_disconnected.png
index 2440c69..d16d7fb 100644
--- a/core/res/res/drawable-mdpi/vpn_disconnected.png
+++ b/core/res/res/drawable-mdpi/vpn_disconnected.png
Binary files differ
diff --git a/core/res/res/drawable-nodpi/indicator_code_lock_drag_direction_green_up.png b/core/res/res/drawable-nodpi/indicator_code_lock_drag_direction_green_up.png
new file mode 100644
index 0000000..cc46f19
--- /dev/null
+++ b/core/res/res/drawable-nodpi/indicator_code_lock_drag_direction_green_up.png
Binary files differ
diff --git a/core/res/res/drawable-nodpi/indicator_code_lock_drag_direction_red_up.png b/core/res/res/drawable-nodpi/indicator_code_lock_drag_direction_red_up.png
new file mode 100644
index 0000000..cc46f19
--- /dev/null
+++ b/core/res/res/drawable-nodpi/indicator_code_lock_drag_direction_red_up.png
Binary files differ
diff --git a/core/res/res/drawable-nodpi/platlogo.png b/core/res/res/drawable-nodpi/platlogo.png
index c235005..e619ed5 100644
--- a/core/res/res/drawable-nodpi/platlogo.png
+++ b/core/res/res/drawable-nodpi/platlogo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ab_bottom_solid_dark_holo.9.png b/core/res/res/drawable-xhdpi/ab_bottom_solid_dark_holo.9.png
index 462e0e0..506cd68ff 100644
--- a/core/res/res/drawable-xhdpi/ab_bottom_solid_dark_holo.9.png
+++ b/core/res/res/drawable-xhdpi/ab_bottom_solid_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ab_bottom_solid_inverse_holo.9.png b/core/res/res/drawable-xhdpi/ab_bottom_solid_inverse_holo.9.png
index 939ff4eb..c185112 100644
--- a/core/res/res/drawable-xhdpi/ab_bottom_solid_inverse_holo.9.png
+++ b/core/res/res/drawable-xhdpi/ab_bottom_solid_inverse_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ab_bottom_solid_light_holo.9.png b/core/res/res/drawable-xhdpi/ab_bottom_solid_light_holo.9.png
index 8f89040..8ed7f9b 100644
--- a/core/res/res/drawable-xhdpi/ab_bottom_solid_light_holo.9.png
+++ b/core/res/res/drawable-xhdpi/ab_bottom_solid_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ab_bottom_transparent_dark_holo.9.png b/core/res/res/drawable-xhdpi/ab_bottom_transparent_dark_holo.9.png
index ccd53a3..c4694cd 100644
--- a/core/res/res/drawable-xhdpi/ab_bottom_transparent_dark_holo.9.png
+++ b/core/res/res/drawable-xhdpi/ab_bottom_transparent_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ab_bottom_transparent_light_holo.9.png b/core/res/res/drawable-xhdpi/ab_bottom_transparent_light_holo.9.png
index 0b1ae2d..57f5cfa 100644
--- a/core/res/res/drawable-xhdpi/ab_bottom_transparent_light_holo.9.png
+++ b/core/res/res/drawable-xhdpi/ab_bottom_transparent_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ab_solid_dark_holo.9.png b/core/res/res/drawable-xhdpi/ab_solid_dark_holo.9.png
index c8e5efc4..d16e50cc 100644
--- a/core/res/res/drawable-xhdpi/ab_solid_dark_holo.9.png
+++ b/core/res/res/drawable-xhdpi/ab_solid_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ab_solid_light_holo.9.png b/core/res/res/drawable-xhdpi/ab_solid_light_holo.9.png
index 6cb8a0e..45cc807 100644
--- a/core/res/res/drawable-xhdpi/ab_solid_light_holo.9.png
+++ b/core/res/res/drawable-xhdpi/ab_solid_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ab_solid_shadow_holo.9.png b/core/res/res/drawable-xhdpi/ab_solid_shadow_holo.9.png
index 49b2669..a9e0d4d 100644
--- a/core/res/res/drawable-xhdpi/ab_solid_shadow_holo.9.png
+++ b/core/res/res/drawable-xhdpi/ab_solid_shadow_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ab_stacked_solid_dark_holo.9.png b/core/res/res/drawable-xhdpi/ab_stacked_solid_dark_holo.9.png
index 201e21d..5ea235d 100644
--- a/core/res/res/drawable-xhdpi/ab_stacked_solid_dark_holo.9.png
+++ b/core/res/res/drawable-xhdpi/ab_stacked_solid_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ab_stacked_solid_inverse_holo.9.png b/core/res/res/drawable-xhdpi/ab_stacked_solid_inverse_holo.9.png
index ac96200..0220c8d 100644
--- a/core/res/res/drawable-xhdpi/ab_stacked_solid_inverse_holo.9.png
+++ b/core/res/res/drawable-xhdpi/ab_stacked_solid_inverse_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ab_stacked_solid_light_holo.9.png b/core/res/res/drawable-xhdpi/ab_stacked_solid_light_holo.9.png
index d605d96..be13077 100644
--- a/core/res/res/drawable-xhdpi/ab_stacked_solid_light_holo.9.png
+++ b/core/res/res/drawable-xhdpi/ab_stacked_solid_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ab_stacked_transparent_dark_holo.9.png b/core/res/res/drawable-xhdpi/ab_stacked_transparent_dark_holo.9.png
index 8ece2a9..ab02e7a 100644
--- a/core/res/res/drawable-xhdpi/ab_stacked_transparent_dark_holo.9.png
+++ b/core/res/res/drawable-xhdpi/ab_stacked_transparent_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ab_stacked_transparent_light_holo.9.png b/core/res/res/drawable-xhdpi/ab_stacked_transparent_light_holo.9.png
index ae0b6b7..0b5a24e 100644
--- a/core/res/res/drawable-xhdpi/ab_stacked_transparent_light_holo.9.png
+++ b/core/res/res/drawable-xhdpi/ab_stacked_transparent_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ab_transparent_dark_holo.9.png b/core/res/res/drawable-xhdpi/ab_transparent_dark_holo.9.png
index d3a3809..6d21429 100644
--- a/core/res/res/drawable-xhdpi/ab_transparent_dark_holo.9.png
+++ b/core/res/res/drawable-xhdpi/ab_transparent_dark_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ab_transparent_light_holo.9.png b/core/res/res/drawable-xhdpi/ab_transparent_light_holo.9.png
index 7e6e24d..c34c46f 100644
--- a/core/res/res/drawable-xhdpi/ab_transparent_light_holo.9.png
+++ b/core/res/res/drawable-xhdpi/ab_transparent_light_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/activity_title_bar.9.png b/core/res/res/drawable-xhdpi/activity_title_bar.9.png
new file mode 100644
index 0000000..949f31e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/activity_title_bar.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/arrow_down_float.png b/core/res/res/drawable-xhdpi/arrow_down_float.png
new file mode 100644
index 0000000..b165ee3
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/arrow_down_float.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/arrow_up_float.png b/core/res/res/drawable-xhdpi/arrow_up_float.png
new file mode 100644
index 0000000..793ec42
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/arrow_up_float.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/battery_charge_background.png b/core/res/res/drawable-xhdpi/battery_charge_background.png
new file mode 100644
index 0000000..84b168c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/battery_charge_background.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/bottom_bar.png b/core/res/res/drawable-xhdpi/bottom_bar.png
new file mode 100644
index 0000000..67b1e47
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/bottom_bar.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_buttonless_off.png b/core/res/res/drawable-xhdpi/btn_check_buttonless_off.png
new file mode 100644
index 0000000..a3c5655
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_check_buttonless_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_buttonless_on.png b/core/res/res/drawable-xhdpi/btn_check_buttonless_on.png
new file mode 100644
index 0000000..0629581
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_check_buttonless_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_label_background.9.png b/core/res/res/drawable-xhdpi/btn_check_label_background.9.png
new file mode 100644
index 0000000..9257ca9
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_check_label_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_circle_disable.png b/core/res/res/drawable-xhdpi/btn_circle_disable.png
new file mode 100644
index 0000000..420e01a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_circle_disable.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_circle_disable_focused.png b/core/res/res/drawable-xhdpi/btn_circle_disable_focused.png
new file mode 100644
index 0000000..6876916
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_circle_disable_focused.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_circle_normal.png b/core/res/res/drawable-xhdpi/btn_circle_normal.png
new file mode 100644
index 0000000..de7e71e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_circle_normal.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_circle_pressed.png b/core/res/res/drawable-xhdpi/btn_circle_pressed.png
new file mode 100644
index 0000000..17776e4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_circle_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_circle_selected.png b/core/res/res/drawable-xhdpi/btn_circle_selected.png
new file mode 100644
index 0000000..98aeff5
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_circle_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_close_normal.png b/core/res/res/drawable-xhdpi/btn_close_normal.png
new file mode 100644
index 0000000..2d0b0ea
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_close_normal.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_close_pressed.png b/core/res/res/drawable-xhdpi/btn_close_pressed.png
new file mode 100644
index 0000000..5d9b5ee
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_close_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_close_selected.png b/core/res/res/drawable-xhdpi/btn_close_selected.png
new file mode 100644
index 0000000..1bf1740
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_close_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_code_lock_default.png b/core/res/res/drawable-xhdpi/btn_code_lock_default.png
new file mode 100644
index 0000000..a644014
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_code_lock_default.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_code_lock_touched.png b/core/res/res/drawable-xhdpi/btn_code_lock_touched.png
new file mode 100644
index 0000000..67faad2
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_code_lock_touched.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_normal.9.png b/core/res/res/drawable-xhdpi/btn_default_normal.9.png
index 9f18a87..4ca0b374 100644
--- a/core/res/res/drawable-xhdpi/btn_default_normal.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_normal_disable.9.png b/core/res/res/drawable-xhdpi/btn_default_normal_disable.9.png
index 652aa3e..f7af2a4 100644
--- a/core/res/res/drawable-xhdpi/btn_default_normal_disable.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_normal_disable.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_normal_disable_focused.9.png b/core/res/res/drawable-xhdpi/btn_default_normal_disable_focused.9.png
index 92a7664..ab7084e 100644
--- a/core/res/res/drawable-xhdpi/btn_default_normal_disable_focused.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_normal_disable_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_pressed.9.png b/core/res/res/drawable-xhdpi/btn_default_pressed.9.png
index 3f42693..02f5bb8 100644
--- a/core/res/res/drawable-xhdpi/btn_default_pressed.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_selected.9.png b/core/res/res/drawable-xhdpi/btn_default_selected.9.png
index ecdc72b..0375a18 100644
--- a/core/res/res/drawable-xhdpi/btn_default_selected.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_small_normal.9.png b/core/res/res/drawable-xhdpi/btn_default_small_normal.9.png
index f823033..d368073 100644
--- a/core/res/res/drawable-xhdpi/btn_default_small_normal.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_small_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_small_normal_disable.9.png b/core/res/res/drawable-xhdpi/btn_default_small_normal_disable.9.png
index f537a6d..6d1eb48 100644
--- a/core/res/res/drawable-xhdpi/btn_default_small_normal_disable.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_small_normal_disable.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_small_normal_disable_focused.9.png b/core/res/res/drawable-xhdpi/btn_default_small_normal_disable_focused.9.png
index 1b11689..f4783d4 100644
--- a/core/res/res/drawable-xhdpi/btn_default_small_normal_disable_focused.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_small_normal_disable_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_small_selected.9.png b/core/res/res/drawable-xhdpi/btn_default_small_selected.9.png
index 74a156f..0df43d7 100644
--- a/core/res/res/drawable-xhdpi/btn_default_small_selected.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_small_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_transparent_normal.9.png b/core/res/res/drawable-xhdpi/btn_default_transparent_normal.9.png
index 44860dc..4412346 100644
--- a/core/res/res/drawable-xhdpi/btn_default_transparent_normal.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_transparent_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_dialog_disable.png b/core/res/res/drawable-xhdpi/btn_dialog_disable.png
new file mode 100644
index 0000000..571e40a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_dialog_disable.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_dialog_normal.png b/core/res/res/drawable-xhdpi/btn_dialog_normal.png
new file mode 100644
index 0000000..2d0b0ea
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_dialog_normal.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_dialog_pressed.png b/core/res/res/drawable-xhdpi/btn_dialog_pressed.png
new file mode 100644
index 0000000..56195d2
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_dialog_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_dialog_selected.png b/core/res/res/drawable-xhdpi/btn_dialog_selected.png
new file mode 100644
index 0000000..c33da56
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_dialog_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_dropdown_disabled.9.png b/core/res/res/drawable-xhdpi/btn_dropdown_disabled.9.png
new file mode 100644
index 0000000..e45c731
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_dropdown_disabled.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_dropdown_disabled_focused.9.png b/core/res/res/drawable-xhdpi/btn_dropdown_disabled_focused.9.png
new file mode 100644
index 0000000..0e0e0d1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_dropdown_disabled_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_dropdown_normal.9.png b/core/res/res/drawable-xhdpi/btn_dropdown_normal.9.png
new file mode 100644
index 0000000..a47ad5a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_dropdown_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_dropdown_pressed.9.png b/core/res/res/drawable-xhdpi/btn_dropdown_pressed.9.png
new file mode 100644
index 0000000..a3851a8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_dropdown_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_dropdown_selected.9.png b/core/res/res/drawable-xhdpi/btn_dropdown_selected.9.png
new file mode 100644
index 0000000..80e4d04
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_dropdown_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_erase_default.9.png b/core/res/res/drawable-xhdpi/btn_erase_default.9.png
new file mode 100644
index 0000000..f189e9c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_erase_default.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_erase_pressed.9.png b/core/res/res/drawable-xhdpi/btn_erase_pressed.9.png
new file mode 100644
index 0000000..99cd6fd
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_erase_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_erase_selected.9.png b/core/res/res/drawable-xhdpi/btn_erase_selected.9.png
new file mode 100644
index 0000000..b6de266
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_erase_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_global_search_normal.9.png b/core/res/res/drawable-xhdpi/btn_global_search_normal.9.png
new file mode 100644
index 0000000..cc11942
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_global_search_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_group_disabled_holo_dark.9.png b/core/res/res/drawable-xhdpi/btn_group_disabled_holo_dark.9.png
new file mode 100644
index 0000000..6bf2fb4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_group_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_group_disabled_holo_light.9.png b/core/res/res/drawable-xhdpi/btn_group_disabled_holo_light.9.png
new file mode 100644
index 0000000..979eccd
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_group_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_group_focused_holo_dark.9.png b/core/res/res/drawable-xhdpi/btn_group_focused_holo_dark.9.png
new file mode 100644
index 0000000..7252482
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_group_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_group_focused_holo_light.9.png b/core/res/res/drawable-xhdpi/btn_group_focused_holo_light.9.png
new file mode 100644
index 0000000..7252482
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_group_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_group_normal_holo_dark.9.png b/core/res/res/drawable-xhdpi/btn_group_normal_holo_dark.9.png
new file mode 100644
index 0000000..3065564
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_group_normal_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_group_normal_holo_light.9.png b/core/res/res/drawable-xhdpi/btn_group_normal_holo_light.9.png
new file mode 100644
index 0000000..a444e63
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_group_normal_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_group_pressed_holo_dark.9.png b/core/res/res/drawable-xhdpi/btn_group_pressed_holo_dark.9.png
new file mode 100644
index 0000000..60d6675
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_group_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_group_pressed_holo_light.9.png b/core/res/res/drawable-xhdpi/btn_group_pressed_holo_light.9.png
new file mode 100644
index 0000000..142a1c9
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_group_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal.9.png
new file mode 100644
index 0000000..ef9262f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal_off.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal_off.9.png
new file mode 100644
index 0000000..6715afd
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal_off.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal_on.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal_on.9.png
new file mode 100644
index 0000000..8ffddcf
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal_on.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed.9.png
new file mode 100644
index 0000000..5a52bbc
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed_off.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed_off.9.png
new file mode 100644
index 0000000..77c6d78
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed_off.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed_on.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed_on.9.png
new file mode 100644
index 0000000..ed73f09
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed_on.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_normal.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_normal.9.png
new file mode 100644
index 0000000..08021f9
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_normal_off.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_normal_off.9.png
new file mode 100644
index 0000000..41c8ccb
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_normal_off.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_normal_on.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_normal_on.9.png
new file mode 100644
index 0000000..546ccbc
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_normal_on.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed.9.png
new file mode 100644
index 0000000..802b22e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed_off.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed_off.9.png
new file mode 100644
index 0000000..d317f94
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed_off.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed_on.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed_on.9.png
new file mode 100644
index 0000000..80b50a1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed_on.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_normal.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_normal.9.png
new file mode 100644
index 0000000..200d934
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_normal_off.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_normal_off.9.png
new file mode 100644
index 0000000..76202a4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_normal_off.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_normal_on.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_normal_on.9.png
new file mode 100644
index 0000000..e9b2d7e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_normal_on.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_pressed.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_pressed.9.png
new file mode 100644
index 0000000..f3626b6
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_pressed_off.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_pressed_off.9.png
new file mode 100644
index 0000000..8db4f8e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_pressed_off.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_pressed_on.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_pressed_on.9.png
new file mode 100644
index 0000000..b835a07
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_pressed_on.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_selected.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_selected.9.png
new file mode 100644
index 0000000..8dd3070
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_media_player.9.png b/core/res/res/drawable-xhdpi/btn_media_player.9.png
new file mode 100644
index 0000000..06e523d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_media_player.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_media_player_disabled.9.png b/core/res/res/drawable-xhdpi/btn_media_player_disabled.9.png
new file mode 100644
index 0000000..9b3350f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_media_player_disabled.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_media_player_disabled_selected.9.png b/core/res/res/drawable-xhdpi/btn_media_player_disabled_selected.9.png
new file mode 100644
index 0000000..1872a0b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_media_player_disabled_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_media_player_pressed.9.png b/core/res/res/drawable-xhdpi/btn_media_player_pressed.9.png
new file mode 100644
index 0000000..e8810b0
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_media_player_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_media_player_selected.9.png b/core/res/res/drawable-xhdpi/btn_media_player_selected.9.png
new file mode 100644
index 0000000..b9287d6
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_media_player_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_minus_default.png b/core/res/res/drawable-xhdpi/btn_minus_default.png
new file mode 100644
index 0000000..7e952f11
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_minus_default.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_minus_disable.png b/core/res/res/drawable-xhdpi/btn_minus_disable.png
new file mode 100644
index 0000000..63901e3
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_minus_disable.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_minus_disable_focused.png b/core/res/res/drawable-xhdpi/btn_minus_disable_focused.png
new file mode 100644
index 0000000..9073d49
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_minus_disable_focused.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_minus_pressed.png b/core/res/res/drawable-xhdpi/btn_minus_pressed.png
new file mode 100644
index 0000000..49dfc3f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_minus_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_minus_selected.png b/core/res/res/drawable-xhdpi/btn_minus_selected.png
new file mode 100644
index 0000000..d1d2101
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_minus_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_plus_default.png b/core/res/res/drawable-xhdpi/btn_plus_default.png
new file mode 100644
index 0000000..d47113a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_plus_default.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_plus_disable.png b/core/res/res/drawable-xhdpi/btn_plus_disable.png
new file mode 100644
index 0000000..6432c81
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_plus_disable.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_plus_disable_focused.png b/core/res/res/drawable-xhdpi/btn_plus_disable_focused.png
new file mode 100644
index 0000000..666bf9d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_plus_disable_focused.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_plus_pressed.png b/core/res/res/drawable-xhdpi/btn_plus_pressed.png
new file mode 100644
index 0000000..2fdb1d2
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_plus_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_plus_selected.png b/core/res/res/drawable-xhdpi/btn_plus_selected.png
new file mode 100644
index 0000000..0f9157d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_plus_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_label_background.9.png b/core/res/res/drawable-xhdpi/btn_radio_label_background.9.png
new file mode 100644
index 0000000..e5dee60
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_label_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off.png b/core/res/res/drawable-xhdpi/btn_radio_off.png
new file mode 100644
index 0000000..be4bafa
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_disabled_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_off_disabled_focused_holo_dark.png
new file mode 100644
index 0000000..0aa6b93
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_disabled_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_off_disabled_focused_holo_light.png
new file mode 100644
index 0000000..e7a7020
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_disabled_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_off_disabled_holo_dark.png
new file mode 100644
index 0000000..e3fac69
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_disabled_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_off_disabled_holo_light.png
new file mode 100644
index 0000000..c2c8b5e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_off_focused_holo_dark.png
new file mode 100644
index 0000000..c28914c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_off_focused_holo_light.png
new file mode 100644
index 0000000..9ddffd1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_holo.png b/core/res/res/drawable-xhdpi/btn_radio_off_holo.png
new file mode 100644
index 0000000..1167e1f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_off_holo_dark.png
new file mode 100644
index 0000000..e6c2474
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_off_holo_light.png
new file mode 100644
index 0000000..c642355
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_pressed.png b/core/res/res/drawable-xhdpi/btn_radio_off_pressed.png
new file mode 100644
index 0000000..19e4443
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_off_pressed_holo_dark.png
new file mode 100644
index 0000000..786ce59
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_pressed_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_off_pressed_holo_light.png
new file mode 100644
index 0000000..f56d716
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_selected.png b/core/res/res/drawable-xhdpi/btn_radio_off_selected.png
new file mode 100644
index 0000000..599b48b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on.png b/core/res/res/drawable-xhdpi/btn_radio_on.png
new file mode 100644
index 0000000..d0416572
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_disabled_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_on_disabled_focused_holo_dark.png
new file mode 100644
index 0000000..99f3d53
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_disabled_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_on_disabled_focused_holo_light.png
new file mode 100644
index 0000000..2d98e17
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_disabled_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_on_disabled_holo_dark.png
new file mode 100644
index 0000000..71984bc
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_disabled_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_on_disabled_holo_light.png
new file mode 100644
index 0000000..e77b6e3
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_on_focused_holo_dark.png
new file mode 100644
index 0000000..5d1edc7
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_on_focused_holo_light.png
new file mode 100644
index 0000000..db9fc32
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_holo.png b/core/res/res/drawable-xhdpi/btn_radio_on_holo.png
new file mode 100644
index 0000000..e39e097
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_on_holo_dark.png
new file mode 100644
index 0000000..4fc05dd
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_on_holo_light.png
new file mode 100644
index 0000000..bfcef36
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_pressed.png b/core/res/res/drawable-xhdpi/btn_radio_on_pressed.png
new file mode 100644
index 0000000..88640d0
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_on_pressed_holo_dark.png
new file mode 100644
index 0000000..ec7fa73
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_pressed_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_on_pressed_holo_light.png
new file mode 100644
index 0000000..6941ce0
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_selected.png b/core/res/res/drawable-xhdpi/btn_radio_on_selected.png
new file mode 100644
index 0000000..c90b24d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_off_normal.png b/core/res/res/drawable-xhdpi/btn_rating_star_off_normal.png
new file mode 100644
index 0000000..d17506f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_rating_star_off_normal.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_off_pressed.png b/core/res/res/drawable-xhdpi/btn_rating_star_off_pressed.png
new file mode 100644
index 0000000..93a01a5
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_rating_star_off_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_off_selected.png b/core/res/res/drawable-xhdpi/btn_rating_star_off_selected.png
new file mode 100644
index 0000000..dea640a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_rating_star_off_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_on_normal.png b/core/res/res/drawable-xhdpi/btn_rating_star_on_normal.png
new file mode 100644
index 0000000..cf93bfb
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_rating_star_on_normal.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_on_pressed.png b/core/res/res/drawable-xhdpi/btn_rating_star_on_pressed.png
new file mode 100644
index 0000000..0696e04
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_rating_star_on_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_on_selected.png b/core/res/res/drawable-xhdpi/btn_rating_star_on_selected.png
new file mode 100644
index 0000000..5f3bec2
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_rating_star_on_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_search_dialog_default.9.png b/core/res/res/drawable-xhdpi/btn_search_dialog_default.9.png
new file mode 100644
index 0000000..07cb53c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_search_dialog_default.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_search_dialog_pressed.9.png b/core/res/res/drawable-xhdpi/btn_search_dialog_pressed.9.png
new file mode 100644
index 0000000..d3ccef8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_search_dialog_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_search_dialog_selected.9.png b/core/res/res/drawable-xhdpi/btn_search_dialog_selected.9.png
new file mode 100644
index 0000000..c553c58
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_search_dialog_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_search_dialog_voice_default.9.png b/core/res/res/drawable-xhdpi/btn_search_dialog_voice_default.9.png
new file mode 100644
index 0000000..f478c46
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_search_dialog_voice_default.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_search_dialog_voice_pressed.9.png b/core/res/res/drawable-xhdpi/btn_search_dialog_voice_pressed.9.png
new file mode 100644
index 0000000..ea5e509
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_search_dialog_voice_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_search_dialog_voice_selected.9.png b/core/res/res/drawable-xhdpi/btn_search_dialog_voice_selected.9.png
new file mode 100644
index 0000000..a46f0ed
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_search_dialog_voice_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_square_overlay_disabled.png b/core/res/res/drawable-xhdpi/btn_square_overlay_disabled.png
new file mode 100644
index 0000000..3cad470
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_square_overlay_disabled.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_square_overlay_disabled_focused.png b/core/res/res/drawable-xhdpi/btn_square_overlay_disabled_focused.png
new file mode 100644
index 0000000..fff0d50
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_square_overlay_disabled_focused.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_square_overlay_normal.png b/core/res/res/drawable-xhdpi/btn_square_overlay_normal.png
new file mode 100644
index 0000000..d2bd151
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_square_overlay_normal.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_square_overlay_pressed.png b/core/res/res/drawable-xhdpi/btn_square_overlay_pressed.png
new file mode 100644
index 0000000..b1bf326
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_square_overlay_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_square_overlay_selected.png b/core/res/res/drawable-xhdpi/btn_square_overlay_selected.png
new file mode 100644
index 0000000..c48a996
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_square_overlay_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_off.png b/core/res/res/drawable-xhdpi/btn_star_big_off.png
new file mode 100644
index 0000000..4ed5142
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_star_big_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_off_disable.png b/core/res/res/drawable-xhdpi/btn_star_big_off_disable.png
new file mode 100644
index 0000000..cc52dec
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_star_big_off_disable.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_off_disable_focused.png b/core/res/res/drawable-xhdpi/btn_star_big_off_disable_focused.png
new file mode 100644
index 0000000..fea7717
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_star_big_off_disable_focused.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_off_pressed.png b/core/res/res/drawable-xhdpi/btn_star_big_off_pressed.png
new file mode 100644
index 0000000..503a5b2
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_star_big_off_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_off_selected.png b/core/res/res/drawable-xhdpi/btn_star_big_off_selected.png
new file mode 100644
index 0000000..8470723
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_star_big_off_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_on.png b/core/res/res/drawable-xhdpi/btn_star_big_on.png
new file mode 100644
index 0000000..a094406
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_star_big_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_on_disable.png b/core/res/res/drawable-xhdpi/btn_star_big_on_disable.png
new file mode 100644
index 0000000..bbf7d17
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_star_big_on_disable.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_on_disable_focused.png b/core/res/res/drawable-xhdpi/btn_star_big_on_disable_focused.png
new file mode 100644
index 0000000..a46ea69
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_star_big_on_disable_focused.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_on_pressed.png b/core/res/res/drawable-xhdpi/btn_star_big_on_pressed.png
new file mode 100644
index 0000000..7e45f2a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_star_big_on_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_on_selected.png b/core/res/res/drawable-xhdpi/btn_star_big_on_selected.png
new file mode 100644
index 0000000..0607b78
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_star_big_on_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_label_background.9.png b/core/res/res/drawable-xhdpi/btn_star_label_background.9.png
new file mode 100644
index 0000000..a8b0568
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_star_label_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_zoom_down_disabled.9.png b/core/res/res/drawable-xhdpi/btn_zoom_down_disabled.9.png
new file mode 100644
index 0000000..7e4297b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_zoom_down_disabled.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_zoom_down_disabled_focused.9.png b/core/res/res/drawable-xhdpi/btn_zoom_down_disabled_focused.9.png
new file mode 100644
index 0000000..f23f23c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_zoom_down_disabled_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_zoom_down_normal.9.png b/core/res/res/drawable-xhdpi/btn_zoom_down_normal.9.png
new file mode 100644
index 0000000..59ae103
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_zoom_down_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_zoom_down_pressed.9.png b/core/res/res/drawable-xhdpi/btn_zoom_down_pressed.9.png
new file mode 100644
index 0000000..23c19c1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_zoom_down_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_zoom_down_selected.9.png b/core/res/res/drawable-xhdpi/btn_zoom_down_selected.9.png
new file mode 100644
index 0000000..9066821
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_zoom_down_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_zoom_page_normal.png b/core/res/res/drawable-xhdpi/btn_zoom_page_normal.png
new file mode 100644
index 0000000..9ae3f50
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_zoom_page_normal.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_zoom_page_press.png b/core/res/res/drawable-xhdpi/btn_zoom_page_press.png
new file mode 100644
index 0000000..3549bdf
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_zoom_page_press.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_zoom_up_disabled.9.png b/core/res/res/drawable-xhdpi/btn_zoom_up_disabled.9.png
new file mode 100644
index 0000000..6bc9e2e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_zoom_up_disabled.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_zoom_up_disabled_focused.9.png b/core/res/res/drawable-xhdpi/btn_zoom_up_disabled_focused.9.png
new file mode 100644
index 0000000..8dc0568
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_zoom_up_disabled_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_zoom_up_normal.9.png b/core/res/res/drawable-xhdpi/btn_zoom_up_normal.9.png
new file mode 100644
index 0000000..7776d28
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_zoom_up_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_zoom_up_pressed.9.png b/core/res/res/drawable-xhdpi/btn_zoom_up_pressed.9.png
new file mode 100644
index 0000000..2a5b1f4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_zoom_up_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_zoom_up_selected.9.png b/core/res/res/drawable-xhdpi/btn_zoom_up_selected.9.png
new file mode 100644
index 0000000..f88c377
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_zoom_up_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/button_onoff_indicator_off.png b/core/res/res/drawable-xhdpi/button_onoff_indicator_off.png
new file mode 100644
index 0000000..f70fd68
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/button_onoff_indicator_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/button_onoff_indicator_on.png b/core/res/res/drawable-xhdpi/button_onoff_indicator_on.png
new file mode 100644
index 0000000..9163be4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/button_onoff_indicator_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/call_contact.png b/core/res/res/drawable-xhdpi/call_contact.png
new file mode 100644
index 0000000..343e2db
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/call_contact.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/checkbox_off_background.png b/core/res/res/drawable-xhdpi/checkbox_off_background.png
new file mode 100644
index 0000000..ade4c0a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/checkbox_off_background.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/checkbox_on_background.png b/core/res/res/drawable-xhdpi/checkbox_on_background.png
new file mode 100644
index 0000000..5f6803a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/checkbox_on_background.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/clock_dial.png b/core/res/res/drawable-xhdpi/clock_dial.png
new file mode 100644
index 0000000..6cb60a2
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/clock_dial.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/clock_hand_hour.png b/core/res/res/drawable-xhdpi/clock_hand_hour.png
new file mode 100644
index 0000000..bc0c5bd
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/clock_hand_hour.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/clock_hand_minute.png b/core/res/res/drawable-xhdpi/clock_hand_minute.png
new file mode 100644
index 0000000..01d611f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/clock_hand_minute.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/code_lock_bottom.9.png b/core/res/res/drawable-xhdpi/code_lock_bottom.9.png
new file mode 100644
index 0000000..1dbab24
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/code_lock_bottom.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/code_lock_left.9.png b/core/res/res/drawable-xhdpi/code_lock_left.9.png
new file mode 100644
index 0000000..ae65521
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/code_lock_left.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/code_lock_top.9.png b/core/res/res/drawable-xhdpi/code_lock_top.9.png
new file mode 100644
index 0000000..6f5cf62
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/code_lock_top.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/combobox_disabled.png b/core/res/res/drawable-xhdpi/combobox_disabled.png
new file mode 100644
index 0000000..9edf16e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/combobox_disabled.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/combobox_nohighlight.png b/core/res/res/drawable-xhdpi/combobox_nohighlight.png
new file mode 100644
index 0000000..0b58042
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/combobox_nohighlight.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/compass_arrow.png b/core/res/res/drawable-xhdpi/compass_arrow.png
new file mode 100644
index 0000000..1d0f360
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/compass_arrow.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/compass_base.png b/core/res/res/drawable-xhdpi/compass_base.png
new file mode 100644
index 0000000..a66eb4a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/compass_base.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/contact_header_bg.9.png b/core/res/res/drawable-xhdpi/contact_header_bg.9.png
new file mode 100644
index 0000000..aee15b8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/contact_header_bg.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/create_contact.png b/core/res/res/drawable-xhdpi/create_contact.png
new file mode 100644
index 0000000..c6d5622
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/create_contact.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dark_header.9.png b/core/res/res/drawable-xhdpi/dark_header.9.png
new file mode 100644
index 0000000..5a0adc8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dark_header.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/day_picker_week_view_dayline_holo.9.png b/core/res/res/drawable-xhdpi/day_picker_week_view_dayline_holo.9.png
new file mode 100644
index 0000000..bc6a6e4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/day_picker_week_view_dayline_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dialog_divider_horizontal_holo_dark.9.png b/core/res/res/drawable-xhdpi/dialog_divider_horizontal_holo_dark.9.png
new file mode 100644
index 0000000..e966846
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dialog_divider_horizontal_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dialog_divider_horizontal_holo_light.9.png b/core/res/res/drawable-xhdpi/dialog_divider_horizontal_holo_light.9.png
new file mode 100644
index 0000000..093802b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dialog_divider_horizontal_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dialog_divider_horizontal_light.9.png b/core/res/res/drawable-xhdpi/dialog_divider_horizontal_light.9.png
new file mode 100644
index 0000000..02aa017
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dialog_divider_horizontal_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dialog_ic_close_focused_holo_dark.png b/core/res/res/drawable-xhdpi/dialog_ic_close_focused_holo_dark.png
new file mode 100644
index 0000000..aa473ab
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dialog_ic_close_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dialog_ic_close_focused_holo_light.png b/core/res/res/drawable-xhdpi/dialog_ic_close_focused_holo_light.png
new file mode 100644
index 0000000..ab21bbe
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dialog_ic_close_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dialog_ic_close_normal_holo_dark.png b/core/res/res/drawable-xhdpi/dialog_ic_close_normal_holo_dark.png
new file mode 100644
index 0000000..338e1b7
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dialog_ic_close_normal_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dialog_ic_close_normal_holo_light.png b/core/res/res/drawable-xhdpi/dialog_ic_close_normal_holo_light.png
new file mode 100644
index 0000000..e11f2e3
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dialog_ic_close_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dialog_ic_close_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/dialog_ic_close_pressed_holo_dark.png
new file mode 100644
index 0000000..0401bcd
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dialog_ic_close_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dialog_ic_close_pressed_holo_light.png b/core/res/res/drawable-xhdpi/dialog_ic_close_pressed_holo_light.png
new file mode 100644
index 0000000..7040392
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dialog_ic_close_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/divider_horizontal_bright.9.png b/core/res/res/drawable-xhdpi/divider_horizontal_bright.9.png
new file mode 100644
index 0000000..41b776b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/divider_horizontal_bright.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/divider_horizontal_bright_opaque.9.png b/core/res/res/drawable-xhdpi/divider_horizontal_bright_opaque.9.png
new file mode 100644
index 0000000..eb75a22
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/divider_horizontal_bright_opaque.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/divider_horizontal_dark.9.png b/core/res/res/drawable-xhdpi/divider_horizontal_dark.9.png
new file mode 100644
index 0000000..55a5e53
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/divider_horizontal_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/divider_horizontal_dark_opaque.9.png b/core/res/res/drawable-xhdpi/divider_horizontal_dark_opaque.9.png
new file mode 100644
index 0000000..60e2cb2
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/divider_horizontal_dark_opaque.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/divider_horizontal_dim_dark.9.png b/core/res/res/drawable-xhdpi/divider_horizontal_dim_dark.9.png
new file mode 100644
index 0000000..cf34613
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/divider_horizontal_dim_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/divider_horizontal_holo_dark.9.png b/core/res/res/drawable-xhdpi/divider_horizontal_holo_dark.9.png
new file mode 100644
index 0000000..48a88b8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/divider_horizontal_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/divider_horizontal_holo_light.9.png b/core/res/res/drawable-xhdpi/divider_horizontal_holo_light.9.png
new file mode 100644
index 0000000..712aef2
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/divider_horizontal_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/divider_horizontal_textfield.9.png b/core/res/res/drawable-xhdpi/divider_horizontal_textfield.9.png
new file mode 100644
index 0000000..c9fa0fd
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/divider_horizontal_textfield.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/divider_vertical_bright.9.png b/core/res/res/drawable-xhdpi/divider_vertical_bright.9.png
new file mode 100644
index 0000000..41b776b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/divider_vertical_bright.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/divider_vertical_bright_opaque.9.png b/core/res/res/drawable-xhdpi/divider_vertical_bright_opaque.9.png
new file mode 100644
index 0000000..eb75a22
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/divider_vertical_bright_opaque.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/divider_vertical_dark.9.png b/core/res/res/drawable-xhdpi/divider_vertical_dark.9.png
new file mode 100644
index 0000000..55a5e53
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/divider_vertical_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/divider_vertical_dark_opaque.9.png b/core/res/res/drawable-xhdpi/divider_vertical_dark_opaque.9.png
new file mode 100644
index 0000000..60e2cb2
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/divider_vertical_dark_opaque.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/divider_vertical_holo_dark.9.png b/core/res/res/drawable-xhdpi/divider_vertical_holo_dark.9.png
new file mode 100644
index 0000000..9350789
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/divider_vertical_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/divider_vertical_holo_light.9.png b/core/res/res/drawable-xhdpi/divider_vertical_holo_light.9.png
new file mode 100644
index 0000000..e0f6e0a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/divider_vertical_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_disabled_focused_holo_dark.9.png b/core/res/res/drawable-xhdpi/dropdown_disabled_focused_holo_dark.9.png
new file mode 100644
index 0000000..b5d226a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_disabled_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_disabled_focused_holo_light.9.png b/core/res/res/drawable-xhdpi/dropdown_disabled_focused_holo_light.9.png
new file mode 100644
index 0000000..af85561
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_disabled_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_disabled_holo_dark.9.png b/core/res/res/drawable-xhdpi/dropdown_disabled_holo_dark.9.png
new file mode 100644
index 0000000..bf01b0a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_disabled_holo_light.9.png b/core/res/res/drawable-xhdpi/dropdown_disabled_holo_light.9.png
new file mode 100644
index 0000000..f4effa1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_focused_holo_dark.9.png b/core/res/res/drawable-xhdpi/dropdown_focused_holo_dark.9.png
new file mode 100644
index 0000000..ce31d0f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_focused_holo_light.9.png b/core/res/res/drawable-xhdpi/dropdown_focused_holo_light.9.png
new file mode 100644
index 0000000..4596171
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_ic_arrow_disabled_focused_holo_dark.png b/core/res/res/drawable-xhdpi/dropdown_ic_arrow_disabled_focused_holo_dark.png
new file mode 100644
index 0000000..adb6c36
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_ic_arrow_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_ic_arrow_disabled_focused_holo_light.png b/core/res/res/drawable-xhdpi/dropdown_ic_arrow_disabled_focused_holo_light.png
new file mode 100644
index 0000000..a1075d5
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_ic_arrow_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_ic_arrow_disabled_holo_dark.png b/core/res/res/drawable-xhdpi/dropdown_ic_arrow_disabled_holo_dark.png
new file mode 100644
index 0000000..782325f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_ic_arrow_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_ic_arrow_disabled_holo_light.png b/core/res/res/drawable-xhdpi/dropdown_ic_arrow_disabled_holo_light.png
new file mode 100644
index 0000000..195ecbb
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_ic_arrow_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_ic_arrow_focused_holo_light.png b/core/res/res/drawable-xhdpi/dropdown_ic_arrow_focused_holo_light.png
new file mode 100644
index 0000000..988e3f4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_ic_arrow_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_ic_arrow_normal_holo_dark.png b/core/res/res/drawable-xhdpi/dropdown_ic_arrow_normal_holo_dark.png
new file mode 100644
index 0000000..36d8cf4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_ic_arrow_normal_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_ic_arrow_normal_holo_light.png b/core/res/res/drawable-xhdpi/dropdown_ic_arrow_normal_holo_light.png
new file mode 100644
index 0000000..a931132
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_ic_arrow_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_ic_arrow_pressed_holo_light.png b/core/res/res/drawable-xhdpi/dropdown_ic_arrow_pressed_holo_light.png
new file mode 100644
index 0000000..833bc13
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_ic_arrow_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_normal_holo_dark.9.png b/core/res/res/drawable-xhdpi/dropdown_normal_holo_dark.9.png
new file mode 100644
index 0000000..ca18b0d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_normal_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_normal_holo_light.9.png b/core/res/res/drawable-xhdpi/dropdown_normal_holo_light.9.png
new file mode 100644
index 0000000..37ad0e0
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_normal_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_pressed_holo_dark.9.png b/core/res/res/drawable-xhdpi/dropdown_pressed_holo_dark.9.png
new file mode 100644
index 0000000..bdee422
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/dropdown_pressed_holo_light.9.png b/core/res/res/drawable-xhdpi/dropdown_pressed_holo_light.9.png
new file mode 100644
index 0000000..12ea0548
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/dropdown_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/edit_query.png b/core/res/res/drawable-xhdpi/edit_query.png
new file mode 100644
index 0000000..dea9701
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/edit_query.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/edit_query_background_normal.9.png b/core/res/res/drawable-xhdpi/edit_query_background_normal.9.png
new file mode 100644
index 0000000..7787df3
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/edit_query_background_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/edit_query_background_pressed.9.png b/core/res/res/drawable-xhdpi/edit_query_background_pressed.9.png
new file mode 100644
index 0000000..af81b2f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/edit_query_background_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/edit_query_background_selected.9.png b/core/res/res/drawable-xhdpi/edit_query_background_selected.9.png
new file mode 100644
index 0000000..b4f0f59
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/edit_query_background_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/editbox_background_focus_yellow.9.png b/core/res/res/drawable-xhdpi/editbox_background_focus_yellow.9.png
new file mode 100644
index 0000000..c4fdda1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/editbox_background_focus_yellow.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/editbox_background_normal.9.png b/core/res/res/drawable-xhdpi/editbox_background_normal.9.png
new file mode 100644
index 0000000..e1ee276
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/editbox_background_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/editbox_dropdown_background.9.png b/core/res/res/drawable-xhdpi/editbox_dropdown_background.9.png
new file mode 100644
index 0000000..ac9de9a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/editbox_dropdown_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/editbox_dropdown_background_dark.9.png b/core/res/res/drawable-xhdpi/editbox_dropdown_background_dark.9.png
new file mode 100644
index 0000000..439a856
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/editbox_dropdown_background_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_angel.png b/core/res/res/drawable-xhdpi/emo_im_angel.png
new file mode 100644
index 0000000..b4123ff
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/emo_im_angel.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_cool.png b/core/res/res/drawable-xhdpi/emo_im_cool.png
new file mode 100644
index 0000000..0efacf8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/emo_im_cool.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_crying.png b/core/res/res/drawable-xhdpi/emo_im_crying.png
new file mode 100644
index 0000000..7de7bf0
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/emo_im_crying.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_embarrassed.png b/core/res/res/drawable-xhdpi/emo_im_embarrassed.png
new file mode 100644
index 0000000..baa0765
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/emo_im_embarrassed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_foot_in_mouth.png b/core/res/res/drawable-xhdpi/emo_im_foot_in_mouth.png
new file mode 100644
index 0000000..afb22bb
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/emo_im_foot_in_mouth.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_happy.png b/core/res/res/drawable-xhdpi/emo_im_happy.png
new file mode 100644
index 0000000..08a242d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/emo_im_happy.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_kissing.png b/core/res/res/drawable-xhdpi/emo_im_kissing.png
new file mode 100644
index 0000000..c643a3c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/emo_im_kissing.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_laughing.png b/core/res/res/drawable-xhdpi/emo_im_laughing.png
new file mode 100644
index 0000000..0301f80
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/emo_im_laughing.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_lips_are_sealed.png b/core/res/res/drawable-xhdpi/emo_im_lips_are_sealed.png
new file mode 100644
index 0000000..594e5e7
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/emo_im_lips_are_sealed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_money_mouth.png b/core/res/res/drawable-xhdpi/emo_im_money_mouth.png
new file mode 100644
index 0000000..df9283a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/emo_im_money_mouth.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_sad.png b/core/res/res/drawable-xhdpi/emo_im_sad.png
new file mode 100644
index 0000000..f42f0a9
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/emo_im_sad.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_surprised.png b/core/res/res/drawable-xhdpi/emo_im_surprised.png
new file mode 100644
index 0000000..6b057fa
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/emo_im_surprised.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_tongue_sticking_out.png b/core/res/res/drawable-xhdpi/emo_im_tongue_sticking_out.png
new file mode 100644
index 0000000..ef128c5
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/emo_im_tongue_sticking_out.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_undecided.png b/core/res/res/drawable-xhdpi/emo_im_undecided.png
new file mode 100644
index 0000000..fcc0f42
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/emo_im_undecided.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_winking.png b/core/res/res/drawable-xhdpi/emo_im_winking.png
new file mode 100644
index 0000000..687b62b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/emo_im_winking.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_wtf.png b/core/res/res/drawable-xhdpi/emo_im_wtf.png
new file mode 100644
index 0000000..cb75a18
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/emo_im_wtf.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_yelling.png b/core/res/res/drawable-xhdpi/emo_im_yelling.png
new file mode 100644
index 0000000..32a7028
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/emo_im_yelling.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/expander_ic_maximized.9.png b/core/res/res/drawable-xhdpi/expander_ic_maximized.9.png
new file mode 100644
index 0000000..6eed88a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/expander_ic_maximized.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/expander_ic_minimized.9.png b/core/res/res/drawable-xhdpi/expander_ic_minimized.9.png
new file mode 100644
index 0000000..0683be6
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/expander_ic_minimized.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/fastscroll_thumb_default_holo.png b/core/res/res/drawable-xhdpi/fastscroll_thumb_default_holo.png
index 71f8a06..98404d4 100644
--- a/core/res/res/drawable-xhdpi/fastscroll_thumb_default_holo.png
+++ b/core/res/res/drawable-xhdpi/fastscroll_thumb_default_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/fastscroll_thumb_pressed_holo.png b/core/res/res/drawable-xhdpi/fastscroll_thumb_pressed_holo.png
index 850bd5e..6824947 100644
--- a/core/res/res/drawable-xhdpi/fastscroll_thumb_pressed_holo.png
+++ b/core/res/res/drawable-xhdpi/fastscroll_thumb_pressed_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/fastscroll_track_default_holo_dark.9.png b/core/res/res/drawable-xhdpi/fastscroll_track_default_holo_dark.9.png
index 431336a..c727bd4 100644
--- a/core/res/res/drawable-xhdpi/fastscroll_track_default_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/fastscroll_track_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/fastscroll_track_default_holo_light.9.png b/core/res/res/drawable-xhdpi/fastscroll_track_default_holo_light.9.png
index 431336a..c727bd4 100644
--- a/core/res/res/drawable-xhdpi/fastscroll_track_default_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/fastscroll_track_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/fastscroll_track_pressed_holo_dark.9.png b/core/res/res/drawable-xhdpi/fastscroll_track_pressed_holo_dark.9.png
index 7882e55..f2c6b42 100644
--- a/core/res/res/drawable-xhdpi/fastscroll_track_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/fastscroll_track_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/fastscroll_track_pressed_holo_light.9.png b/core/res/res/drawable-xhdpi/fastscroll_track_pressed_holo_light.9.png
index 7882e55..f2c6b42 100644
--- a/core/res/res/drawable-xhdpi/fastscroll_track_pressed_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/fastscroll_track_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/focused_application_background_static.png b/core/res/res/drawable-xhdpi/focused_application_background_static.png
new file mode 100644
index 0000000..8231e4f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/focused_application_background_static.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/frame_gallery_thumb.9.png b/core/res/res/drawable-xhdpi/frame_gallery_thumb.9.png
new file mode 100644
index 0000000..915fbed
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/frame_gallery_thumb.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/frame_gallery_thumb_pressed.9.png b/core/res/res/drawable-xhdpi/frame_gallery_thumb_pressed.9.png
new file mode 100644
index 0000000..13ea006
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/frame_gallery_thumb_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/frame_gallery_thumb_selected.9.png b/core/res/res/drawable-xhdpi/frame_gallery_thumb_selected.9.png
new file mode 100644
index 0000000..f947144
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/frame_gallery_thumb_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/gallery_selected_default.9.png b/core/res/res/drawable-xhdpi/gallery_selected_default.9.png
new file mode 100644
index 0000000..742492a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/gallery_selected_default.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/gallery_selected_focused.9.png b/core/res/res/drawable-xhdpi/gallery_selected_focused.9.png
new file mode 100644
index 0000000..4f5700f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/gallery_selected_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/gallery_selected_pressed.9.png b/core/res/res/drawable-xhdpi/gallery_selected_pressed.9.png
new file mode 100644
index 0000000..00b36b8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/gallery_selected_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/gallery_unselected_default.9.png b/core/res/res/drawable-xhdpi/gallery_unselected_default.9.png
new file mode 100644
index 0000000..9bc0cdb
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/gallery_unselected_default.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/gallery_unselected_pressed.9.png b/core/res/res/drawable-xhdpi/gallery_unselected_pressed.9.png
new file mode 100644
index 0000000..c10554a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/gallery_unselected_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/grid_selector_background_focus.9.png b/core/res/res/drawable-xhdpi/grid_selector_background_focus.9.png
new file mode 100644
index 0000000..bafc62a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/grid_selector_background_focus.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/grid_selector_background_pressed.9.png b/core/res/res/drawable-xhdpi/grid_selector_background_pressed.9.png
new file mode 100644
index 0000000..40e8a0e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/grid_selector_background_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/highlight_disabled.9.png b/core/res/res/drawable-xhdpi/highlight_disabled.9.png
new file mode 100644
index 0000000..a65fe8f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/highlight_disabled.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/highlight_pressed.9.png b/core/res/res/drawable-xhdpi/highlight_pressed.9.png
new file mode 100644
index 0000000..d0e1564
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/highlight_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/highlight_selected.9.png b/core/res/res/drawable-xhdpi/highlight_selected.9.png
new file mode 100644
index 0000000..d332ee6
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/highlight_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_aggregated.png b/core/res/res/drawable-xhdpi/ic_aggregated.png
new file mode 100644
index 0000000..818a1b1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_aggregated.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_alarm.png b/core/res/res/drawable-xhdpi/ic_audio_alarm.png
new file mode 100644
index 0000000..c1f56a1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_audio_alarm.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_alarm_mute.png b/core/res/res/drawable-xhdpi/ic_audio_alarm_mute.png
new file mode 100644
index 0000000..0d7034f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_audio_alarm_mute.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_bt.png b/core/res/res/drawable-xhdpi/ic_audio_bt.png
new file mode 100644
index 0000000..b8aa083
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_audio_bt.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_bt_mute.png b/core/res/res/drawable-xhdpi/ic_audio_bt_mute.png
new file mode 100644
index 0000000..93a2481
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_audio_bt_mute.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_notification.png b/core/res/res/drawable-xhdpi/ic_audio_notification.png
new file mode 100644
index 0000000..15182b9
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_audio_notification.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_notification_mute.png b/core/res/res/drawable-xhdpi/ic_audio_notification_mute.png
new file mode 100644
index 0000000..c26b839
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_audio_notification_mute.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_phone.png b/core/res/res/drawable-xhdpi/ic_audio_phone.png
new file mode 100644
index 0000000..2a04619
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_audio_phone.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_ring_notif.png b/core/res/res/drawable-xhdpi/ic_audio_ring_notif.png
new file mode 100644
index 0000000..3fa4197
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_audio_ring_notif.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_ring_notif_mute.png b/core/res/res/drawable-xhdpi/ic_audio_ring_notif_mute.png
new file mode 100644
index 0000000..e8e7fcc
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_audio_ring_notif_mute.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_vol.png b/core/res/res/drawable-xhdpi/ic_audio_vol.png
new file mode 100644
index 0000000..4e2e20e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_audio_vol.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_vol_mute.png b/core/res/res/drawable-xhdpi/ic_audio_vol_mute.png
new file mode 100644
index 0000000..64a5215
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_audio_vol_mute.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_btn_find_next.png b/core/res/res/drawable-xhdpi/ic_btn_find_next.png
new file mode 100644
index 0000000..a334a5d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_btn_find_next.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_btn_find_prev.png b/core/res/res/drawable-xhdpi/ic_btn_find_prev.png
new file mode 100644
index 0000000..d7b3177
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_btn_find_prev.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_btn_round_more_disabled.png b/core/res/res/drawable-xhdpi/ic_btn_round_more_disabled.png
new file mode 100644
index 0000000..99f37c5
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_btn_round_more_disabled.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_btn_round_more_normal.png b/core/res/res/drawable-xhdpi/ic_btn_round_more_normal.png
new file mode 100644
index 0000000..7a8221f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_btn_round_more_normal.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_btn_search.png b/core/res/res/drawable-xhdpi/ic_btn_search.png
new file mode 100644
index 0000000..a267c0a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_btn_search.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_btn_search_go.png b/core/res/res/drawable-xhdpi/ic_btn_search_go.png
new file mode 100644
index 0000000..896dddd
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_btn_search_go.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_btn_speak_now.png b/core/res/res/drawable-xhdpi/ic_btn_speak_now.png
new file mode 100644
index 0000000..f7f4922
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_btn_speak_now.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_btn_square_browser_zoom_fit_page_disabled.png b/core/res/res/drawable-xhdpi/ic_btn_square_browser_zoom_fit_page_disabled.png
new file mode 100644
index 0000000..299a7bf
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_btn_square_browser_zoom_fit_page_disabled.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_btn_square_browser_zoom_fit_page_normal.png b/core/res/res/drawable-xhdpi/ic_btn_square_browser_zoom_fit_page_normal.png
new file mode 100644
index 0000000..c43c68c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_btn_square_browser_zoom_fit_page_normal.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_btn_square_browser_zoom_page_overview_disabled.png b/core/res/res/drawable-xhdpi/ic_btn_square_browser_zoom_page_overview_disabled.png
new file mode 100644
index 0000000..fa94bff
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_btn_square_browser_zoom_page_overview_disabled.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_btn_square_browser_zoom_page_overview_normal.png b/core/res/res/drawable-xhdpi/ic_btn_square_browser_zoom_page_overview_normal.png
new file mode 100644
index 0000000..1629d64
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_btn_square_browser_zoom_page_overview_normal.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_bullet_key_permission.png b/core/res/res/drawable-xhdpi/ic_bullet_key_permission.png
new file mode 100644
index 0000000..b2db65c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_bullet_key_permission.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_cab_done_holo.png b/core/res/res/drawable-xhdpi/ic_cab_done_holo.png
new file mode 100644
index 0000000..4eeee43
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_cab_done_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_clear_disabled.png b/core/res/res/drawable-xhdpi/ic_clear_disabled.png
new file mode 100644
index 0000000..e35c5f0
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_clear_disabled.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_clear_search_api_disabled_holo_light.png b/core/res/res/drawable-xhdpi/ic_clear_search_api_disabled_holo_light.png
new file mode 100644
index 0000000..7fd7aeb
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_clear_search_api_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_clear_search_api_holo_light.png b/core/res/res/drawable-xhdpi/ic_clear_search_api_holo_light.png
new file mode 100644
index 0000000..53cfbd3
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_clear_search_api_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_commit.png b/core/res/res/drawable-xhdpi/ic_commit.png
new file mode 100644
index 0000000..b871f7e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_commit.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_commit_search_api_holo_dark.png b/core/res/res/drawable-xhdpi/ic_commit_search_api_holo_dark.png
new file mode 100644
index 0000000..d8faf90
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_commit_search_api_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_commit_search_api_holo_light.png b/core/res/res/drawable-xhdpi/ic_commit_search_api_holo_light.png
new file mode 100644
index 0000000..e7c7280
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_commit_search_api_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_contact_picture.png b/core/res/res/drawable-xhdpi/ic_contact_picture.png
new file mode 100644
index 0000000..4ade625
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_contact_picture.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_contact_picture_2.png b/core/res/res/drawable-xhdpi/ic_contact_picture_2.png
new file mode 100644
index 0000000..ecb7b67
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_contact_picture_2.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_contact_picture_3.png b/core/res/res/drawable-xhdpi/ic_contact_picture_3.png
new file mode 100644
index 0000000..326f2f8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_contact_picture_3.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_delete.png b/core/res/res/drawable-xhdpi/ic_delete.png
new file mode 100644
index 0000000..9abc51a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_delete.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_dialog_alert.png b/core/res/res/drawable-xhdpi/ic_dialog_alert.png
new file mode 100644
index 0000000..2834f35
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_dialog_alert.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_dialog_alert_holo_dark.png b/core/res/res/drawable-xhdpi/ic_dialog_alert_holo_dark.png
new file mode 100644
index 0000000..f906e2a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_dialog_alert_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_dialog_alert_holo_light.png b/core/res/res/drawable-xhdpi/ic_dialog_alert_holo_light.png
new file mode 100644
index 0000000..a99f062
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_dialog_alert_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_dialog_close_normal_holo.png b/core/res/res/drawable-xhdpi/ic_dialog_close_normal_holo.png
new file mode 100644
index 0000000..ea3bb48
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_dialog_close_normal_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_dialog_close_pressed_holo.png b/core/res/res/drawable-xhdpi/ic_dialog_close_pressed_holo.png
new file mode 100644
index 0000000..5475ef9
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_dialog_close_pressed_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_dialog_dialer.png b/core/res/res/drawable-xhdpi/ic_dialog_dialer.png
new file mode 100644
index 0000000..18f6880
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_dialog_dialer.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_dialog_email.png b/core/res/res/drawable-xhdpi/ic_dialog_email.png
new file mode 100644
index 0000000..1c1eae6
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_dialog_email.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_dialog_focused_holo.png b/core/res/res/drawable-xhdpi/ic_dialog_focused_holo.png
new file mode 100644
index 0000000..000d885
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_dialog_focused_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_dialog_info.png b/core/res/res/drawable-xhdpi/ic_dialog_info.png
new file mode 100644
index 0000000..478dcc1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_dialog_info.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_dialog_map.png b/core/res/res/drawable-xhdpi/ic_dialog_map.png
new file mode 100644
index 0000000..e25b819
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_dialog_map.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_dialog_time.png b/core/res/res/drawable-xhdpi/ic_dialog_time.png
new file mode 100644
index 0000000..10c9d72
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_dialog_time.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_dialog_usb.png b/core/res/res/drawable-xhdpi/ic_dialog_usb.png
new file mode 100644
index 0000000..5893bff
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_dialog_usb.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_emergency.png b/core/res/res/drawable-xhdpi/ic_emergency.png
new file mode 100644
index 0000000..f5df6cd
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_emergency.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_go.png b/core/res/res/drawable-xhdpi/ic_go.png
new file mode 100644
index 0000000..1e2dcfa
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_go.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_go_search_api_holo_light.png b/core/res/res/drawable-xhdpi/ic_go_search_api_holo_light.png
new file mode 100644
index 0000000..f12eafc
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_go_search_api_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_input_add.png b/core/res/res/drawable-xhdpi/ic_input_add.png
new file mode 100644
index 0000000..f1242f5
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_input_add.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_input_delete.png b/core/res/res/drawable-xhdpi/ic_input_delete.png
new file mode 100644
index 0000000..34c5f39
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_input_delete.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_input_get.png b/core/res/res/drawable-xhdpi/ic_input_get.png
new file mode 100644
index 0000000..7f9e9bf
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_input_get.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_jog_dial_answer.png b/core/res/res/drawable-xhdpi/ic_jog_dial_answer.png
new file mode 100644
index 0000000..eedb7fd
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_jog_dial_answer.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_jog_dial_answer_and_end.png b/core/res/res/drawable-xhdpi/ic_jog_dial_answer_and_end.png
new file mode 100644
index 0000000..829973e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_jog_dial_answer_and_end.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_jog_dial_answer_and_hold.png b/core/res/res/drawable-xhdpi/ic_jog_dial_answer_and_hold.png
new file mode 100644
index 0000000..e8336d0
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_jog_dial_answer_and_hold.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_jog_dial_decline.png b/core/res/res/drawable-xhdpi/ic_jog_dial_decline.png
new file mode 100644
index 0000000..7cab5f5
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_jog_dial_decline.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_jog_dial_sound_off.png b/core/res/res/drawable-xhdpi/ic_jog_dial_sound_off.png
new file mode 100644
index 0000000..65aa39b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_jog_dial_sound_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_jog_dial_sound_on.png b/core/res/res/drawable-xhdpi/ic_jog_dial_sound_on.png
new file mode 100644
index 0000000..ce8f3a7
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_jog_dial_sound_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_jog_dial_unlock.png b/core/res/res/drawable-xhdpi/ic_jog_dial_unlock.png
new file mode 100644
index 0000000..5d6fb7b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_jog_dial_unlock.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_jog_dial_vibrate_on.png b/core/res/res/drawable-xhdpi/ic_jog_dial_vibrate_on.png
new file mode 100644
index 0000000..6fe8b77
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_jog_dial_vibrate_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_launcher_android.png b/core/res/res/drawable-xhdpi/ic_launcher_android.png
new file mode 100644
index 0000000..b1097d6
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_launcher_android.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_airplane_mode.png b/core/res/res/drawable-xhdpi/ic_lock_airplane_mode.png
new file mode 100644
index 0000000..dc7a917
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_lock_airplane_mode.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_airplane_mode_off.png b/core/res/res/drawable-xhdpi/ic_lock_airplane_mode_off.png
new file mode 100644
index 0000000..497ca2b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_lock_airplane_mode_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_idle_charging.png b/core/res/res/drawable-xhdpi/ic_lock_idle_charging.png
new file mode 100644
index 0000000..14c8da4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_lock_idle_charging.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_idle_lock.png b/core/res/res/drawable-xhdpi/ic_lock_idle_lock.png
new file mode 100644
index 0000000..38b6786
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_lock_idle_lock.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_idle_low_battery.png b/core/res/res/drawable-xhdpi/ic_lock_idle_low_battery.png
new file mode 100644
index 0000000..19af7e9
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_lock_idle_low_battery.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_lock.png b/core/res/res/drawable-xhdpi/ic_lock_lock.png
new file mode 100644
index 0000000..086a0ca
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_lock_lock.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_power_off.png b/core/res/res/drawable-xhdpi/ic_lock_power_off.png
new file mode 100644
index 0000000..530236c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_lock_power_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_ringer_off.png b/core/res/res/drawable-xhdpi/ic_lock_ringer_off.png
new file mode 100644
index 0000000..dff2c89
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_lock_ringer_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_ringer_on.png b/core/res/res/drawable-xhdpi/ic_lock_ringer_on.png
new file mode 100644
index 0000000..98341b0
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_lock_ringer_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_silent_mode.png b/core/res/res/drawable-xhdpi/ic_lock_silent_mode.png
new file mode 100644
index 0000000..1ef944f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_lock_silent_mode.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_silent_mode_off.png b/core/res/res/drawable-xhdpi/ic_lock_silent_mode_off.png
new file mode 100644
index 0000000..8fd4a57
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_lock_silent_mode_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lock_silent_mode_vibrate.png b/core/res/res/drawable-xhdpi/ic_lock_silent_mode_vibrate.png
new file mode 100644
index 0000000..921f74e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_lock_silent_mode_vibrate.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_maps_indicator_current_position.png b/core/res/res/drawable-xhdpi/ic_maps_indicator_current_position.png
new file mode 100644
index 0000000..6e2e6cb
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_maps_indicator_current_position.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_maps_indicator_current_position_anim1.png b/core/res/res/drawable-xhdpi/ic_maps_indicator_current_position_anim1.png
new file mode 100644
index 0000000..238a8d9
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_maps_indicator_current_position_anim1.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_maps_indicator_current_position_anim2.png b/core/res/res/drawable-xhdpi/ic_maps_indicator_current_position_anim2.png
new file mode 100644
index 0000000..e69d878
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_maps_indicator_current_position_anim2.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_maps_indicator_current_position_anim3.png b/core/res/res/drawable-xhdpi/ic_maps_indicator_current_position_anim3.png
new file mode 100644
index 0000000..2c362f0
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_maps_indicator_current_position_anim3.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_media_embed_play.png b/core/res/res/drawable-xhdpi/ic_media_embed_play.png
new file mode 100644
index 0000000..b26f565
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_media_embed_play.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_media_ff.png b/core/res/res/drawable-xhdpi/ic_media_ff.png
new file mode 100644
index 0000000..60f7e92
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_media_ff.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_media_fullscreen.png b/core/res/res/drawable-xhdpi/ic_media_fullscreen.png
new file mode 100644
index 0000000..9526218
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_media_fullscreen.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_media_next.png b/core/res/res/drawable-xhdpi/ic_media_next.png
new file mode 100644
index 0000000..9835c63
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_media_next.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_media_pause.png b/core/res/res/drawable-xhdpi/ic_media_pause.png
new file mode 100644
index 0000000..8614bff
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_media_pause.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_media_play.png b/core/res/res/drawable-xhdpi/ic_media_play.png
new file mode 100644
index 0000000..d93e824
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_media_play.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_media_previous.png b/core/res/res/drawable-xhdpi/ic_media_previous.png
new file mode 100644
index 0000000..5df5987
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_media_previous.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_media_rew.png b/core/res/res/drawable-xhdpi/ic_media_rew.png
new file mode 100644
index 0000000..167d10e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_media_rew.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_media_stop.png b/core/res/res/drawable-xhdpi/ic_media_stop.png
new file mode 100644
index 0000000..00159aa
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_media_stop.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_media_video_poster.png b/core/res/res/drawable-xhdpi/ic_media_video_poster.png
new file mode 100644
index 0000000..4aa4904
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_media_video_poster.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_notification_clear_all.png b/core/res/res/drawable-xhdpi/ic_notification_clear_all.png
new file mode 100644
index 0000000..5c553cf
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_notification_clear_all.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_notification_ime_default.png b/core/res/res/drawable-xhdpi/ic_notification_ime_default.png
new file mode 100644
index 0000000..7eda69e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_notification_ime_default.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_notification_overlay.9.png b/core/res/res/drawable-xhdpi/ic_notification_overlay.9.png
new file mode 100644
index 0000000..010852f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_notification_overlay.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_partial_secure.png b/core/res/res/drawable-xhdpi/ic_partial_secure.png
new file mode 100644
index 0000000..2dfbb1e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_partial_secure.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_popup_disk_full.png b/core/res/res/drawable-xhdpi/ic_popup_disk_full.png
new file mode 100644
index 0000000..4313fdc
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_popup_disk_full.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_popup_reminder.png b/core/res/res/drawable-xhdpi/ic_popup_reminder.png
new file mode 100644
index 0000000..4a03a1b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_popup_reminder.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_popup_sync_1.png b/core/res/res/drawable-xhdpi/ic_popup_sync_1.png
new file mode 100644
index 0000000..48f8d53
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_popup_sync_1.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_popup_sync_2.png b/core/res/res/drawable-xhdpi/ic_popup_sync_2.png
new file mode 100644
index 0000000..880c202
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_popup_sync_2.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_popup_sync_3.png b/core/res/res/drawable-xhdpi/ic_popup_sync_3.png
new file mode 100644
index 0000000..eb6d03c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_popup_sync_3.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_popup_sync_4.png b/core/res/res/drawable-xhdpi/ic_popup_sync_4.png
new file mode 100644
index 0000000..02a4d93
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_popup_sync_4.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_popup_sync_5.png b/core/res/res/drawable-xhdpi/ic_popup_sync_5.png
new file mode 100644
index 0000000..caaf598
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_popup_sync_5.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_popup_sync_6.png b/core/res/res/drawable-xhdpi/ic_popup_sync_6.png
new file mode 100644
index 0000000..e662ab2
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_popup_sync_6.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_search.png b/core/res/res/drawable-xhdpi/ic_search.png
new file mode 100644
index 0000000..998f91b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_search.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_search_api_holo_light.png b/core/res/res/drawable-xhdpi/ic_search_api_holo_light.png
new file mode 100644
index 0000000..a4cdf1c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_search_api_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_search_category_default.png b/core/res/res/drawable-xhdpi/ic_search_category_default.png
new file mode 100644
index 0000000..7d5170e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_search_category_default.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_secure.png b/core/res/res/drawable-xhdpi/ic_secure.png
new file mode 100644
index 0000000..9e24028
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_secure.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_text_dot.png b/core/res/res/drawable-xhdpi/ic_text_dot.png
new file mode 100644
index 0000000..d316f9a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_text_dot.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_vibrate.png b/core/res/res/drawable-xhdpi/ic_vibrate.png
new file mode 100644
index 0000000..5d0724a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_vibrate.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_vibrate_small.png b/core/res/res/drawable-xhdpi/ic_vibrate_small.png
new file mode 100644
index 0000000..6ee6fd8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_vibrate_small.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_voice_search.png b/core/res/res/drawable-xhdpi/ic_voice_search.png
new file mode 100644
index 0000000..c625a36
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_voice_search.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_voice_search_api_holo_light.png b/core/res/res/drawable-xhdpi/ic_voice_search_api_holo_light.png
new file mode 100644
index 0000000..c332ba0
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_voice_search_api_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_volume.png b/core/res/res/drawable-xhdpi/ic_volume.png
new file mode 100644
index 0000000..f6a457d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_volume.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_volume_bluetooth_ad2p.png b/core/res/res/drawable-xhdpi/ic_volume_bluetooth_ad2p.png
new file mode 100644
index 0000000..cbcdf33
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_volume_bluetooth_ad2p.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_volume_bluetooth_in_call.png b/core/res/res/drawable-xhdpi/ic_volume_bluetooth_in_call.png
new file mode 100644
index 0000000..9c7e906
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_volume_bluetooth_in_call.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_volume_off.png b/core/res/res/drawable-xhdpi/ic_volume_off.png
new file mode 100644
index 0000000..e094514
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_volume_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_volume_off_small.png b/core/res/res/drawable-xhdpi/ic_volume_off_small.png
new file mode 100644
index 0000000..bc29608
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_volume_off_small.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_volume_small.png b/core/res/res/drawable-xhdpi/ic_volume_small.png
new file mode 100644
index 0000000..9d6d920
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_volume_small.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/icon_highlight_rectangle.9.png b/core/res/res/drawable-xhdpi/icon_highlight_rectangle.9.png
new file mode 100644
index 0000000..b26180d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/icon_highlight_rectangle.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/icon_highlight_square.9.png b/core/res/res/drawable-xhdpi/icon_highlight_square.9.png
new file mode 100644
index 0000000..f45f1c5
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/icon_highlight_square.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ime_qwerty.png b/core/res/res/drawable-xhdpi/ime_qwerty.png
new file mode 100644
index 0000000..42c9e5a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ime_qwerty.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_green_up.png b/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_green_up.png
new file mode 100644
index 0000000..a89b8d5
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_green_up.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_green_up_holo.png b/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_green_up_holo.png
new file mode 100644
index 0000000..66c1b58
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_green_up_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_red_up.png b/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_red_up.png
new file mode 100644
index 0000000..2d34cf6
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_red_up.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_red_up_holo.png b/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_red_up_holo.png
new file mode 100644
index 0000000..b5f807f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_red_up_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default.png b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default.png
new file mode 100644
index 0000000..997d6a5
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_green.png b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_green.png
new file mode 100644
index 0000000..2eb69f6
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_green.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/jog_dial_arrow_long_left_green.png b/core/res/res/drawable-xhdpi/jog_dial_arrow_long_left_green.png
new file mode 100644
index 0000000..c106f76
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/jog_dial_arrow_long_left_green.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/jog_dial_arrow_long_left_yellow.png b/core/res/res/drawable-xhdpi/jog_dial_arrow_long_left_yellow.png
new file mode 100644
index 0000000..7657f74
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/jog_dial_arrow_long_left_yellow.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/jog_dial_arrow_long_middle_yellow.png b/core/res/res/drawable-xhdpi/jog_dial_arrow_long_middle_yellow.png
new file mode 100644
index 0000000..a90926d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/jog_dial_arrow_long_middle_yellow.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/jog_dial_arrow_long_right_red.png b/core/res/res/drawable-xhdpi/jog_dial_arrow_long_right_red.png
new file mode 100644
index 0000000..3a00c56
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/jog_dial_arrow_long_right_red.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/jog_dial_arrow_long_right_yellow.png b/core/res/res/drawable-xhdpi/jog_dial_arrow_long_right_yellow.png
new file mode 100644
index 0000000..113daaa
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/jog_dial_arrow_long_right_yellow.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/jog_dial_arrow_short_left.png b/core/res/res/drawable-xhdpi/jog_dial_arrow_short_left.png
new file mode 100644
index 0000000..ac62915
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/jog_dial_arrow_short_left.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/jog_dial_arrow_short_left_and_right.png b/core/res/res/drawable-xhdpi/jog_dial_arrow_short_left_and_right.png
new file mode 100644
index 0000000..0efed7a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/jog_dial_arrow_short_left_and_right.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/jog_dial_arrow_short_right.png b/core/res/res/drawable-xhdpi/jog_dial_arrow_short_right.png
new file mode 100644
index 0000000..859998b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/jog_dial_arrow_short_right.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/jog_dial_bg.png b/core/res/res/drawable-xhdpi/jog_dial_bg.png
new file mode 100644
index 0000000..61fcb46
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/jog_dial_bg.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/jog_dial_dimple.png b/core/res/res/drawable-xhdpi/jog_dial_dimple.png
new file mode 100644
index 0000000..3ab2ab6
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/jog_dial_dimple.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/jog_dial_dimple_dim.png b/core/res/res/drawable-xhdpi/jog_dial_dimple_dim.png
new file mode 100644
index 0000000..720ff80
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/jog_dial_dimple_dim.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/keyboard_accessory_bg_landscape.9.png b/core/res/res/drawable-xhdpi/keyboard_accessory_bg_landscape.9.png
new file mode 100644
index 0000000..e534908
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/keyboard_accessory_bg_landscape.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/keyboard_background.9.png b/core/res/res/drawable-xhdpi/keyboard_background.9.png
new file mode 100644
index 0000000..33d8519
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/keyboard_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/keyboard_key_feedback_background.9.png b/core/res/res/drawable-xhdpi/keyboard_key_feedback_background.9.png
new file mode 100644
index 0000000..6e8584b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/keyboard_key_feedback_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/keyboard_key_feedback_more_background.9.png b/core/res/res/drawable-xhdpi/keyboard_key_feedback_more_background.9.png
new file mode 100644
index 0000000..d983a95
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/keyboard_key_feedback_more_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/keyboard_popup_panel_background.9.png b/core/res/res/drawable-xhdpi/keyboard_popup_panel_background.9.png
new file mode 100644
index 0000000..d9f4819
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/keyboard_popup_panel_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/keyboard_popup_panel_trans_background.9.png b/core/res/res/drawable-xhdpi/keyboard_popup_panel_trans_background.9.png
new file mode 100644
index 0000000..9a19f78
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/keyboard_popup_panel_trans_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/light_header.9.png b/core/res/res/drawable-xhdpi/light_header.9.png
new file mode 100644
index 0000000..029dd2a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/light_header.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_divider_horizontal_holo_dark.9.png b/core/res/res/drawable-xhdpi/list_divider_horizontal_holo_dark.9.png
new file mode 100644
index 0000000..a8ad54d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_divider_horizontal_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_pressed_holo_dark.9.png b/core/res/res/drawable-xhdpi/list_pressed_holo_dark.9.png
index 80c93da..e4b3393 100644
--- a/core/res/res/drawable-xhdpi/list_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/list_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_pressed_holo_light.9.png b/core/res/res/drawable-xhdpi/list_pressed_holo_light.9.png
index 80c93da..e4b3393 100644
--- a/core/res/res/drawable-xhdpi/list_pressed_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/list_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_section_divider_holo_dark.9.png b/core/res/res/drawable-xhdpi/list_section_divider_holo_dark.9.png
index 76fd13c..942d72e 100644
--- a/core/res/res/drawable-xhdpi/list_section_divider_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/list_section_divider_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_section_divider_holo_light.9.png b/core/res/res/drawable-xhdpi/list_section_divider_holo_light.9.png
index d8fd9e3..4ad088f 100644
--- a/core/res/res/drawable-xhdpi/list_section_divider_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/list_section_divider_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_section_header_holo_dark.9.png b/core/res/res/drawable-xhdpi/list_section_header_holo_dark.9.png
new file mode 100644
index 0000000..4412331
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_section_header_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_section_header_holo_light.9.png b/core/res/res/drawable-xhdpi/list_section_header_holo_light.9.png
new file mode 100644
index 0000000..d0cba8d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_section_header_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selected_holo_dark.9.png b/core/res/res/drawable-xhdpi/list_selected_holo_dark.9.png
index 3e8dac8..4375032 100644
--- a/core/res/res/drawable-xhdpi/list_selected_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/list_selected_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selected_holo_light.9.png b/core/res/res/drawable-xhdpi/list_selected_holo_light.9.png
index 3e8dac8..4375032 100644
--- a/core/res/res/drawable-xhdpi/list_selected_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/list_selected_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_activated_holo_dark.9.png b/core/res/res/drawable-xhdpi/list_selector_activated_holo_dark.9.png
new file mode 100644
index 0000000..f176c7f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_activated_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_activated_holo_light.9.png b/core/res/res/drawable-xhdpi/list_selector_activated_holo_light.9.png
new file mode 100644
index 0000000..b13f340
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_activated_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_background_default.9.png b/core/res/res/drawable-xhdpi/list_selector_background_default.9.png
new file mode 100644
index 0000000..7261e96
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_background_default.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_background_default_light.9.png b/core/res/res/drawable-xhdpi/list_selector_background_default_light.9.png
new file mode 100644
index 0000000..1fc96e2
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_background_default_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_background_disabled.9.png b/core/res/res/drawable-xhdpi/list_selector_background_disabled.9.png
new file mode 100644
index 0000000..d599976
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_background_disabled.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_background_disabled_light.9.png b/core/res/res/drawable-xhdpi/list_selector_background_disabled_light.9.png
new file mode 100644
index 0000000..9b22eff
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_background_disabled_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_background_focus.9.png b/core/res/res/drawable-xhdpi/list_selector_background_focus.9.png
new file mode 100644
index 0000000..17987f3
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_background_focus.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_background_focused.9.png b/core/res/res/drawable-xhdpi/list_selector_background_focused.9.png
new file mode 100644
index 0000000..c8e7681
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_background_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_background_focused_light.9.png b/core/res/res/drawable-xhdpi/list_selector_background_focused_light.9.png
new file mode 100644
index 0000000..c8e7681
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_background_focused_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_background_focused_selected.9.png b/core/res/res/drawable-xhdpi/list_selector_background_focused_selected.9.png
new file mode 100644
index 0000000..f56a2dc
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_background_focused_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_background_longpress.9.png b/core/res/res/drawable-xhdpi/list_selector_background_longpress.9.png
new file mode 100644
index 0000000..5a64592
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_background_longpress.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_background_longpress_light.9.png b/core/res/res/drawable-xhdpi/list_selector_background_longpress_light.9.png
new file mode 100644
index 0000000..ee50a53
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_background_longpress_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_background_pressed.9.png b/core/res/res/drawable-xhdpi/list_selector_background_pressed.9.png
new file mode 100644
index 0000000..1593577
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_background_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_background_pressed_light.9.png b/core/res/res/drawable-xhdpi/list_selector_background_pressed_light.9.png
new file mode 100644
index 0000000..a9a293c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_background_pressed_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_background_selected.9.png b/core/res/res/drawable-xhdpi/list_selector_background_selected.9.png
new file mode 100644
index 0000000..78358fe
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_background_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_background_selected_light.9.png b/core/res/res/drawable-xhdpi/list_selector_background_selected_light.9.png
new file mode 100644
index 0000000..7349da5
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_background_selected_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_disabled_holo_dark.9.png b/core/res/res/drawable-xhdpi/list_selector_disabled_holo_dark.9.png
new file mode 100644
index 0000000..88726b6
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_disabled_holo_light.9.png b/core/res/res/drawable-xhdpi/list_selector_disabled_holo_light.9.png
new file mode 100644
index 0000000..c6a7d4d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_focused_holo_dark.9.png b/core/res/res/drawable-xhdpi/list_selector_focused_holo_dark.9.png
new file mode 100644
index 0000000..d9a26f4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_focused_holo_light.9.png b/core/res/res/drawable-xhdpi/list_selector_focused_holo_light.9.png
new file mode 100644
index 0000000..7ea2b21
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_multiselect_holo_dark.9.png b/core/res/res/drawable-xhdpi/list_selector_multiselect_holo_dark.9.png
new file mode 100644
index 0000000..7033b0e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_multiselect_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_multiselect_holo_light.9.png b/core/res/res/drawable-xhdpi/list_selector_multiselect_holo_light.9.png
new file mode 100644
index 0000000..e638675
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_multiselect_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_pressed_holo_dark.9.png b/core/res/res/drawable-xhdpi/list_selector_pressed_holo_dark.9.png
new file mode 100644
index 0000000..df19701
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_selector_pressed_holo_light.9.png b/core/res/res/drawable-xhdpi/list_selector_pressed_holo_light.9.png
new file mode 100644
index 0000000..6e5a6a9
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/list_selector_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/maps_google_logo.png b/core/res/res/drawable-xhdpi/maps_google_logo.png
new file mode 100644
index 0000000..2cd6257
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/maps_google_logo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/menu_background.9.png b/core/res/res/drawable-xhdpi/menu_background.9.png
new file mode 100644
index 0000000..b784f71
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/menu_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/menu_background_fill_parent_width.9.png b/core/res/res/drawable-xhdpi/menu_background_fill_parent_width.9.png
new file mode 100644
index 0000000..ab43013
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/menu_background_fill_parent_width.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/menu_separator.9.png b/core/res/res/drawable-xhdpi/menu_separator.9.png
new file mode 100644
index 0000000..3251f95
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/menu_separator.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/menu_submenu_background.9.png b/core/res/res/drawable-xhdpi/menu_submenu_background.9.png
new file mode 100644
index 0000000..54b2be6
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/menu_submenu_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/menuitem_background_focus.9.png b/core/res/res/drawable-xhdpi/menuitem_background_focus.9.png
new file mode 100644
index 0000000..83e4ae0
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/menuitem_background_focus.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/menuitem_background_pressed.9.png b/core/res/res/drawable-xhdpi/menuitem_background_pressed.9.png
new file mode 100644
index 0000000..70a000f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/menuitem_background_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/menuitem_background_solid_focused.9.png b/core/res/res/drawable-xhdpi/menuitem_background_solid_focused.9.png
new file mode 100644
index 0000000..671e756
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/menuitem_background_solid_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/menuitem_background_solid_pressed.9.png b/core/res/res/drawable-xhdpi/menuitem_background_solid_pressed.9.png
new file mode 100644
index 0000000..5f334d8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/menuitem_background_solid_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/menuitem_checkbox_on.png b/core/res/res/drawable-xhdpi/menuitem_checkbox_on.png
new file mode 100644
index 0000000..a7d2ad2
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/menuitem_checkbox_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/minitab_lt_focus.9.png b/core/res/res/drawable-xhdpi/minitab_lt_focus.9.png
new file mode 100644
index 0000000..7a0995b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/minitab_lt_focus.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/minitab_lt_press.9.png b/core/res/res/drawable-xhdpi/minitab_lt_press.9.png
new file mode 100644
index 0000000..7602d3e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/minitab_lt_press.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/minitab_lt_selected.9.png b/core/res/res/drawable-xhdpi/minitab_lt_selected.9.png
new file mode 100644
index 0000000..544fad5
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/minitab_lt_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/minitab_lt_unselected.9.png b/core/res/res/drawable-xhdpi/minitab_lt_unselected.9.png
new file mode 100644
index 0000000..bcdb9d7
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/minitab_lt_unselected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/minitab_lt_unselected_press.9.png b/core/res/res/drawable-xhdpi/minitab_lt_unselected_press.9.png
new file mode 100644
index 0000000..8aabb89
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/minitab_lt_unselected_press.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/notify_panel_notification_icon_bg.png b/core/res/res/drawable-xhdpi/notify_panel_notification_icon_bg.png
new file mode 100644
index 0000000..4cc515e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/notify_panel_notification_icon_bg.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_disabled.9.png b/core/res/res/drawable-xhdpi/numberpicker_down_disabled.9.png
new file mode 100644
index 0000000..b8220ce
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_disabled.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_disabled_focused.9.png b/core/res/res/drawable-xhdpi/numberpicker_down_disabled_focused.9.png
new file mode 100644
index 0000000..7f4f093
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_disabled_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_normal.9.png b/core/res/res/drawable-xhdpi/numberpicker_down_normal.9.png
new file mode 100644
index 0000000..c10b671
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_pressed.9.png b/core/res/res/drawable-xhdpi/numberpicker_down_pressed.9.png
new file mode 100644
index 0000000..bfae684
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_selected.9.png b/core/res/res/drawable-xhdpi/numberpicker_down_selected.9.png
new file mode 100644
index 0000000..9451630
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_input_disabled.9.png b/core/res/res/drawable-xhdpi/numberpicker_input_disabled.9.png
new file mode 100644
index 0000000..01cc01a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/numberpicker_input_disabled.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_input_normal.9.png b/core/res/res/drawable-xhdpi/numberpicker_input_normal.9.png
new file mode 100644
index 0000000..b4d9c7f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/numberpicker_input_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_input_pressed.9.png b/core/res/res/drawable-xhdpi/numberpicker_input_pressed.9.png
new file mode 100644
index 0000000..5f3d982
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/numberpicker_input_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_input_selected.9.png b/core/res/res/drawable-xhdpi/numberpicker_input_selected.9.png
new file mode 100644
index 0000000..434f05f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/numberpicker_input_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_disabled.9.png b/core/res/res/drawable-xhdpi/numberpicker_up_disabled.9.png
new file mode 100644
index 0000000..0c32994
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_disabled.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_disabled_focused.9.png b/core/res/res/drawable-xhdpi/numberpicker_up_disabled_focused.9.png
new file mode 100644
index 0000000..cba1e76
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_disabled_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_normal.9.png b/core/res/res/drawable-xhdpi/numberpicker_up_normal.9.png
new file mode 100644
index 0000000..ee270b4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_pressed.9.png b/core/res/res/drawable-xhdpi/numberpicker_up_pressed.9.png
new file mode 100644
index 0000000..297f77c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_selected.9.png b/core/res/res/drawable-xhdpi/numberpicker_up_selected.9.png
new file mode 100644
index 0000000..e5d5126
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/panel_background.9.png b/core/res/res/drawable-xhdpi/panel_background.9.png
new file mode 100644
index 0000000..2ceae60
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/panel_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/panel_bg_holo_dark.9.png b/core/res/res/drawable-xhdpi/panel_bg_holo_dark.9.png
new file mode 100644
index 0000000..0cf7ac8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/panel_bg_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/panel_bg_holo_light.9.png b/core/res/res/drawable-xhdpi/panel_bg_holo_light.9.png
new file mode 100644
index 0000000..c171b7c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/panel_bg_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/panel_picture_frame_bg_focus_blue.9.png b/core/res/res/drawable-xhdpi/panel_picture_frame_bg_focus_blue.9.png
new file mode 100644
index 0000000..8c7b0bd
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/panel_picture_frame_bg_focus_blue.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/panel_picture_frame_bg_normal.9.png b/core/res/res/drawable-xhdpi/panel_picture_frame_bg_normal.9.png
new file mode 100644
index 0000000..5477a02
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/panel_picture_frame_bg_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/panel_picture_frame_bg_pressed_blue.9.png b/core/res/res/drawable-xhdpi/panel_picture_frame_bg_pressed_blue.9.png
new file mode 100644
index 0000000..d79a003
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/panel_picture_frame_bg_pressed_blue.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/password_field_default.9.png b/core/res/res/drawable-xhdpi/password_field_default.9.png
new file mode 100644
index 0000000..cf8329e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/password_field_default.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/password_keyboard_background_holo.9.png b/core/res/res/drawable-xhdpi/password_keyboard_background_holo.9.png
new file mode 100644
index 0000000..65ea61bc
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/password_keyboard_background_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/picture_emergency.png b/core/res/res/drawable-xhdpi/picture_emergency.png
new file mode 100644
index 0000000..08b421e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/picture_emergency.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/picture_frame.9.png b/core/res/res/drawable-xhdpi/picture_frame.9.png
new file mode 100644
index 0000000..69ef655
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/picture_frame.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/pointer_arrow.png b/core/res/res/drawable-xhdpi/pointer_arrow.png
new file mode 100644
index 0000000..957eb39
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/pointer_arrow.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/pointer_spot_anchor.png b/core/res/res/drawable-xhdpi/pointer_spot_anchor.png
new file mode 100644
index 0000000..ad41c97
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/pointer_spot_anchor.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/pointer_spot_hover.png b/core/res/res/drawable-xhdpi/pointer_spot_hover.png
new file mode 100644
index 0000000..e9b98f6
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/pointer_spot_hover.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/pointer_spot_touch.png b/core/res/res/drawable-xhdpi/pointer_spot_touch.png
new file mode 100644
index 0000000..e10d998
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/pointer_spot_touch.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/popup_inline_error.9.png b/core/res/res/drawable-xhdpi/popup_inline_error.9.png
new file mode 100644
index 0000000..2784c30
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/popup_inline_error.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/popup_inline_error_above.9.png b/core/res/res/drawable-xhdpi/popup_inline_error_above.9.png
new file mode 100644
index 0000000..f26be8c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/popup_inline_error_above.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/pressed_application_background_static.png b/core/res/res/drawable-xhdpi/pressed_application_background_static.png
new file mode 100644
index 0000000..b70de9e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/pressed_application_background_static.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progress_bg_holo_dark.9.png b/core/res/res/drawable-xhdpi/progress_bg_holo_dark.9.png
new file mode 100644
index 0000000..345f5d3
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/progress_bg_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progress_bg_holo_light.9.png b/core/res/res/drawable-xhdpi/progress_bg_holo_light.9.png
new file mode 100644
index 0000000..c843ef3
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/progress_bg_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progress_primary_holo_dark.9.png b/core/res/res/drawable-xhdpi/progress_primary_holo_dark.9.png
index dc8711f..097160b 100644
--- a/core/res/res/drawable-xhdpi/progress_primary_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/progress_primary_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progress_primary_holo_light.9.png b/core/res/res/drawable-xhdpi/progress_primary_holo_light.9.png
index dc8711f..097160b 100644
--- a/core/res/res/drawable-xhdpi/progress_primary_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/progress_primary_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progress_secondary_holo_dark.9.png b/core/res/res/drawable-xhdpi/progress_secondary_holo_dark.9.png
index 39a168f..205b66e 100644
--- a/core/res/res/drawable-xhdpi/progress_secondary_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/progress_secondary_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progress_secondary_holo_light.9.png b/core/res/res/drawable-xhdpi/progress_secondary_holo_light.9.png
index 39a168f..205b66e 100644
--- a/core/res/res/drawable-xhdpi/progress_secondary_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/progress_secondary_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progressbar_indeterminate1.png b/core/res/res/drawable-xhdpi/progressbar_indeterminate1.png
new file mode 100644
index 0000000..7f01aa4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/progressbar_indeterminate1.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progressbar_indeterminate2.png b/core/res/res/drawable-xhdpi/progressbar_indeterminate2.png
new file mode 100644
index 0000000..3105385
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/progressbar_indeterminate2.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progressbar_indeterminate3.png b/core/res/res/drawable-xhdpi/progressbar_indeterminate3.png
new file mode 100644
index 0000000..248b49a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/progressbar_indeterminate3.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickactions_arrowdown_left_holo_dark.9.png b/core/res/res/drawable-xhdpi/quickactions_arrowdown_left_holo_dark.9.png
new file mode 100644
index 0000000..622095b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/quickactions_arrowdown_left_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickactions_arrowdown_left_holo_light.9.png b/core/res/res/drawable-xhdpi/quickactions_arrowdown_left_holo_light.9.png
new file mode 100644
index 0000000..bf8cf4c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/quickactions_arrowdown_left_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickactions_arrowdown_right_holo_dark.9.png b/core/res/res/drawable-xhdpi/quickactions_arrowdown_right_holo_dark.9.png
new file mode 100644
index 0000000..3e155de
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/quickactions_arrowdown_right_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickactions_arrowdown_right_holo_light.9.png b/core/res/res/drawable-xhdpi/quickactions_arrowdown_right_holo_light.9.png
new file mode 100644
index 0000000..1c1974a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/quickactions_arrowdown_right_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickactions_arrowup_left_holo_dark.9.png b/core/res/res/drawable-xhdpi/quickactions_arrowup_left_holo_dark.9.png
new file mode 100644
index 0000000..52d95af
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/quickactions_arrowup_left_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickactions_arrowup_left_holo_light.9.png b/core/res/res/drawable-xhdpi/quickactions_arrowup_left_holo_light.9.png
new file mode 100644
index 0000000..2613e0d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/quickactions_arrowup_left_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickactions_arrowup_left_right_holo_dark.9.png b/core/res/res/drawable-xhdpi/quickactions_arrowup_left_right_holo_dark.9.png
new file mode 100644
index 0000000..b7986e7
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/quickactions_arrowup_left_right_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickactions_arrowup_right_holo_light.9.png b/core/res/res/drawable-xhdpi/quickactions_arrowup_right_holo_light.9.png
new file mode 100644
index 0000000..e964b39
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/quickactions_arrowup_right_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickcontact_badge_overlay_pressed_dark.9.png b/core/res/res/drawable-xhdpi/quickcontact_badge_overlay_pressed_dark.9.png
index 8e2eb66..e258284a 100644
--- a/core/res/res/drawable-xhdpi/quickcontact_badge_overlay_pressed_dark.9.png
+++ b/core/res/res/drawable-xhdpi/quickcontact_badge_overlay_pressed_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickcontact_badge_overlay_pressed_light.9.png b/core/res/res/drawable-xhdpi/quickcontact_badge_overlay_pressed_light.9.png
index 89da95e..5c4bbf5 100644
--- a/core/res/res/drawable-xhdpi/quickcontact_badge_overlay_pressed_light.9.png
+++ b/core/res/res/drawable-xhdpi/quickcontact_badge_overlay_pressed_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/radiobutton_off_background.png b/core/res/res/drawable-xhdpi/radiobutton_off_background.png
new file mode 100644
index 0000000..384442f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/radiobutton_off_background.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/radiobutton_on_background.png b/core/res/res/drawable-xhdpi/radiobutton_on_background.png
new file mode 100644
index 0000000..c65e4ff
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/radiobutton_on_background.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_big_half.png b/core/res/res/drawable-xhdpi/rate_star_big_half.png
new file mode 100644
index 0000000..68c77a8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/rate_star_big_half.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_big_off.png b/core/res/res/drawable-xhdpi/rate_star_big_off.png
new file mode 100644
index 0000000..2389fff
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/rate_star_big_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_big_on.png b/core/res/res/drawable-xhdpi/rate_star_big_on.png
new file mode 100644
index 0000000..39467dd
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/rate_star_big_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_med_half.png b/core/res/res/drawable-xhdpi/rate_star_med_half.png
new file mode 100644
index 0000000..6c60114
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/rate_star_med_half.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_med_off.png b/core/res/res/drawable-xhdpi/rate_star_med_off.png
new file mode 100644
index 0000000..3428a3b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/rate_star_med_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_med_on.png b/core/res/res/drawable-xhdpi/rate_star_med_on.png
new file mode 100644
index 0000000..0acddec
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/rate_star_med_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_small_half.png b/core/res/res/drawable-xhdpi/rate_star_small_half.png
new file mode 100644
index 0000000..b7a5709
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/rate_star_small_half.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_small_off.png b/core/res/res/drawable-xhdpi/rate_star_small_off.png
new file mode 100644
index 0000000..2516ccc
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/rate_star_small_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_small_on.png b/core/res/res/drawable-xhdpi/rate_star_small_on.png
new file mode 100644
index 0000000..327fd1f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/rate_star_small_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/recent_dialog_background.9.png b/core/res/res/drawable-xhdpi/recent_dialog_background.9.png
new file mode 100644
index 0000000..867e715
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/recent_dialog_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/reticle.png b/core/res/res/drawable-xhdpi/reticle.png
new file mode 100644
index 0000000..c28b70d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/reticle.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/scrubber_primary_holo.9.png b/core/res/res/drawable-xhdpi/scrubber_primary_holo.9.png
index 328bd1e..073ff4c 100644
--- a/core/res/res/drawable-xhdpi/scrubber_primary_holo.9.png
+++ b/core/res/res/drawable-xhdpi/scrubber_primary_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/scrubber_secondary_holo.9.png b/core/res/res/drawable-xhdpi/scrubber_secondary_holo.9.png
index dcc4221..4c7b0aac 100644
--- a/core/res/res/drawable-xhdpi/scrubber_secondary_holo.9.png
+++ b/core/res/res/drawable-xhdpi/scrubber_secondary_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/scrubber_track_holo_dark.9.png b/core/res/res/drawable-xhdpi/scrubber_track_holo_dark.9.png
index 80e4400..a217a90 100644
--- a/core/res/res/drawable-xhdpi/scrubber_track_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/scrubber_track_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/scrubber_track_holo_light.9.png b/core/res/res/drawable-xhdpi/scrubber_track_holo_light.9.png
index af96c43..551fb0a 100644
--- a/core/res/res/drawable-xhdpi/scrubber_track_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/scrubber_track_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/search_dropdown_background.9.png b/core/res/res/drawable-xhdpi/search_dropdown_background.9.png
new file mode 100644
index 0000000..52761a7
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/search_dropdown_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/search_plate.9.png b/core/res/res/drawable-xhdpi/search_plate.9.png
new file mode 100644
index 0000000..2ad7615d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/search_plate.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/search_plate_global.9.png b/core/res/res/drawable-xhdpi/search_plate_global.9.png
new file mode 100644
index 0000000..2c935ae
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/search_plate_global.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/seek_thumb_normal.png b/core/res/res/drawable-xhdpi/seek_thumb_normal.png
new file mode 100644
index 0000000..fb21fcb
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/seek_thumb_normal.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/seek_thumb_pressed.png b/core/res/res/drawable-xhdpi/seek_thumb_pressed.png
new file mode 100644
index 0000000..d3cb25a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/seek_thumb_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/seek_thumb_selected.png b/core/res/res/drawable-xhdpi/seek_thumb_selected.png
new file mode 100644
index 0000000..8227c1f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/seek_thumb_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/settings_header_raw.9.png b/core/res/res/drawable-xhdpi/settings_header_raw.9.png
new file mode 100644
index 0000000..41e6c31
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/settings_header_raw.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_ab_default_holo_dark.9.png b/core/res/res/drawable-xhdpi/spinner_ab_default_holo_dark.9.png
index 074f2d4..5e7551d 100644
--- a/core/res/res/drawable-xhdpi/spinner_ab_default_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_ab_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_ab_default_holo_light.9.png b/core/res/res/drawable-xhdpi/spinner_ab_default_holo_light.9.png
index f8c12cf..f4586f8 100644
--- a/core/res/res/drawable-xhdpi/spinner_ab_default_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_ab_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_ab_disabled_holo_dark.9.png b/core/res/res/drawable-xhdpi/spinner_ab_disabled_holo_dark.9.png
index cf01901..86d369d 100644
--- a/core/res/res/drawable-xhdpi/spinner_ab_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_ab_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_ab_disabled_holo_light.9.png b/core/res/res/drawable-xhdpi/spinner_ab_disabled_holo_light.9.png
index 71f4f11..1c4983b 100644
--- a/core/res/res/drawable-xhdpi/spinner_ab_disabled_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_ab_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_ab_focused_holo_dark.9.png b/core/res/res/drawable-xhdpi/spinner_ab_focused_holo_dark.9.png
index c591620..ed69545 100644
--- a/core/res/res/drawable-xhdpi/spinner_ab_focused_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_ab_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_ab_focused_holo_light.9.png b/core/res/res/drawable-xhdpi/spinner_ab_focused_holo_light.9.png
index c591620..ed69545 100644
--- a/core/res/res/drawable-xhdpi/spinner_ab_focused_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_ab_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_dark.9.png b/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_dark.9.png
index 30caa29..9ee1f8c 100644
--- a/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_light.9.png b/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_light.9.png
index 7ee4c7f..e3e8656 100644
--- a/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_default_holo_dark.9.png b/core/res/res/drawable-xhdpi/spinner_default_holo_dark.9.png
index 06b6dc7..fab743d 100644
--- a/core/res/res/drawable-xhdpi/spinner_default_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_default_holo_light.9.png b/core/res/res/drawable-xhdpi/spinner_default_holo_light.9.png
index aa32bcf..9987f74 100644
--- a/core/res/res/drawable-xhdpi/spinner_default_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_disabled_holo_dark.9.png b/core/res/res/drawable-xhdpi/spinner_disabled_holo_dark.9.png
index ba25eb04..6dcd2d4 100644
--- a/core/res/res/drawable-xhdpi/spinner_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_disabled_holo_light.9.png b/core/res/res/drawable-xhdpi/spinner_disabled_holo_light.9.png
index 7a015ba..bfddedb 100644
--- a/core/res/res/drawable-xhdpi/spinner_disabled_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_dropdown_background_down.9.png b/core/res/res/drawable-xhdpi/spinner_dropdown_background_down.9.png
new file mode 100644
index 0000000..b435218
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/spinner_dropdown_background_down.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_dropdown_background_up.9.png b/core/res/res/drawable-xhdpi/spinner_dropdown_background_up.9.png
new file mode 100644
index 0000000..a45c761
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/spinner_dropdown_background_up.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_focused_holo_dark.9.png b/core/res/res/drawable-xhdpi/spinner_focused_holo_dark.9.png
index c6aad24..d80fa37 100644
--- a/core/res/res/drawable-xhdpi/spinner_focused_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_focused_holo_light.9.png b/core/res/res/drawable-xhdpi/spinner_focused_holo_light.9.png
index c6aad24..d80fa37 100644
--- a/core/res/res/drawable-xhdpi/spinner_focused_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_normal.9.png b/core/res/res/drawable-xhdpi/spinner_normal.9.png
new file mode 100644
index 0000000..71b65dd
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/spinner_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_press.9.png b/core/res/res/drawable-xhdpi/spinner_press.9.png
new file mode 100644
index 0000000..d7233ba
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/spinner_press.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_pressed_holo_dark.9.png b/core/res/res/drawable-xhdpi/spinner_pressed_holo_dark.9.png
index a0a7867..c279396 100644
--- a/core/res/res/drawable-xhdpi/spinner_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_pressed_holo_light.9.png b/core/res/res/drawable-xhdpi/spinner_pressed_holo_light.9.png
index 85a3cae..d75deda 100644
--- a/core/res/res/drawable-xhdpi/spinner_pressed_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_select.9.png b/core/res/res/drawable-xhdpi/spinner_select.9.png
new file mode 100644
index 0000000..a1b11e0
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/spinner_select.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/star_big_off.png b/core/res/res/drawable-xhdpi/star_big_off.png
new file mode 100644
index 0000000..8a17843
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/star_big_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/star_big_on.png b/core/res/res/drawable-xhdpi/star_big_on.png
new file mode 100644
index 0000000..84f0596
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/star_big_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/star_off.png b/core/res/res/drawable-xhdpi/star_off.png
new file mode 100644
index 0000000..010ef9b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/star_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/star_on.png b/core/res/res/drawable-xhdpi/star_on.png
new file mode 100644
index 0000000..01e077a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/star_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_ecb_mode.png b/core/res/res/drawable-xhdpi/stat_ecb_mode.png
new file mode 100644
index 0000000..ce17494
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_ecb_mode.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_call_mute.png b/core/res/res/drawable-xhdpi/stat_notify_call_mute.png
new file mode 100644
index 0000000..4135fea
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_call_mute.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_car_mode.png b/core/res/res/drawable-xhdpi/stat_notify_car_mode.png
new file mode 100644
index 0000000..1f3a9cc
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_car_mode.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_chat.png b/core/res/res/drawable-xhdpi/stat_notify_chat.png
new file mode 100644
index 0000000..f860fdc1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_chat.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_disk_full.png b/core/res/res/drawable-xhdpi/stat_notify_disk_full.png
new file mode 100644
index 0000000..3fa330e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_disk_full.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_email_generic.png b/core/res/res/drawable-xhdpi/stat_notify_email_generic.png
new file mode 100644
index 0000000..07d297f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_email_generic.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_error.png b/core/res/res/drawable-xhdpi/stat_notify_error.png
new file mode 100644
index 0000000..c7ac11f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_error.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_gmail.png b/core/res/res/drawable-xhdpi/stat_notify_gmail.png
new file mode 100644
index 0000000..e1efa9b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_gmail.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_missed_call.png b/core/res/res/drawable-xhdpi/stat_notify_missed_call.png
new file mode 100644
index 0000000..4fab796
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_missed_call.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_more.png b/core/res/res/drawable-xhdpi/stat_notify_more.png
new file mode 100644
index 0000000..76c2c76
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_more.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_sdcard.png b/core/res/res/drawable-xhdpi/stat_notify_sdcard.png
new file mode 100644
index 0000000..7201213
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_sdcard.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_sdcard_prepare.png b/core/res/res/drawable-xhdpi/stat_notify_sdcard_prepare.png
new file mode 100644
index 0000000..648893b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_sdcard_prepare.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_sdcard_usb.png b/core/res/res/drawable-xhdpi/stat_notify_sdcard_usb.png
new file mode 100644
index 0000000..abd8b6e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_sdcard_usb.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_sim_toolkit.png b/core/res/res/drawable-xhdpi/stat_notify_sim_toolkit.png
new file mode 100644
index 0000000..9e1df72
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_sim_toolkit.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_sync.png b/core/res/res/drawable-xhdpi/stat_notify_sync.png
new file mode 100644
index 0000000..b3bf21f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_sync.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_sync_anim0.png b/core/res/res/drawable-xhdpi/stat_notify_sync_anim0.png
new file mode 100644
index 0000000..b3bf21f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_sync_anim0.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_sync_error.png b/core/res/res/drawable-xhdpi/stat_notify_sync_error.png
new file mode 100644
index 0000000..33582ef
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_sync_error.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_voicemail.png b/core/res/res/drawable-xhdpi/stat_notify_voicemail.png
new file mode 100644
index 0000000..fd88ac2
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_voicemail.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_wifi_in_range.png b/core/res/res/drawable-xhdpi/stat_notify_wifi_in_range.png
new file mode 100644
index 0000000..3a2e070
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_notify_wifi_in_range.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_adb.png b/core/res/res/drawable-xhdpi/stat_sys_adb.png
new file mode 100644
index 0000000..01eb61d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_adb.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_battery_0.png b/core/res/res/drawable-xhdpi/stat_sys_battery_0.png
new file mode 100644
index 0000000..50aa720
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_battery_0.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_battery_100.png b/core/res/res/drawable-xhdpi/stat_sys_battery_100.png
new file mode 100644
index 0000000..0aefc68
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_battery_100.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_battery_15.png b/core/res/res/drawable-xhdpi/stat_sys_battery_15.png
new file mode 100644
index 0000000..686ce51
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_battery_15.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_battery_28.png b/core/res/res/drawable-xhdpi/stat_sys_battery_28.png
new file mode 100644
index 0000000..031546b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_battery_28.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_battery_43.png b/core/res/res/drawable-xhdpi/stat_sys_battery_43.png
new file mode 100644
index 0000000..d386987
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_battery_43.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_battery_57.png b/core/res/res/drawable-xhdpi/stat_sys_battery_57.png
new file mode 100644
index 0000000..51115df
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_battery_57.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_battery_71.png b/core/res/res/drawable-xhdpi/stat_sys_battery_71.png
new file mode 100644
index 0000000..ca4fd80
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_battery_71.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_battery_85.png b/core/res/res/drawable-xhdpi/stat_sys_battery_85.png
new file mode 100644
index 0000000..f32e9e1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_battery_85.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim0.png b/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim0.png
new file mode 100644
index 0000000..1d9efe7
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim0.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim100.png b/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim100.png
new file mode 100644
index 0000000..c5debbf
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim100.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim15.png b/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim15.png
new file mode 100644
index 0000000..0b11fb1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim15.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim28.png b/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim28.png
new file mode 100644
index 0000000..3d06ee2
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim28.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim43.png b/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim43.png
new file mode 100644
index 0000000..ea601e1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim43.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim57.png b/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim57.png
new file mode 100644
index 0000000..843b0b4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim57.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim71.png b/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim71.png
new file mode 100644
index 0000000..213e3f1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim71.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim85.png b/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim85.png
new file mode 100644
index 0000000..ca5c415
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_battery_charge_anim85.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_battery_unknown.png b/core/res/res/drawable-xhdpi/stat_sys_battery_unknown.png
new file mode 100644
index 0000000..7f156be
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_battery_unknown.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_data_bluetooth.png b/core/res/res/drawable-xhdpi/stat_sys_data_bluetooth.png
new file mode 100644
index 0000000..68cac47
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_data_bluetooth.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_data_usb.png b/core/res/res/drawable-xhdpi/stat_sys_data_usb.png
new file mode 100644
index 0000000..57c1099
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_data_usb.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_download_anim0.png b/core/res/res/drawable-xhdpi/stat_sys_download_anim0.png
new file mode 100644
index 0000000..73cbc96
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_download_anim0.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_download_anim1.png b/core/res/res/drawable-xhdpi/stat_sys_download_anim1.png
new file mode 100644
index 0000000..3e39abb
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_download_anim1.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_download_anim2.png b/core/res/res/drawable-xhdpi/stat_sys_download_anim2.png
new file mode 100644
index 0000000..fc9b0de
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_download_anim2.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_download_anim3.png b/core/res/res/drawable-xhdpi/stat_sys_download_anim3.png
new file mode 100644
index 0000000..94bc012
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_download_anim3.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_download_anim4.png b/core/res/res/drawable-xhdpi/stat_sys_download_anim4.png
new file mode 100644
index 0000000..e6b5857
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_download_anim4.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_download_anim5.png b/core/res/res/drawable-xhdpi/stat_sys_download_anim5.png
new file mode 100644
index 0000000..f1df0c8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_download_anim5.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_gps_on.png b/core/res/res/drawable-xhdpi/stat_sys_gps_on.png
new file mode 100644
index 0000000..a7408d4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_gps_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_headset.png b/core/res/res/drawable-xhdpi/stat_sys_headset.png
new file mode 100644
index 0000000..4d447ab
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_headset.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_phone_call.png b/core/res/res/drawable-xhdpi/stat_sys_phone_call.png
new file mode 100644
index 0000000..5aee387
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_phone_call.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_phone_call_forward.png b/core/res/res/drawable-xhdpi/stat_sys_phone_call_forward.png
new file mode 100644
index 0000000..15c8dda
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_phone_call_forward.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_phone_call_on_hold.png b/core/res/res/drawable-xhdpi/stat_sys_phone_call_on_hold.png
new file mode 100644
index 0000000..d5a1531
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_phone_call_on_hold.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_r_signal_0_cdma.png b/core/res/res/drawable-xhdpi/stat_sys_r_signal_0_cdma.png
new file mode 100644
index 0000000..99ce378
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_r_signal_0_cdma.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_r_signal_1_cdma.png b/core/res/res/drawable-xhdpi/stat_sys_r_signal_1_cdma.png
new file mode 100644
index 0000000..e430114
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_r_signal_1_cdma.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_r_signal_2_cdma.png b/core/res/res/drawable-xhdpi/stat_sys_r_signal_2_cdma.png
new file mode 100644
index 0000000..4241896
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_r_signal_2_cdma.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_r_signal_3_cdma.png b/core/res/res/drawable-xhdpi/stat_sys_r_signal_3_cdma.png
new file mode 100644
index 0000000..3195fee
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_r_signal_3_cdma.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_r_signal_4_cdma.png b/core/res/res/drawable-xhdpi/stat_sys_r_signal_4_cdma.png
new file mode 100644
index 0000000..3cb5463
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_r_signal_4_cdma.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_ra_signal_0_cdma.png b/core/res/res/drawable-xhdpi/stat_sys_ra_signal_0_cdma.png
new file mode 100644
index 0000000..5f9a46b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_ra_signal_0_cdma.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_ra_signal_1_cdma.png b/core/res/res/drawable-xhdpi/stat_sys_ra_signal_1_cdma.png
new file mode 100644
index 0000000..da5d09c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_ra_signal_1_cdma.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_ra_signal_2_cdma.png b/core/res/res/drawable-xhdpi/stat_sys_ra_signal_2_cdma.png
new file mode 100644
index 0000000..8cd6e08
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_ra_signal_2_cdma.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_ra_signal_3_cdma.png b/core/res/res/drawable-xhdpi/stat_sys_ra_signal_3_cdma.png
new file mode 100644
index 0000000..6c68680
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_ra_signal_3_cdma.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_ra_signal_4_cdma.png b/core/res/res/drawable-xhdpi/stat_sys_ra_signal_4_cdma.png
new file mode 100644
index 0000000..5cf6e9c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_ra_signal_4_cdma.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_secure.png b/core/res/res/drawable-xhdpi/stat_sys_secure.png
new file mode 100644
index 0000000..bef2fd7
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_secure.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_signal_0_cdma.png b/core/res/res/drawable-xhdpi/stat_sys_signal_0_cdma.png
new file mode 100644
index 0000000..28815f1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_signal_0_cdma.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_signal_1_cdma.png b/core/res/res/drawable-xhdpi/stat_sys_signal_1_cdma.png
new file mode 100644
index 0000000..1643c10
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_signal_1_cdma.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_signal_2_cdma.png b/core/res/res/drawable-xhdpi/stat_sys_signal_2_cdma.png
new file mode 100644
index 0000000..0f5a147
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_signal_2_cdma.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_signal_3_cdma.png b/core/res/res/drawable-xhdpi/stat_sys_signal_3_cdma.png
new file mode 100644
index 0000000..d37f761
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_signal_3_cdma.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_signal_4_cdma.png b/core/res/res/drawable-xhdpi/stat_sys_signal_4_cdma.png
new file mode 100644
index 0000000..f4b835f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_signal_4_cdma.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_signal_evdo_0.png b/core/res/res/drawable-xhdpi/stat_sys_signal_evdo_0.png
new file mode 100644
index 0000000..dc5196c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_signal_evdo_0.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_signal_evdo_1.png b/core/res/res/drawable-xhdpi/stat_sys_signal_evdo_1.png
new file mode 100644
index 0000000..5da3b3a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_signal_evdo_1.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_signal_evdo_2.png b/core/res/res/drawable-xhdpi/stat_sys_signal_evdo_2.png
new file mode 100644
index 0000000..d17890d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_signal_evdo_2.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_signal_evdo_3.png b/core/res/res/drawable-xhdpi/stat_sys_signal_evdo_3.png
new file mode 100644
index 0000000..2dbe7599
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_signal_evdo_3.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_signal_evdo_4.png b/core/res/res/drawable-xhdpi/stat_sys_signal_evdo_4.png
new file mode 100644
index 0000000..796f9ed
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_signal_evdo_4.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_speakerphone.png b/core/res/res/drawable-xhdpi/stat_sys_speakerphone.png
new file mode 100644
index 0000000..3ac1b88
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_speakerphone.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_tether_bluetooth.png b/core/res/res/drawable-xhdpi/stat_sys_tether_bluetooth.png
new file mode 100644
index 0000000..c3e2acf
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_tether_bluetooth.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_tether_general.png b/core/res/res/drawable-xhdpi/stat_sys_tether_general.png
new file mode 100644
index 0000000..a1c200e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_tether_general.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_tether_usb.png b/core/res/res/drawable-xhdpi/stat_sys_tether_usb.png
new file mode 100644
index 0000000..a3008b8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_tether_usb.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_tether_wifi.png b/core/res/res/drawable-xhdpi/stat_sys_tether_wifi.png
new file mode 100644
index 0000000..1fd3139
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_tether_wifi.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_throttled.png b/core/res/res/drawable-xhdpi/stat_sys_throttled.png
new file mode 100644
index 0000000..043a1e3
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_throttled.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_upload_anim0.png b/core/res/res/drawable-xhdpi/stat_sys_upload_anim0.png
new file mode 100644
index 0000000..2fbdaf8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_upload_anim0.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_upload_anim1.png b/core/res/res/drawable-xhdpi/stat_sys_upload_anim1.png
new file mode 100644
index 0000000..cd0ca73
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_upload_anim1.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_upload_anim2.png b/core/res/res/drawable-xhdpi/stat_sys_upload_anim2.png
new file mode 100644
index 0000000..e443f45
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_upload_anim2.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_upload_anim3.png b/core/res/res/drawable-xhdpi/stat_sys_upload_anim3.png
new file mode 100644
index 0000000..8fb42f8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_upload_anim3.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_upload_anim4.png b/core/res/res/drawable-xhdpi/stat_sys_upload_anim4.png
new file mode 100644
index 0000000..2fb1802
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_upload_anim4.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_upload_anim5.png b/core/res/res/drawable-xhdpi/stat_sys_upload_anim5.png
new file mode 100644
index 0000000..c1d9db5
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_upload_anim5.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_vp_phone_call.png b/core/res/res/drawable-xhdpi/stat_sys_vp_phone_call.png
new file mode 100644
index 0000000..af80481
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_vp_phone_call.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_vp_phone_call_on_hold.png b/core/res/res/drawable-xhdpi/stat_sys_vp_phone_call_on_hold.png
new file mode 100644
index 0000000..2ba1095
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_vp_phone_call_on_hold.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_warning.png b/core/res/res/drawable-xhdpi/stat_sys_warning.png
new file mode 100644
index 0000000..c7ac11f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/stat_sys_warning.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/status_bar_background.png b/core/res/res/drawable-xhdpi/status_bar_background.png
new file mode 100644
index 0000000..529904f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/status_bar_background.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/status_bar_header_background.9.png b/core/res/res/drawable-xhdpi/status_bar_header_background.9.png
new file mode 100644
index 0000000..d03720f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/status_bar_header_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/status_bar_item_app_background_normal.9.png b/core/res/res/drawable-xhdpi/status_bar_item_app_background_normal.9.png
new file mode 100644
index 0000000..7f3d9db
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/status_bar_item_app_background_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/status_bar_item_background_focus.9.png b/core/res/res/drawable-xhdpi/status_bar_item_background_focus.9.png
new file mode 100644
index 0000000..5d77613d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/status_bar_item_background_focus.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/status_bar_item_background_normal.9.png b/core/res/res/drawable-xhdpi/status_bar_item_background_normal.9.png
new file mode 100644
index 0000000..3b4959f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/status_bar_item_background_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/status_bar_item_background_pressed.9.png b/core/res/res/drawable-xhdpi/status_bar_item_background_pressed.9.png
new file mode 100644
index 0000000..70a000f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/status_bar_item_background_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/statusbar_background.9.png b/core/res/res/drawable-xhdpi/statusbar_background.9.png
new file mode 100644
index 0000000..e1a3a9b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/statusbar_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/submenu_arrow_nofocus.png b/core/res/res/drawable-xhdpi/submenu_arrow_nofocus.png
new file mode 100644
index 0000000..5e64030
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/submenu_arrow_nofocus.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_action_add.png b/core/res/res/drawable-xhdpi/sym_action_add.png
new file mode 100644
index 0000000..b0562c4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_action_add.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_action_call.png b/core/res/res/drawable-xhdpi/sym_action_call.png
new file mode 100644
index 0000000..e0de1e0
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_action_call.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_action_chat.png b/core/res/res/drawable-xhdpi/sym_action_chat.png
new file mode 100644
index 0000000..c0f2624
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_action_chat.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_action_email.png b/core/res/res/drawable-xhdpi/sym_action_email.png
new file mode 100644
index 0000000..343a9c1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_action_email.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_app_on_sd_unavailable_icon.png b/core/res/res/drawable-xhdpi/sym_app_on_sd_unavailable_icon.png
new file mode 100644
index 0000000..e4e6a5a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_app_on_sd_unavailable_icon.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_call_incoming.png b/core/res/res/drawable-xhdpi/sym_call_incoming.png
new file mode 100644
index 0000000..738390a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_call_incoming.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_call_missed.png b/core/res/res/drawable-xhdpi/sym_call_missed.png
new file mode 100644
index 0000000..2eb7aa4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_call_missed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_call_outgoing.png b/core/res/res/drawable-xhdpi/sym_call_outgoing.png
new file mode 100644
index 0000000..77f21e6
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_call_outgoing.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_contact_card.png b/core/res/res/drawable-xhdpi/sym_contact_card.png
new file mode 100644
index 0000000..aa65f1c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_contact_card.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_def_app_icon.png b/core/res/res/drawable-xhdpi/sym_def_app_icon.png
new file mode 100644
index 0000000..f360399
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_def_app_icon.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_delete.png b/core/res/res/drawable-xhdpi/sym_keyboard_delete.png
new file mode 100644
index 0000000..ca936d1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_delete.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_delete_dim.png b/core/res/res/drawable-xhdpi/sym_keyboard_delete_dim.png
new file mode 100644
index 0000000..2dac874
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_delete_dim.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_feedback_delete.png b/core/res/res/drawable-xhdpi/sym_keyboard_feedback_delete.png
new file mode 100644
index 0000000..843cc82
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_feedback_delete.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_feedback_ok.png b/core/res/res/drawable-xhdpi/sym_keyboard_feedback_ok.png
new file mode 100644
index 0000000..425452e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_feedback_ok.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_feedback_return.png b/core/res/res/drawable-xhdpi/sym_keyboard_feedback_return.png
new file mode 100644
index 0000000..d19e4dd
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_feedback_return.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_feedback_shift.png b/core/res/res/drawable-xhdpi/sym_keyboard_feedback_shift.png
new file mode 100644
index 0000000..22df421
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_feedback_shift.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_feedback_shift_locked.png b/core/res/res/drawable-xhdpi/sym_keyboard_feedback_shift_locked.png
new file mode 100644
index 0000000..30f3ead
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_feedback_shift_locked.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_feedback_space.png b/core/res/res/drawable-xhdpi/sym_keyboard_feedback_space.png
new file mode 100644
index 0000000..840da36
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_feedback_space.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num0_no_plus.png b/core/res/res/drawable-xhdpi/sym_keyboard_num0_no_plus.png
new file mode 100644
index 0000000..c477cf1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_num0_no_plus.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num1.png b/core/res/res/drawable-xhdpi/sym_keyboard_num1.png
new file mode 100644
index 0000000..decd584
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_num1.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num2.png b/core/res/res/drawable-xhdpi/sym_keyboard_num2.png
new file mode 100644
index 0000000..37948fb
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_num2.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num3.png b/core/res/res/drawable-xhdpi/sym_keyboard_num3.png
new file mode 100644
index 0000000..0e36ff2
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_num3.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num4.png b/core/res/res/drawable-xhdpi/sym_keyboard_num4.png
new file mode 100644
index 0000000..f469a4a8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_num4.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num5.png b/core/res/res/drawable-xhdpi/sym_keyboard_num5.png
new file mode 100644
index 0000000..941f877
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_num5.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num6.png b/core/res/res/drawable-xhdpi/sym_keyboard_num6.png
new file mode 100644
index 0000000..eceec55
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_num6.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num7.png b/core/res/res/drawable-xhdpi/sym_keyboard_num7.png
new file mode 100644
index 0000000..5b5d205
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_num7.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num8.png b/core/res/res/drawable-xhdpi/sym_keyboard_num8.png
new file mode 100644
index 0000000..ea776eb
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_num8.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_num9.png b/core/res/res/drawable-xhdpi/sym_keyboard_num9.png
new file mode 100644
index 0000000..29047fb
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_num9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_ok.png b/core/res/res/drawable-xhdpi/sym_keyboard_ok.png
new file mode 100644
index 0000000..08a5eef
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_ok.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_ok_dim.png b/core/res/res/drawable-xhdpi/sym_keyboard_ok_dim.png
new file mode 100644
index 0000000..6a36618
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_ok_dim.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_return.png b/core/res/res/drawable-xhdpi/sym_keyboard_return.png
new file mode 100644
index 0000000..b1e1ce9
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_return.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_shift.png b/core/res/res/drawable-xhdpi/sym_keyboard_shift.png
new file mode 100644
index 0000000..6df4080
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_shift.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_shift_locked.png b/core/res/res/drawable-xhdpi/sym_keyboard_shift_locked.png
new file mode 100644
index 0000000..470196e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_shift_locked.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_keyboard_space.png b/core/res/res/drawable-xhdpi/sym_keyboard_space.png
new file mode 100644
index 0000000..cce2845
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/sym_keyboard_space.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_bottom_holo.9.png b/core/res/res/drawable-xhdpi/tab_bottom_holo.9.png
new file mode 100644
index 0000000..712dd22
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/tab_bottom_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_focus.9.png b/core/res/res/drawable-xhdpi/tab_focus.9.png
new file mode 100644
index 0000000..737d2c4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/tab_focus.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_focus_bar_left.9.png b/core/res/res/drawable-xhdpi/tab_focus_bar_left.9.png
new file mode 100644
index 0000000..e879e37
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/tab_focus_bar_left.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_focus_bar_right.9.png b/core/res/res/drawable-xhdpi/tab_focus_bar_right.9.png
new file mode 100644
index 0000000..e879e37
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/tab_focus_bar_right.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_press.9.png b/core/res/res/drawable-xhdpi/tab_press.9.png
new file mode 100644
index 0000000..78b43db
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/tab_press.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_press_bar_left.9.png b/core/res/res/drawable-xhdpi/tab_press_bar_left.9.png
new file mode 100644
index 0000000..c5f44f3
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/tab_press_bar_left.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_press_bar_right.9.png b/core/res/res/drawable-xhdpi/tab_press_bar_right.9.png
new file mode 100644
index 0000000..c5f44f3
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/tab_press_bar_right.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_pressed_holo.9.png b/core/res/res/drawable-xhdpi/tab_pressed_holo.9.png
new file mode 100644
index 0000000..c221975
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/tab_pressed_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_selected.9.png b/core/res/res/drawable-xhdpi/tab_selected.9.png
new file mode 100644
index 0000000..fba5ee4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/tab_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_selected_bar_left.9.png b/core/res/res/drawable-xhdpi/tab_selected_bar_left.9.png
new file mode 100644
index 0000000..53efbb4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/tab_selected_bar_left.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_selected_bar_left_v4.9.png b/core/res/res/drawable-xhdpi/tab_selected_bar_left_v4.9.png
new file mode 100644
index 0000000..eec4ddb
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/tab_selected_bar_left_v4.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_selected_bar_right.9.png b/core/res/res/drawable-xhdpi/tab_selected_bar_right.9.png
new file mode 100644
index 0000000..53efbb4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/tab_selected_bar_right.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_selected_bar_right_v4.9.png b/core/res/res/drawable-xhdpi/tab_selected_bar_right_v4.9.png
new file mode 100644
index 0000000..eec4ddb
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/tab_selected_bar_right_v4.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_selected_v4.9.png b/core/res/res/drawable-xhdpi/tab_selected_v4.9.png
new file mode 100644
index 0000000..e867f90
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/tab_selected_v4.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_unselected.9.png b/core/res/res/drawable-xhdpi/tab_unselected.9.png
new file mode 100644
index 0000000..3171701
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/tab_unselected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_unselected_v4.9.png b/core/res/res/drawable-xhdpi/tab_unselected_v4.9.png
new file mode 100644
index 0000000..60b98073
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/tab_unselected_v4.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/text_cursor_holo_dark.9.png b/core/res/res/drawable-xhdpi/text_cursor_holo_dark.9.png
new file mode 100644
index 0000000..e7bb0d4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/text_cursor_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/text_cursor_holo_light.9.png b/core/res/res/drawable-xhdpi/text_cursor_holo_light.9.png
new file mode 100644
index 0000000..f429785
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/text_cursor_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/text_edit_side_paste_window.9.png b/core/res/res/drawable-xhdpi/text_edit_side_paste_window.9.png
new file mode 100644
index 0000000..ac10b3e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/text_edit_side_paste_window.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/text_select_handle_left.png b/core/res/res/drawable-xhdpi/text_select_handle_left.png
new file mode 100644
index 0000000..6a10560
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/text_select_handle_left.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/text_select_handle_middle.png b/core/res/res/drawable-xhdpi/text_select_handle_middle.png
new file mode 100644
index 0000000..71aaa85
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/text_select_handle_middle.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/text_select_handle_right.png b/core/res/res/drawable-xhdpi/text_select_handle_right.png
new file mode 100644
index 0000000..5339adc
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/text_select_handle_right.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_default.9.png b/core/res/res/drawable-xhdpi/textfield_default.9.png
new file mode 100644
index 0000000..20b1a09
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/textfield_default.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_disabled.9.png b/core/res/res/drawable-xhdpi/textfield_disabled.9.png
new file mode 100644
index 0000000..794dce8
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/textfield_disabled.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_disabled_selected.9.png b/core/res/res/drawable-xhdpi/textfield_disabled_selected.9.png
new file mode 100644
index 0000000..b708d82
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/textfield_disabled_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_focused_holo_dark.9.png b/core/res/res/drawable-xhdpi/textfield_focused_holo_dark.9.png
new file mode 100644
index 0000000..3ed03f3
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/textfield_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_focused_holo_light.9.png b/core/res/res/drawable-xhdpi/textfield_focused_holo_light.9.png
new file mode 100644
index 0000000..3ed03f3
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/textfield_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_default.9.png b/core/res/res/drawable-xhdpi/textfield_search_default.9.png
new file mode 100644
index 0000000..0ed71f7
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/textfield_search_default.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_empty_default.9.png b/core/res/res/drawable-xhdpi/textfield_search_empty_default.9.png
new file mode 100644
index 0000000..290dd38
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/textfield_search_empty_default.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_empty_pressed.9.png b/core/res/res/drawable-xhdpi/textfield_search_empty_pressed.9.png
new file mode 100644
index 0000000..bf20153
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/textfield_search_empty_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_empty_selected.9.png b/core/res/res/drawable-xhdpi/textfield_search_empty_selected.9.png
new file mode 100644
index 0000000..18406a3
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/textfield_search_empty_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_pressed.9.png b/core/res/res/drawable-xhdpi/textfield_search_pressed.9.png
new file mode 100644
index 0000000..0913c23
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/textfield_search_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_selected.9.png b/core/res/res/drawable-xhdpi/textfield_search_selected.9.png
new file mode 100644
index 0000000..7ba4d61
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/textfield_search_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_selected.9.png b/core/res/res/drawable-xhdpi/textfield_selected.9.png
new file mode 100644
index 0000000..275d628
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/textfield_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/title_bar_medium.9.png b/core/res/res/drawable-xhdpi/title_bar_medium.9.png
new file mode 100644
index 0000000..4ef531c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/title_bar_medium.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/title_bar_portrait.9.png b/core/res/res/drawable-xhdpi/title_bar_portrait.9.png
new file mode 100644
index 0000000..eb607c7
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/title_bar_portrait.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/title_bar_shadow.9.png b/core/res/res/drawable-xhdpi/title_bar_shadow.9.png
new file mode 100644
index 0000000..45b5456
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/title_bar_shadow.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/title_bar_tall.9.png b/core/res/res/drawable-xhdpi/title_bar_tall.9.png
new file mode 100644
index 0000000..4beb1d7
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/title_bar_tall.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/unknown_image.png b/core/res/res/drawable-xhdpi/unknown_image.png
new file mode 100644
index 0000000..0a9f643
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/unknown_image.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/usb_android.png b/core/res/res/drawable-xhdpi/usb_android.png
new file mode 100644
index 0000000..41fc29d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/usb_android.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/usb_android_connected.png b/core/res/res/drawable-xhdpi/usb_android_connected.png
new file mode 100644
index 0000000..71f2d44
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/usb_android_connected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/vpn_connected.png b/core/res/res/drawable-xhdpi/vpn_connected.png
new file mode 100644
index 0000000..5d37ffc
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/vpn_connected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/vpn_disconnected.png b/core/res/res/drawable-xhdpi/vpn_disconnected.png
new file mode 100644
index 0000000..dd9ba92
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/vpn_disconnected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/zoom_plate.9.png b/core/res/res/drawable-xhdpi/zoom_plate.9.png
new file mode 100644
index 0000000..5229b5f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/zoom_plate.9.png
Binary files differ
diff --git a/core/res/res/layout/search_bar.xml b/core/res/res/layout/search_bar.xml
index 673c96c..c81c716 100644
--- a/core/res/res/layout/search_bar.xml
+++ b/core/res/res/layout/search_bar.xml
@@ -38,7 +38,7 @@
<LinearLayout
android:id="@id/closeButton"
android:layout_width="wrap_content"
- android:layout_height="wrap_content"
+ android:layout_height="48dp"
android:orientation="horizontal"
android:focusable="true"
android:background="?android:attr/selectableItemBackground">
@@ -51,9 +51,10 @@
<ImageView
android:id="@+id/search_app_icon"
- android:layout_height="48dip"
- android:layout_width="48dip"
+ android:layout_height="32dip"
+ android:layout_width="32dip"
android:layout_gravity="center_vertical"
+ android:scaleType="centerInside"
/>
</LinearLayout>
diff --git a/core/res/res/layout/search_view.xml b/core/res/res/layout/search_view.xml
index 6b70d8d..0ffd571 100644
--- a/core/res/res/layout/search_view.xml
+++ b/core/res/res/layout/search_view.xml
@@ -22,8 +22,6 @@
android:id="@+id/search_bar"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:paddingLeft="8dip"
- android:paddingRight="8dip"
android:orientation="horizontal"
>
@@ -48,6 +46,7 @@
android:background="?android:attr/selectableItemBackground"
android:src="?android:attr/searchViewSearchIcon"
style="?android:attr/actionButtonStyle"
+ android:contentDescription="@string/searchview_description_search"
/>
<LinearLayout
@@ -58,6 +57,8 @@
android:layout_gravity="center_vertical"
android:layout_marginTop="4dip"
android:layout_marginBottom="4dip"
+ android:layout_marginLeft="8dip"
+ android:layout_marginRight="8dip"
android:orientation="horizontal">
<ImageView
@@ -99,11 +100,12 @@
android:dropDownAnchor="@id/search_edit_frame"
android:dropDownVerticalOffset="0dip"
android:dropDownHorizontalOffset="0dip"
+ android:contentDescription="@string/searchview_description_query"
/>
<ImageView
android:id="@+id/search_close_btn"
- android:layout_width="@dimen/dropdownitem_icon_width"
+ android:layout_width="wrap_content"
android:layout_height="match_parent"
android:paddingLeft="8dip"
android:paddingRight="8dip"
@@ -111,6 +113,7 @@
android:background="?android:attr/selectableItemBackground"
android:src="?android:attr/searchViewCloseIcon"
android:focusable="true"
+ android:contentDescription="@string/searchview_description_clear"
/>
</LinearLayout>
@@ -133,6 +136,7 @@
android:src="?android:attr/searchViewGoIcon"
android:visibility="gone"
android:focusable="true"
+ android:contentDescription="@string/searchview_description_submit"
/>
<ImageView
@@ -146,6 +150,7 @@
android:background="?android:attr/selectableItemBackground"
android:visibility="gone"
android:focusable="true"
+ android:contentDescription="@string/searchview_description_voice"
/>
</LinearLayout>
</LinearLayout>
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index f63eb62..40355e3 100755
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -152,6 +152,18 @@
<!-- Text color, typeface, size, and style for small text inside of a popup menu. -->
<attr name="textAppearanceSmallPopupMenu" format="reference" />
+ <!-- The underline color and thickness for easy correct suggestion -->
+ <attr name="textAppearanceEasyCorrectSuggestion" format="reference" />
+
+ <!-- The underline color and thickness for misspelled suggestion -->
+ <attr name="textAppearanceMisspelledSuggestion" format="reference" />
+
+ <!-- The underline color -->
+ <attr name="textUnderlineColor" format="reference|color" />
+ <!-- The underline thickness, expressed as a percentage of the default underline thickness
+ (i.e., 100 means default thickness, and 200 means double thickness). -->
+ <attr name="textUnderlineThicknessPercentage" format="reference|integer" />
+
<!-- EditText text foreground color. -->
<attr name="editTextColor" format="reference|color" />
<!-- EditText background drawable. -->
@@ -3136,6 +3148,10 @@
<!-- Present the text in ALL CAPS. This may use a small-caps form when available. -->
<attr name="textAllCaps" />
</declare-styleable>
+ <declare-styleable name="SuggestionSpan">
+ <attr name="textUnderlineColor" />
+ <attr name="textUnderlineThicknessPercentage" />
+ </declare-styleable>
<!-- An <code>input-extras</code> is a container for extra data to supply to
an input method. Contains
one more more {@link #Extra <extra>} tags. -->
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 3f67d1ba..74989e6 100755
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -116,6 +116,7 @@
<item>"mobile_fota,10,0,2,60000,true"</item>
<item>"mobile_ims,11,0,2,60000,true"</item>
<item>"mobile_cbs,12,0,2,60000,true"</item>
+ <item>"wifi_p2p,13,1,0,-1,true"</item>
</string-array>
<!-- Array of ConnectivityManager.TYPE_xxxx constants for networks that may only
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index 9295388..8855645 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -125,6 +125,9 @@
<!-- Minimum width of the search view text entry area. -->
<dimen name="search_view_text_min_width">160dip</dimen>
+ <!-- Preferred width of the search view. -->
+ <dimen name="search_view_preferred_width">320dip</dimen>
+
<!-- Dialog title height -->
<dimen name="alert_dialog_title_height">64dip</dimen>
<!-- Dialog button bar height -->
@@ -155,12 +158,12 @@
<dimen name="default_gap">16dip</dimen>
<!-- Text padding for dropdown items -->
- <dimen name="dropdownitem_text_padding_left">6dip</dimen>
+ <dimen name="dropdownitem_text_padding_left">8dip</dimen>
<!-- Text padding for dropdown items -->
- <dimen name="dropdownitem_text_padding_right">6dip</dimen>
+ <dimen name="dropdownitem_text_padding_right">8dip</dimen>
<!-- Width of the icon in a dropdown list -->
- <dimen name="dropdownitem_icon_width">48dip</dimen>
+ <dimen name="dropdownitem_icon_width">32dip</dimen>
</resources>
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 7d6d25c..feb7846 100755
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -2181,6 +2181,22 @@
Browser\'s geolocation permissions. Malicious applications
can use this to allow sending location information to arbitrary web sites.</string>
+ <!-- Title of an application permission which allows the application to verify whether
+ a different package is able to be installed by some internal logic. [CHAR LIMIT=40] -->
+ <string name="permlab_packageVerificationAgent">verify packages</string>
+ <!-- Description of an application permission which allows the application to verify whether
+ a different package is able to be installed by some internal heuristic. [CHAR LIMIT=NONE] -->
+ <string name="permdesc_packageVerificationAgent">Allows the application to verify a package is
+ installable.</string>
+
+ <!-- Title of an application permission which allows the application to verify whether
+ a different package is able to be installed by some internal heuristic. [CHAR LIMIT=40] -->
+ <string name="permlab_bindPackageVerifier">bind to a package verifier</string>
+ <!-- Description of an application permission which allows the application to verify whether
+ a different package is able to be installed by some internal heuristic. [CHAR LIMIT=NONE] -->
+ <string name="permdesc_bindPackageVerifier">Allows the holder to make requests of
+ package verifiers. Should never be needed for normal applications.</string>
+
<!-- If the user enters a password in a form on a website, a dialog will come up asking if they want to save the password. Text in the save password dialog, asking if the browser should remember a password. -->
<string name="save_password_message">Do you want the browser to remember this password?</string>
<!-- If the user enters a password in a form on a website, a dialog will come up asking if they want to save the password. Button in the save password dialog, saying not to remember this password. -->
@@ -2212,6 +2228,16 @@
<!-- This is the default button label in the system-wide search UI.
It is also used by the home screen's search "widget". It should be short -->
<string name="search_go">Search</string>
+ <!-- SearchView accessibility description for search button [CHAR LIMIT=NONE] -->
+ <string name="searchview_description_search">Search</string>
+ <!-- SearchView accessibility description for search text field [CHAR LIMIT=NONE] -->
+ <string name="searchview_description_query">Search query</string>
+ <!-- SearchView accessibility description for clear button [CHAR LIMIT=NONE] -->
+ <string name="searchview_description_clear">Clear query</string>
+ <!-- SearchView accessibility description for submit button [CHAR LIMIT=NONE] -->
+ <string name="searchview_description_submit">Submit query</string>
+ <!-- SearchView accessibility description for voice button [CHAR LIMIT=NONE] -->
+ <string name="searchview_description_voice">Voice search</string>
<!-- String used to display the date. This is the string to say something happened 1 month ago. -->
<string name="oneMonthDurationPast">1 month ago</string>
diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml
index d54eddf..6f2f1e5 100644
--- a/core/res/res/values/styles.xml
+++ b/core/res/res/values/styles.xml
@@ -243,6 +243,18 @@
<item name="android:textStyle">bold</item>
</style>
+ <style name="TextAppearance.Suggestion">
+ <item name="android:textUnderlineThicknessPercentage">200</item>
+ </style>
+
+ <style name="TextAppearance.EasyCorrectSuggestion" parent="TextAppearance.Suggestion">
+ <item name="android:textUnderlineColor">@color/holo_blue_dark</item>
+ </style>
+
+ <style name="TextAppearance.MisspelledSuggestion" parent="TextAppearance.Suggestion">
+ <item name="android:textUnderlineColor">@color/holo_red_light</item>
+ </style>
+
<!-- Widget Styles -->
<style name="Widget">
diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml
index 397278c..786cdb5 100644
--- a/core/res/res/values/themes.xml
+++ b/core/res/res/values/themes.xml
@@ -88,7 +88,10 @@
<item name="textAppearanceSmallInverse">@android:style/TextAppearance.Small.Inverse</item>
<item name="textAppearanceSearchResultTitle">@android:style/TextAppearance.SearchResult.Title</item>
<item name="textAppearanceSearchResultSubtitle">@android:style/TextAppearance.SearchResult.Subtitle</item>
-
+
+ <item name="textAppearanceEasyCorrectSuggestion">@android:style/TextAppearance.EasyCorrectSuggestion</item>
+ <item name="textAppearanceMisspelledSuggestion">@android:style/TextAppearance.MisspelledSuggestion</item>
+
<item name="textAppearanceButton">@android:style/TextAppearance.Widget.Button</item>
<item name="editTextColor">?android:attr/textColorPrimaryInverse</item>
@@ -326,7 +329,7 @@
<item name="searchViewSearchIcon">@android:drawable/ic_search</item>
<item name="searchViewGoIcon">@android:drawable/ic_go</item>
<item name="searchViewVoiceIcon">@android:drawable/ic_voice_search</item>
- <item name="searchViewEditQuery">@android:drawable/ic_commit</item>
+ <item name="searchViewEditQuery">@android:drawable/ic_commit_search_api_holo_dark</item>
<item name="searchViewEditQueryBackground">?attr/selectableItemBackground</item>
<item name="searchDialogTheme">@style/Theme.SearchBar</item>
diff --git a/data/fonts/Lohit_Hindi.ttf b/data/fonts/Lohit_Hindi.ttf
new file mode 100644
index 0000000..73caae3
--- /dev/null
+++ b/data/fonts/Lohit_Hindi.ttf
Binary files differ
diff --git a/data/fonts/fallback_fonts.xml b/data/fonts/fallback_fonts.xml
index 6ac615d..1bee47a 100644
--- a/data/fonts/fallback_fonts.xml
+++ b/data/fonts/fallback_fonts.xml
@@ -46,6 +46,11 @@
</family>
<family>
<fileset>
+ <file>Lohit_Hindi.ttf</file>
+ </fileset>
+ </family>
+ <family>
+ <fileset>
<file>DroidSansFallback.ttf</file>
</fileset>
</family>
diff --git a/data/fonts/fonts.mk b/data/fonts/fonts.mk
index 73fb111..d8c1fa2 100644
--- a/data/fonts/fonts.mk
+++ b/data/fonts/fonts.mk
@@ -31,6 +31,7 @@
frameworks/base/data/fonts/DroidSerif-Italic.ttf:system/fonts/DroidSerif-Italic.ttf \
frameworks/base/data/fonts/DroidSerif-BoldItalic.ttf:system/fonts/DroidSerif-BoldItalic.ttf \
frameworks/base/data/fonts/DroidSansMono.ttf:system/fonts/DroidSansMono.ttf \
+ frameworks/base/data/fonts/Lohit_Hindi.ttf:system/fonts/Lohit_Hindi.ttf \
frameworks/base/data/fonts/Clockopia.ttf:system/fonts/Clockopia.ttf \
frameworks/base/data/fonts/DroidSansFallback.ttf:system/fonts/DroidSansFallback.ttf \
frameworks/base/data/fonts/AndroidClock.ttf:system/fonts/AndroidClock.ttf \
diff --git a/docs/html/guide/developing/tools/adt.html b/docs/html/guide/developing/tools/adt.html
deleted file mode 100644
index 5ba2ef5..0000000
--- a/docs/html/guide/developing/tools/adt.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html>
-<head>
-<meta http-equiv="refresh" content="0;url=http://developer.android.com/sdk/eclipse-adt.html">
-<title>Redirecting...</title>
-</head>
-<body>
-<p>You should be redirected. Please <a
-href="http://developer.android.com/sdk/eclipse-adt.html">click here</a>.</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/html/guide/developing/tools/adt.jd b/docs/html/guide/developing/tools/adt.jd
new file mode 100644
index 0000000..e48a5ae
--- /dev/null
+++ b/docs/html/guide/developing/tools/adt.jd
@@ -0,0 +1,528 @@
+page.title=Android Developer Tools
+@jd:body
+
+ <div id="qv-wrapper">
+ <div id="qv">
+ <h2>In this document</h2>
+
+ <ol>
+ <li><a href="#tools">SDK Tools Integration</a></li>
+
+ <li><a href="#editors">Code Editors</a>
+ <ol>
+ <li><a href="#resource-linking">Resource linking enhancements</a></li>
+ </ol>
+ </li>
+
+ <li><a href="#graphical-editor">Graphical Layout Editor</a>
+ <ol>
+ <li><a href="#canvas">Canvas and outline view</a></li>
+ <li><a href="#palette">Palette</a></li>
+ <li><a href="#config-chooser">Configuration chooser</a></li>
+ </ol>
+ </li>
+
+ <li><a href="#refactoring">Layout Factoring Support</a></li>
+
+ </ol>
+
+ <h2>Related videos</h2>
+
+ <ol>
+ <li><a href="{@docRoot}videos/index.html#v=Oq05KqjXTvs">Android Developer Tools
+ Google I/O Session</a>
+ </li>
+ </ol>
+
+ <h2>See also</h2>
+
+ <ol>
+ <li><a href="http://tools.android.com/recent">Android Tools change blog</a></li>
+ </ol>
+ </div>
+ </div>
+
+ <p>ADT (Android Developer Tools) is a plugin for Eclipse that provides a suite of
+ tools that are integrated with the Eclipse IDE. It offers you access to many features that help
+ you develop Android applications quickly. ADT
+ provides GUI access to many of the command line SDK tools as well as a UI design tool for rapid
+ prototyping, designing, and building of your application's user interface.</p>
+
+ <p>Because ADT is a plugin for Eclipse, you get the functionality of a well-established IDE,
+ along with Android-specific features that are bundled with ADT. The following
+ describes important features of Eclipse and ADT:</p>
+
+ <dl>
+ <dt><strong>Integrated Android project creation, building, packaging, installation, and
+ debugging</strong></dt>
+
+ <dd>ADT integrates many development workflow tasks into Eclipse, making it easy for you to
+ rapidly develop and test your Android applications.</dd>
+
+ <dt><strong>SDK Tools integration</strong></dt>
+
+ <dd>Many of the <a href="#tools">SDK tools</a> are integrated into Eclipse's menus,
+ perspectives, or as a part of background processes ran by ADT.</dd>
+
+ <dt><strong>Java programming language and XML editors</strong></dt>
+
+ <dd>The Java programming language editor contains common IDE features such as compile time
+ syntax checking, auto-completion, and integrated documentation for the Android framework APIs.
+ ADT also provides custom XML editors that let you
+ edit Android-specific XML files in a form-based UI. A graphical layout editor lets you design
+ user interfaces with a drag and drop interface.</dd>
+
+ <dt><strong>Integrated documentation for Android framework APIs</strong></dt>
+ <dd>You can access documentation by hovering over classes, methods, or variables.</dd>
+ </dl>
+
+ <p>You can find the most up-to-date and more detailed information about changes and new features
+on the <a href="http://tools.android.com/recent">Recent Changes</a> page at the Android Tools
+Project site.</p>
+
+ <h2 id="tools">SDK Tools Integration</h2>
+
+ <div class="sidebox-wrapper">
+ <div class="sidebox">
+ <h2>Need help designing icons?</h2>
+ <p>The <a href="http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html">Android
+ Asset Studio</a> is a web-based tool that lets you generate icons from existing images,
+ clipart, or text. It also generates the icons with different DPIs for different screen sizes and
+ types.</p>
+
+ </div>
+ </div>
+
+ <p>Many of the tools that you can start or run from the command line are integrated into ADT.
+ They include:</p>
+
+ <ul>
+ <li><a href="{@docRoot}guide/developing/debugging/debugging-tracing.html">Traceview</a>:
+ Allows you to profile your program's execution
+ (<strong>Window > Open Perspective > Traceview</strong>). </li>
+
+ <li><a href="{@docRoot}guide/developing/tools/android.html">android</a>: Provides access to
+ the Android SDK and AVD Manager. Other <code>android</code> features such as creating or
+ updating projects (application and library) are integrated throughout the Eclipse IDE
+ (<strong>Window > Android SDK and AVD Manager</strong>). </li>
+
+ <li><a href="{@docRoot}guide/developing/debugging/debugging-ui.html#HierarchyViewer">Hierarchy
+ Viewer</a>: Allows you to visualize your application's view hierarchy to find inefficiencies
+ (<strong>Window > Open Perspective > Hierarchy Viewer</strong>).</li>
+
+ <li><a href="{@docRoot}guide/developing/debugging/debugging-ui.html#pixelperfect">Pixel
+ Perfect</a>: Allows you to closely examine your UI to help with designing and building.
+ (<strong>Window > Open Perspective > Pixel Perfect</strong>).</li>
+
+ <li><a href="{@docRoot}guide/developing/debugging/ddms.html">DDMS</a>: Provides
+ debugging features including: screen capturing, thread and heap information, and logcat
+ (<strong>Window > Open Perspective > DDMS</strong>).</li>
+
+ <li><a href="{@docRoot}guide/developing/tools/adb.html">adb</a>: Provides access to
+ a device from your development system. Some features of
+ <code>adb</code> are integrated into ADT such as project installation (Eclipse run menu),
+ file transfer, device enumeration, and logcat (DDMS). You must access the more advanced
+ features of <code>adb</code>, such as shell commands, from the command line.</li>
+
+ <li><a href="{@docRoot}guide/developing/tools/proguard.html">ProGuard</a>: Allows code obfuscation,
+ shrinking, and optimization. ADT integrates ProGuard as part of the build, if you <a href=
+ "{@docRoot}guide/developing/tools/proguard.html#enabling">enable it</a>.</li>
+ </ul>
+
+<h2 id="editors">Code Editors</h2>
+
+ <p>In addition to Eclipse's standard editor features, ADT provides custom XML editors to help
+ you create and edit Android manifests, resources, menus, and layouts in a form-based or graphical
+ mode. Double-clicking on an XML file in Eclipse's package explorer opens the
+ appropriate XML editor.
+
+ <div class="sidebox-wrapper">
+ <div class="sidebox">
+ <h2>Google I/O Session Video</h2>
+ <p>View the segment on the <a href=
+ "http://www.youtube.com/watch?v=Oq05KqjXTvs#t=30m50s">XML editors</a> for more
+ information.</p>
+ </div>
+ </div>
+
+ <p class="note"><strong>Note:</strong> You can edit Android-specific XML files (such as a layout
+or manifest) in both a graphical mode and also an XML markup mode. You can switch between
+these modes with the pair of tabs at the bottom of each custom XML editor.</p>
+
+ <p>In addition, some special file types that don't have custom editors, such as drawables, animations,
+ and color files offer editing enhancements such as XML tag completion.</p>
+
+<p>ADT provides the following custom, form-based XML editors:</p>
+
+ <dl>
+
+ <dt><strong>Graphical Layout Editor</strong></dt>
+
+ <dd>Edit and design your XML layout files with a drag and drop interface. The layout editor
+ renders your interface as well, offering you a preview as you design your layouts. This editor
+ is invoked when you open an XML file with a view declared (usually declared in
+ <code>res/layout</code>. For more information, see <a href="#graphical-editor">Graphical Layout
+ Editor</a>.</dd>
+
+ <dt><strong>Android Manifest Editor</strong></dt>
+
+ <dd>Edit Android manifests with a simple graphical interface. This editor is invoked
+ when you open an <code>AndroidManifest.xml</code> file.</dd>
+
+ <dt><strong>Menu Editor</strong></dt>
+
+ <dd>Edit menu groups and items with a simple graphical interface. This editor is
+ invoked when you open an XML file with a <code><menu></code> declared (usually located in
+ the <code>res/menu</code> folder).</dd>
+
+ <dt><strong>Resources Editor</strong></dt>
+
+ <dd>Edit resources with a simple graphical interface. This editor is invoked when
+ you open an XML file with a <code><resources></code> tag declared.</dd>
+
+ <dt><strong>XML Resources Editor</strong></dt>
+
+ <dd>Edit XML resources with a simple graphical interface. This editor is invoked
+ when you open an XML file.</dd>
+ </dl>
+
+
+ <h3 id="resource-linking">Resource linking enhancements</h3>
+ <p>In addition to the normal code editing features of Eclipse, ADT provides enhancements to the Android
+ development experience that allow you to quickly jump to declarations of various types of resources such
+ as strings or layout files. You can access these enhancements by holding down the control key and
+ clicking on the following items:
+
+ <ul>
+
+ <li>A resource identifier, such as <code>R.id.button1</code>, jumps
+ to the XML definition of the view.</li>
+
+ <li>A declaration in the <code>R.java</code> file, such as <code>public
+ static final int Button01=0x7f050000"</code>, jumps to the corresponding XML definition.</li>
+
+ <li>An activity or service definition in your manifest, such as
+ <code><activity android:name=".TestActivity"></code>, jumps to the corresponding Java class. You can
+ jump from an activity definition (or service definition) into the corresponding Java class.</li>
+
+ <li>You can jump to any value definition (e.g. <code>@string:foo</code>), regardless of
+which XML file
+ "foo" is defined in.</li>
+
+ <li>Any file-based declaration, such as <code>@layout/bar</code>, opens the file.</li>
+
+ <li>Non-XML resources, such as <code>@drawable/icon</code>, launches
+ Eclipse's default application for the given file type, which in this case is an
+ image.</li>
+
+ <li><code>@android</code> namespace resources opens the resources found in
+ the SDK install area.</li>
+
+ <li>Custom views in XML layouts, such as <code><foo.bar.MyView></foo.bar.MyView></code>,
+ or <code><view class="foo.bar.MyView"></code>) jump to the corresponding custom view classes.</li>
+
+ <li>An XML attribute such as <code>@android:string/ok</code> or <code>android.R.string.id</code> in Java code
+ opens the file that declares the strings. The XML tab opens when doing this, not
+ the form-based editor.</li>
+
+ </ul>
+
+ <h2 id="graphical-editor">Graphical Layout Editor</h2>
+
+ <p>ADT provides many features to allow you to design and build your application's user interface.
+ Many of these features are in the graphical layout editor, which you can access by opening one of
+ your application's XML layout files in Eclipse.
+ </p>
+
+ <p>The graphical layout editor is the main screen that you use to visually design and build your
+ UI. It is split up into the following parts:</p>
+
+ <dl>
+ <dt><strong>Canvas</strong></dt>
+
+ <dd>In the middle of the editor is the canvas. It provides the rendered view of your
+ layout and supports dragging and dropping of UI widgets
+ directly from the palette. You can select the platform version used to render the items in
+ the canvas. Each platform version has its own look and feel, which might be the similar to or
+ radically different from another platform version. The canvas renders the appropriate look
+ and feel for the currently selected platform version.
+ This platform version does not need to be the same as the version that your
+ application targets.
+
+ <p>The canvas also provides
+ context-sensitive actions in the layout actions bar, such as adjusting layout margins and
+orientation.
+ The layout actions bar displays available actions depending on the selected UI element in the
+ canvas.</p>
+ </dd>
+
+ <dt><strong>Outline</strong></dt>
+
+ <dd>On the right side of the editor is the outline view. It displays a hierarchical
+ view of your layout where you can do things such as reorder of views. The outline
+ view exposes similar functionality as the canvas but displays your layout in an ordered
+ list instead of a rendered preview.</dd>
+
+ <dt><strong>Palette</strong></dt>
+
+ <dd>On the left side of the editor is the palette. It provides a set of widgets that
+ you can drag onto the canvas. The palette shows rendered previews of the
+ widgets for easy lookup of desired UI widgets.</dd>
+
+ <dt><strong>Configuration Chooser</strong></dt>
+
+ <dd>At the top of the editor is the configuration chooser.
+ It provides options to change a layout's rendering mode or screen type.</dd>
+ </dl>
+
+ <img src="{@docRoot}images/layout_editor.png" alt="graphical layout editor screenshot"
+ height="500" id="layout-editor" name="layout-editor">
+
+ <p class="img-caption"><strong>Figure 1.</strong> Graphical layout editor</p>
+
+ <h3 id="canvas">Canvas and outline view</h3>
+
+ <div class="sidebox-wrapper">
+ <div class="sidebox">
+ <h2>Google I/O Session Video</h2>
+
+ <p>View the segment on the <a href=
+ "http://www.youtube.com/watch?v=Oq05KqjXTvs#t=7m16s">canvas and outline view</a> and the
+ <a href="http://www.youtube.com/watch?v=Oq05KqjXTvs#t=11m43s">layout actions bar</a>
+ for more information.
+ </p>
+ </div>
+ </div>
+
+ <p>The canvas is the area where you can drag and drop UI widgets from the palette to design your
+ layout. The canvas offers a rendered preview of your layout depending on factors such as the
+ selected platform version, screen orientation, and currently selected theme that you specify in
+ the <a href="#configuration-chooser">configuration chooser</a>. You can also drag and drop
+ items into the outline view, which displays your layout in a hierarchical list. The outline view
+ exposes much of the same functionality as the canvas but offers another method of organization
+ that is beneficial for ordering and quickly selecting items. When you right-click a specific item
+ in the canvas or outline view, you can access a context-sensitive menu that lets you modify the
+ following attributes of the layout or view:</p>
+
+ <dl>
+ <dt><strong>View and layout properties</strong></dt>
+
+ <dd>
+ When you right-click a view or layout in the canvas or outline view, it brings up a
+ context-sensitive menu that lets you set things such as:
+
+ <ul>
+ <li>ID of the view or layout</li>
+
+ <li>Text of the view</li>
+
+ <li>Layout width</li>
+
+ <li>Layout height</li>
+
+ <li>Properties such as alpha or clickable</li>
+ </ul>
+ </dd>
+
+ <dt><strong>Animation preview and creation</strong></dt>
+
+ <dd>
+ If your layout or view is animated, you can preview the animation directly in the canvas
+ (when you select Android 3.0 or later as the platform version in the configuration chooser).
+ Right-click an item in the canvas and select <strong>Play Animation</strong>. If
+ animation is not associated with item, an option is available in the menu to create one.
+
+ <p>View the segment on the <a href=
+ "http://www.youtube.com/watch?v=Oq05KqjXTvs#t=28m30s">animation features</a> for more
+ information.</p>
+ </dd>
+
+ <dt><strong>Extract as Include</strong></dt>
+
+ <dd>You can extract parts of a current layout into its own layout file,
+ which you can then include in any layout with a single line of XML. See <a href=
+ "#extract-as-include">Layout Refactoring Support</a> for more information.</dd>
+ </dl>
+
+ <h4>Other canvas features</h4>
+
+ <p>The canvas has additional features not available in the outline view:</p>
+
+ <ul>
+
+ <li>Edit views with the layout actions bar: The context-sensitive layout actions bar allows you to
+ edit how a view is laid out in your UI. The available actions depend on the currently
+ selected view and its parent layout. Some common actions include
+ toggling the fill mode of the view and specifying margins. For instance, if you select a
+ {@link android.widget.Button}
+ in a {@link android.widget.LinearLayout}, you see actions related to the {@link
+android.widget.LinearLayout}, such as a toggle to switch
+ between horizontal and vertical layout, and a toggle to control whether its children are
+ aligned along their text baseline. You will also see toolbar actions to control the individual
+ layout attributes of the child, such as whether the child should stretch out to match its
+ parent's width and height, a dropdown action to set the child's layout gravity, a button to open
+ a margin editor, and a layout weight editor.</li>
+
+ <li>Edit a nested layout in its current context: If you are editing a layout
+ that includes another layout, you can edit the included layout in the layout that included
+ it.</li>
+
+ <li>Preview drag and drop location: When you drag and drop a UI widget onto the canvas, ruler
+ markers appear showing you the approximate location of the UI widget depending on the
+ type of layout, such as {@link android.widget.RelativeLayout} or {@link
+ android.widget.LinearLayout}.</li>
+
+ <li>Preview animations: You can preview view and layout animations when you select Android 2.1
+ or later for the platform version in the configuration bar.</li>
+
+ <li>Render layouts in real-time: Layouts are rendered as accurately as possible according to
+ the platform version, including the appropriate system and action bars.</li>
+
+ <li>Support for fragments: Fragments can be rendered in the same screen as the layout that
+ includes the fragments.</li>
+
+ </ul>
+
+ <img src="{@docRoot}images/canvas.png" alt="screenshot of the canvas" height="553">
+
+ <p class="img-caption"><strong>Figure 2.</strong> Canvas portion of the layout editor showing
+ a rendered preview of an application</p>
+
+ <img src=
+ "{@docRoot}images/layout_outline.png" alt="screenshot of the outline view" height="185">
+
+ <p class="img-caption"><strong>Figure 3.</strong> Outline view showing current layout's structure</p>
+
+ <h3 id="palette">Palette</h3>
+
+ <div class="sidebox-wrapper">
+ <div class="sidebox">
+ <h2>Google I/O Session Video</h2>
+
+ <p>View the segment on the <a href=
+ "http://www.youtube.com/watch?v=Oq05KqjXTvs#t=7m53s">palette</a> for more information.</p>
+ </div>
+ </div>
+
+ <p>The palette contains the UI widgets that you can drag and drop onto the canvas and add to your
+ layout. The pallete categorizes the widgets and shows rendered previews
+ for easier lookup. The main features of the palette include:</p>
+
+ <ul>
+ <li>Different modes of rendered previews include: icons only, icons and text, tiny previews,
+ small previews, and previews (rendered in real size). Previews are only available for layouts
+ rendered with the latest revisions of Android 2.1 (API Level 7) or later.</li>
+
+ <li>Custom views in your project or library projects are added under custom views
+ category.</li>
+
+ <li>Arrange UI widgets alphabetically or by category.</li>
+ </ul>
+ <img src="{@docRoot}images/palette.png" alt="palette screenshot" height="566">
+
+ <p class="img-caption"><strong>Figure 4.</strong> Palette showing available UI widgets</p>
+
+ <h3 id="config-chooser">Configuration chooser</h3>
+
+ <div class="sidebox-wrapper">
+ <div class="sidebox">
+ <h2>Google I/O Session Video</h2>
+
+ <p>View the segment on the <a href=
+ "http://www.youtube.com/watch?v=Oq05KqjXTvs#t=12m51s">configuration chooser</a> for more
+ information.</p>
+ </div>
+ </div>
+
+
+ <p>The configuration chooser allows you to create and configure different configurations of
+ a layout for different situations, such as one for landscape and one for portrait mode. You can
+ set the following options for each configuration of a layout:
+ </p>
+ <ul>
+ <li>Screen type combo box: Predefined screen settings for common device configurations. You
+ can also create your own by selecting <strong>Custom...</strong>.</li>
+
+ <li>Screen orientation combo box: Portrait or Landscape screen orientation.</li>
+
+ <li>Theme combo box: Predefined themes or a custom theme that you have created.</li>
+
+ <li>Platform combo box: Platform version used to render the canvas and palette as well as
+ displaying appropriate themes.</li>
+
+ <li>Custom layout combo boxes: The locale, dock, and time of day combo boxes let you select
+ different versions of the same layout depending on the device's current state. You can
+ create a new version of a layout with the <strong>Create</strong> button.</li>
+ </ul>
+
+ <img src="{@docRoot}images/layout_bar.png" alt=
+ "configuration chooser screenshot" height="50" id="configuration-chooser" name="configuration chooser">
+
+ <p class="img-caption"><strong>Figure 5.</strong> Configuration chooser</p>
+
+ <h2 id="refactoring">Layout Refactoring Support</h2>
+
+ <div class="sidebox-wrapper">
+ <div class="sidebox">
+ <h2>Google I/O Session Video</h2>
+
+ <p>View the segment on <a href=
+ "http://www.youtube.com/watch?v=Oq05KqjXTvs#t=18m00s">refactoring features</a> for a rundown
+of the more important refactoring features.</p>
+
+ </div>
+ </div>
+
+ <p>In both the graphical and XML layout editor, there are many features that help you quickly
+ refactor your layouts. The following list describes the major refactoring support:</p>
+
+ <dl>
+
+ <dt><strong>Change layout</strong></dt>
+ <dd>This lets you change the layout on the fly and re-renders the canvas for you.
+ You can apply this refactoring to any layout and the layout is converted to the new type if
+ possible. In many cases, the opening and closing tags of the layout's XML element are changed
+ along with things such as ID attributes and their references. However, for some supported
+ types, ADT attempts to preserve the layout, such as changing a {@link
+ android.widget.LinearLayout} to a {@link android.widget.RelativeLayout}.</dd>
+
+ <dt><strong>Change widget</strong></dt>
+ <dd>This lets you select one or more widgets and converts them to a new widget type. In
+ addition to changing the element name, it also removes any
+ attributes that are not supported by the new widget type and adds in any mandatory attributes
+ required by the new widget type. If the current ID of a widget includes the
+ current widget type in its ID (such as a <code><Button></code> widget named
+ <code>"button1"</code>), then the ID is changed to match the new widget type and all
+ references are updated.</dd>
+
+ <dt id="extract-as-include"><strong>Extract as include</strong></dt>
+ <dd>This lets you extract views inside of an existing layout into their own separate layout
+ file. An <code>include</code> tag that points to the newly created layout file is inserted
+ into the existing layout file. Right-click the view or layout and select <strong>Extract as
+ Include...</strong>.</dd>
+
+ <dt><strong>Extract string</strong></dt>
+ <dd>Extract strings from either XML or Java files into their own separate resource file.</dd>
+
+ <dt><strong>Extract style</strong></dt>
+ <dd>Extract style-related attributes from a layout and define them in a new
+ <code>styles.xml</code> file. You can select multiple views and this refactoring extracts all
+ of the same styles into one style and assigns that style to all the views that use it.</dd>
+
+ <dt><strong>Wrap-in container</strong></dt>
+ <dd>This lets you select one or more sibling elements and wrap them in a new container. This
+ can be applied to the root element as well, in which case the namespace declaration attributes
+ will be transferred to the new root. This refactoring also transfers <code>layout_</code>
+ attribute references to the new root, For example, suppose you have a {@link android.widget.RelativeLayout}.
+ If other widgets have layout constraints pointing to your widget, wrapping the widget causes
+ these constraints to point to the parent instead.</dd>
+
+ <dt><strong>Quick Assistant</strong></dt>
+ <dd>Provides refactoring suggestions depending on the current context. Press
+ <strong>Ctrl-1</strong> (or <strong>Cmd-1</strong> on
+ Mac) in an editor, and Eclipse provides a list of possible refactorings depending on the
+ context. The Quick Assistant provides fast access to all of the above refactorings, where applicable.
+ For example, if you are editing an XML value and decide you want to extract it out
+ as a string, place the text cursor in the string and press Ctrl-1 to see the refactoring context
+ menu.</dd>
+ </dl>
diff --git a/docs/html/guide/guide_toc.cs b/docs/html/guide/guide_toc.cs
index a647cd3..68c9a91 100644
--- a/docs/html/guide/guide_toc.cs
+++ b/docs/html/guide/guide_toc.cs
@@ -569,6 +569,7 @@
</a></div>
<ul>
<li><a href="<?cs var:toroot ?>guide/developing/tools/adb.html">adb</a></li>
+ <li><a href="<?cs var:toroot ?>guide/developing/tools/adt.html">ADT</a> <span class="new">new!</span></li>
<li><a href="<?cs var:toroot ?>guide/developing/tools/android.html">android</a></li>
<li><a href="<?cs var:toroot ?>guide/developing/tools/bmgr.html">bmgr</a>
<li><a href="<?cs var:toroot ?>guide/developing/tools/dmtracedump.html">dmtracedump</a></li>
diff --git a/docs/html/images/canvas.png b/docs/html/images/canvas.png
new file mode 100644
index 0000000..471657a
--- /dev/null
+++ b/docs/html/images/canvas.png
Binary files differ
diff --git a/docs/html/images/layout_bar.png b/docs/html/images/layout_bar.png
new file mode 100644
index 0000000..9ae677c
--- /dev/null
+++ b/docs/html/images/layout_bar.png
Binary files differ
diff --git a/docs/html/images/layout_editor.png b/docs/html/images/layout_editor.png
new file mode 100644
index 0000000..12cbe07
--- /dev/null
+++ b/docs/html/images/layout_editor.png
Binary files differ
diff --git a/docs/html/images/layout_outline.png b/docs/html/images/layout_outline.png
new file mode 100644
index 0000000..b128cf2
--- /dev/null
+++ b/docs/html/images/layout_outline.png
Binary files differ
diff --git a/docs/html/images/palette.png b/docs/html/images/palette.png
new file mode 100644
index 0000000..a892846
--- /dev/null
+++ b/docs/html/images/palette.png
Binary files differ
diff --git a/docs/html/sdk/ndk/overview.jd b/docs/html/sdk/ndk/overview.jd
index 93c664d..85599f7 100644
--- a/docs/html/sdk/ndk/overview.jd
+++ b/docs/html/sdk/ndk/overview.jd
@@ -457,7 +457,8 @@
<li>Mac OS X 10.4.8 or later (x86 only)</li>
- <li>Linux (32- or 64-bit, tested on Linux Ubuntu Dapper Drake)</li>
+ <li>Linux (32 or 64-bit; Ubuntu 8.04, or other Linux distributions using GLibc 2.7 or
+later)</li>
</ul>
<h4>Required development tools</h4>
diff --git a/include/media/stagefright/ACodec.h b/include/media/stagefright/ACodec.h
index f13e9bb..e965f14 100644
--- a/include/media/stagefright/ACodec.h
+++ b/include/media/stagefright/ACodec.h
@@ -36,6 +36,7 @@
kWhatShutdownCompleted = 'scom',
kWhatFlushCompleted = 'fcom',
kWhatOutputFormatChanged = 'outC',
+ kWhatError = 'erro',
};
ACodec();
@@ -58,7 +59,6 @@
struct OutputPortSettingsChangedState;
struct ExecutingToIdleState;
struct IdleToLoadedState;
- struct ErrorState;
struct FlushingState;
enum {
@@ -102,7 +102,6 @@
sp<OutputPortSettingsChangedState> mOutputPortSettingsChangedState;
sp<ExecutingToIdleState> mExecutingToIdleState;
sp<IdleToLoadedState> mIdleToLoadedState;
- sp<ErrorState> mErrorState;
sp<FlushingState> mFlushingState;
AString mComponentName;
diff --git a/libs/hwui/Layer.h b/libs/hwui/Layer.h
index dd75497..a8ae5c6 100644
--- a/libs/hwui/Layer.h
+++ b/libs/hwui/Layer.h
@@ -203,6 +203,10 @@
return texTransform;
}
+ inline mat4& getTransform() {
+ return transform;
+ }
+
/**
* Bounds of the layer.
*/
@@ -282,6 +286,11 @@
*/
mat4 texTransform;
+ /**
+ * Optional transform.
+ */
+ mat4 transform;
+
}; // struct Layer
}; // namespace uirenderer
diff --git a/libs/hwui/Matrix.cpp b/libs/hwui/Matrix.cpp
index 9fc5131..769c99c 100644
--- a/libs/hwui/Matrix.cpp
+++ b/libs/hwui/Matrix.cpp
@@ -51,6 +51,7 @@
data[kTranslateZ] = 0.0f;
data[kPerspective2] = 1.0f;
+ mIsIdentity = true;
mSimpleMatrix = true;
}
@@ -71,14 +72,21 @@
return mSimpleMatrix;
}
+bool Matrix4::isIdentity() {
+ return mIsIdentity;
+}
+
void Matrix4::load(const float* v) {
memcpy(data, v, sizeof(data));
+ // TODO: Do something smarter here
mSimpleMatrix = false;
+ mIsIdentity = false;
}
void Matrix4::load(const Matrix4& v) {
memcpy(data, v.data, sizeof(data));
mSimpleMatrix = v.mSimpleMatrix;
+ mIsIdentity = v.mIsIdentity;
}
void Matrix4::load(const SkMatrix& v) {
@@ -99,6 +107,7 @@
data[kScaleZ] = 1.0f;
mSimpleMatrix = (v.getType() <= (SkMatrix::kScale_Mask | SkMatrix::kTranslate_Mask));
+ mIsIdentity = v.isIdentity();
}
void Matrix4::copyTo(SkMatrix& v) const {
@@ -148,6 +157,7 @@
v.data[kSkewX] * v.data[kSkewY]) * scale;
mSimpleMatrix = v.mSimpleMatrix;
+ mIsIdentity = v.mIsIdentity;
}
void Matrix4::copyTo(float* v) const {
@@ -166,20 +176,27 @@
for (int i = 0; i < 16; i++) {
data[i] *= v;
}
+ mIsIdentity = false;
}
void Matrix4::loadTranslate(float x, float y, float z) {
loadIdentity();
+
data[kTranslateX] = x;
data[kTranslateY] = y;
data[kTranslateZ] = z;
+
+ mIsIdentity = false;
}
void Matrix4::loadScale(float sx, float sy, float sz) {
loadIdentity();
+
data[kScaleX] = sx;
data[kScaleY] = sy;
data[kScaleZ] = sz;
+
+ mIsIdentity = false;
}
void Matrix4::loadSkew(float sx, float sy) {
@@ -198,6 +215,7 @@
data[kPerspective2] = 1.0f;
mSimpleMatrix = false;
+ mIsIdentity = false;
}
void Matrix4::loadRotate(float angle, float x, float y, float z) {
@@ -238,6 +256,7 @@
data[kScaleZ] = z * z * nc + c;
mSimpleMatrix = false;
+ mIsIdentity = false;
}
void Matrix4::loadMultiply(const Matrix4& u, const Matrix4& v) {
@@ -262,16 +281,20 @@
}
mSimpleMatrix = u.mSimpleMatrix && v.mSimpleMatrix;
+ mIsIdentity = false;
}
void Matrix4::loadOrtho(float left, float right, float bottom, float top, float near, float far) {
loadIdentity();
+
data[kScaleX] = 2.0f / (right - left);
data[kScaleY] = 2.0f / (top - bottom);
data[kScaleZ] = -2.0f / (far - near);
data[kTranslateX] = -(right + left) / (right - left);
data[kTranslateY] = -(top + bottom) / (top - bottom);
data[kTranslateZ] = -(far + near) / (far - near);
+
+ mIsIdentity = false;
}
#define MUL_ADD_STORE(a, b, c) a = (a) * (b) + (c)
diff --git a/libs/hwui/Matrix.h b/libs/hwui/Matrix.h
index 2fa6ab7..56fd37d 100644
--- a/libs/hwui/Matrix.h
+++ b/libs/hwui/Matrix.h
@@ -112,6 +112,7 @@
bool isPureTranslate();
bool isSimple();
+ bool isIdentity();
bool changesBounds();
@@ -128,6 +129,7 @@
private:
bool mSimpleMatrix;
+ bool mIsIdentity;
inline float get(int i, int j) const {
return data[i * 4 + j];
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index 4864cff..a0f806a 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -627,6 +627,12 @@
void OpenGLRenderer::drawTextureLayer(Layer* layer, const Rect& rect) {
float alpha = layer->getAlpha() / 255.0f;
+ mat4& transform = layer->getTransform();
+ if (!transform.isIdentity()) {
+ save(0);
+ mSnapshot->transform->multiply(transform);
+ }
+
setupDraw();
if (layer->getRenderTarget() == GL_TEXTURE_2D) {
setupDrawWithTexture();
@@ -663,6 +669,10 @@
glDrawArrays(GL_TRIANGLE_STRIP, 0, gMeshCount);
finishDrawTexture();
+
+ if (!transform.isIdentity()) {
+ restore();
+ }
}
void OpenGLRenderer::composeLayerRect(Layer* layer, const Rect& rect, bool swap) {
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
index b06f20d..7fb141a 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
@@ -340,6 +340,11 @@
}
finishFlushIfPossible();
+ } else if (what == ACodec::kWhatError) {
+ LOGE("Received error from %s decoder, aborting playback.",
+ audio ? "audio" : "video");
+
+ mRenderer->queueEOS(audio, UNKNOWN_ERROR);
} else {
CHECK_EQ((int)what, (int)ACodec::kWhatDrainThisBuffer);
@@ -358,13 +363,24 @@
int32_t audio;
CHECK(msg->findInt32("audio", &audio));
+ int32_t finalResult;
+ CHECK(msg->findInt32("finalResult", &finalResult));
+
if (audio) {
mAudioEOS = true;
} else {
mVideoEOS = true;
}
- LOGV("reached %s EOS", audio ? "audio" : "video");
+ if (finalResult == ERROR_END_OF_STREAM) {
+ LOGV("reached %s EOS", audio ? "audio" : "video");
+ } else {
+ LOGE("%s track encountered an error (0x%08x)",
+ audio ? "audio" : "video", finalResult);
+
+ notifyListener(
+ MEDIA_ERROR, MEDIA_ERROR_UNKNOWN, finalResult);
+ }
if ((mAudioEOS || mAudioDecoder == NULL)
&& (mVideoEOS || mVideoDecoder == NULL)) {
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
index 828e008..35ed43f 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
@@ -200,6 +200,22 @@
void NuPlayer::Renderer::onDrainAudioQueue() {
for (;;) {
+ if (mAudioQueue.empty()) {
+ break;
+ }
+
+ QueueEntry *entry = &*mAudioQueue.begin();
+
+ if (entry->mBuffer == NULL) {
+ // EOS
+
+ notifyEOS(true /* audio */, entry->mFinalResult);
+
+ mAudioQueue.erase(mAudioQueue.begin());
+ entry = NULL;
+ return;
+ }
+
uint32_t numFramesPlayed;
CHECK_EQ(mAudioSink->getPosition(&numFramesPlayed), (status_t)OK);
@@ -213,22 +229,6 @@
break;
}
- if (mAudioQueue.empty()) {
- break;
- }
-
- QueueEntry *entry = &*mAudioQueue.begin();
-
- if (entry->mBuffer == NULL) {
- // EOS
-
- notifyEOS(true /* audio */);
-
- mAudioQueue.erase(mAudioQueue.begin());
- entry = NULL;
- return;
- }
-
if (entry->mOffset == 0) {
int64_t mediaTimeUs;
CHECK(entry->mBuffer->meta()->findInt64("timeUs", &mediaTimeUs));
@@ -330,7 +330,7 @@
if (entry->mBuffer == NULL) {
// EOS
- notifyEOS(false /* audio */);
+ notifyEOS(false /* audio */, entry->mFinalResult);
mVideoQueue.erase(mVideoQueue.begin());
entry = NULL;
@@ -352,10 +352,11 @@
notifyPosition();
}
-void NuPlayer::Renderer::notifyEOS(bool audio) {
+void NuPlayer::Renderer::notifyEOS(bool audio, status_t finalResult) {
sp<AMessage> notify = mNotify->dup();
notify->setInt32("what", kWhatEOS);
notify->setInt32("audio", static_cast<int32_t>(audio));
+ notify->setInt32("finalResult", finalResult);
notify->post();
}
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h
index 703e971..2713031 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h
@@ -111,7 +111,7 @@
void onPause();
void onResume();
- void notifyEOS(bool audio);
+ void notifyEOS(bool audio, status_t finalResult);
void notifyFlushComplete(bool audio);
void notifyPosition();
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp
index 174ec92..5d91f6a 100644
--- a/media/libstagefright/ACodec.cpp
+++ b/media/libstagefright/ACodec.cpp
@@ -285,21 +285,6 @@
////////////////////////////////////////////////////////////////////////////////
-struct ACodec::ErrorState : public ACodec::BaseState {
- ErrorState(ACodec *codec);
-
-protected:
- virtual bool onMessageReceived(const sp<AMessage> &msg);
- virtual void stateEntered();
-
- virtual bool onOMXEvent(OMX_EVENTTYPE event, OMX_U32 data1, OMX_U32 data2);
-
-private:
- DISALLOW_EVIL_CONSTRUCTORS(ErrorState);
-};
-
-////////////////////////////////////////////////////////////////////////////////
-
struct ACodec::FlushingState : public ACodec::BaseState {
FlushingState(ACodec *codec);
@@ -335,7 +320,6 @@
mExecutingToIdleState = new ExecutingToIdleState(this);
mIdleToLoadedState = new IdleToLoadedState(this);
- mErrorState = new ErrorState(this);
mFlushingState = new FlushingState(this);
mPortEOS[kPortIndexInput] = mPortEOS[kPortIndexOutput] = false;
@@ -594,7 +578,10 @@
ACodec::BufferInfo *ACodec::dequeueBufferFromNativeWindow() {
ANativeWindowBuffer *buf;
- CHECK_EQ(mNativeWindow->dequeueBuffer(mNativeWindow.get(), &buf), 0);
+ if (mNativeWindow->dequeueBuffer(mNativeWindow.get(), &buf) != 0) {
+ LOGE("dequeueBuffer failed.");
+ return NULL;
+ }
for (size_t i = mBuffers[kPortIndexOutput].size(); i-- > 0;) {
BufferInfo *info =
@@ -1263,10 +1250,12 @@
return false;
}
- LOGE("[%s] ERROR(0x%08lx, 0x%08lx)",
- mCodec->mComponentName.c_str(), data1, data2);
+ LOGE("[%s] ERROR(0x%08lx)", mCodec->mComponentName.c_str(), data1);
- mCodec->changeState(mCodec->mErrorState);
+ sp<AMessage> notify = mCodec->mNotify->dup();
+ notify->setInt32("what", ACodec::kWhatError);
+ notify->setInt32("omx-error", data1);
+ notify->post();
return true;
}
@@ -1595,13 +1584,15 @@
info = mCodec->dequeueBufferFromNativeWindow();
}
- LOGV("[%s] calling fillBuffer %p",
- mCodec->mComponentName.c_str(), info->mBufferID);
+ if (info != NULL) {
+ LOGV("[%s] calling fillBuffer %p",
+ mCodec->mComponentName.c_str(), info->mBufferID);
- CHECK_EQ(mCodec->mOMX->fillBuffer(mCodec->mNode, info->mBufferID),
- (status_t)OK);
+ CHECK_EQ(mCodec->mOMX->fillBuffer(mCodec->mNode, info->mBufferID),
+ (status_t)OK);
- info->mStatus = BufferInfo::OWNED_BY_COMPONENT;
+ info->mStatus = BufferInfo::OWNED_BY_COMPONENT;
+ }
}
break;
}
@@ -1642,6 +1633,7 @@
notify->post();
handled = true;
+ break;
}
case ACodec::kWhatFlush:
@@ -1651,6 +1643,7 @@
notify->post();
handled = true;
+ break;
}
default:
@@ -1696,7 +1689,16 @@
node = NULL;
}
- CHECK(node != NULL);
+ if (node == NULL) {
+ LOGE("Unable to instantiate a decoder for type '%s'.", mime.c_str());
+
+ sp<AMessage> notify = mCodec->mNotify->dup();
+ notify->setInt32("what", ACodec::kWhatError);
+ notify->setInt32("omx-error", OMX_ErrorComponentNotFound);
+ notify->post();
+
+ return;
+ }
sp<AMessage> notify = new AMessage(kWhatOMXMessage, mCodec->id());
observer->setNotificationMessage(notify);
@@ -2236,26 +2238,6 @@
////////////////////////////////////////////////////////////////////////////////
-ACodec::ErrorState::ErrorState(ACodec *codec)
- : BaseState(codec) {
-}
-
-bool ACodec::ErrorState::onMessageReceived(const sp<AMessage> &msg) {
- return BaseState::onMessageReceived(msg);
-}
-
-void ACodec::ErrorState::stateEntered() {
- LOGV("[%s] Now in ErrorState", mCodec->mComponentName.c_str());
-}
-
-bool ACodec::ErrorState::onOMXEvent(
- OMX_EVENTTYPE event, OMX_U32 data1, OMX_U32 data2) {
- LOGV("EVENT(%d, 0x%08lx, 0x%08lx)", event, data1, data2);
- return true;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
ACodec::FlushingState::FlushingState(ACodec *codec)
: BaseState(codec) {
}
diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp
index 0ea880b..99242ab 100644
--- a/media/libstagefright/AwesomePlayer.cpp
+++ b/media/libstagefright/AwesomePlayer.cpp
@@ -574,6 +574,8 @@
mStats.mTracks.clear();
}
+ mWatchForAudioSeekComplete = false;
+ mWatchForAudioEOS = false;
}
void AwesomePlayer::notifyListener_l(int msg, int ext1, int ext2) {
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaRecorderStressTestRunner.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaRecorderStressTestRunner.java
index 369a067..e5ecd5c 100755
--- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaRecorderStressTestRunner.java
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaRecorderStressTestRunner.java
@@ -16,8 +16,7 @@
package com.android.mediaframeworktest;
-import android.media.EncoderCapabilities.AudioEncoderCap;
-import android.media.EncoderCapabilities.VideoEncoderCap;
+import android.media.CamcorderProfile;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.test.InstrumentationTestRunner;
@@ -29,20 +28,21 @@
public class MediaRecorderStressTestRunner extends InstrumentationTestRunner {
- public static List<VideoEncoderCap> videoEncoders = MediaProfileReader.getVideoEncoders();
- public static List<AudioEncoderCap> audioEncoders = MediaProfileReader.getAudioEncoders();
-
- //Get the first capability as the default
- public static VideoEncoderCap videoEncoder = videoEncoders.get(0);
- public static AudioEncoderCap audioEncoder = audioEncoders.get(0);
+ // MediaRecorder stress test sets one of the cameras as the video source. As
+ // a result, we should make sure that the encoding parameters as input to
+ // the test must be supported by the corresponding camera.
+ public static int mCameraId = 0;
+ public static int mProfileQuality = CamcorderProfile.QUALITY_HIGH;
+ public static CamcorderProfile profile =
+ CamcorderProfile.get(mCameraId, mProfileQuality);
public static int mIterations = 100;
- public static int mVideoEncoder = videoEncoder.mCodec;
- public static int mAudioEncdoer = audioEncoder.mCodec;
- public static int mFrameRate = videoEncoder.mMaxFrameRate;
- public static int mVideoWidth = videoEncoder.mMaxFrameWidth;
- public static int mVideoHeight = videoEncoder.mMaxFrameHeight;
- public static int mBitRate = audioEncoder.mMaxBitRate;
+ public static int mVideoEncoder = profile.videoCodec;
+ public static int mAudioEncdoer = profile.audioCodec;
+ public static int mFrameRate = profile.videoFrameRate;
+ public static int mVideoWidth = profile.videoFrameWidth;
+ public static int mVideoHeight = profile.videoFrameHeight;
+ public static int mBitRate = profile.videoBitRate;
public static boolean mRemoveVideo = true;
public static int mDuration = 10000;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index 71cbc61..2e14bef 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -468,7 +468,7 @@
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_SPLIT_TOUCH
| WindowManager.LayoutParams.FLAG_SLIPPERY,
- PixelFormat.TRANSLUCENT);
+ PixelFormat.OPAQUE);
lp.setTitle("NavigationBar");
switch (rotation) {
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindow.java b/policy/src/com/android/internal/policy/impl/PhoneWindow.java
index 3dcc297..0ee6488 100644
--- a/policy/src/com/android/internal/policy/impl/PhoneWindow.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindow.java
@@ -235,6 +235,11 @@
}
@Override
+ public void setUiOptions(int uiOptions, int mask) {
+ mUiOptions = (mUiOptions & ~mask) | (uiOptions & mask);
+ }
+
+ @Override
public void setContentView(int layoutResID) {
if (mContentParent == null) {
installDecor();
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
index f88b311..b60a038 100755
--- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
@@ -2850,7 +2850,7 @@
// or orientation sensor disabled
//or case.unspecified
if (mHdmiPlugged) {
- return Surface.ROTATION_0;
+ return mLandscapeRotation;
} else if (mLidOpen == LID_OPEN) {
return mLidOpenRotation;
} else if (mDockMode == Intent.EXTRA_DOCK_STATE_CAR && mCarDockRotation >= 0) {
diff --git a/services/input/InputDispatcher.cpp b/services/input/InputDispatcher.cpp
index cbdfe8c..3cd3ac3 100644
--- a/services/input/InputDispatcher.cpp
+++ b/services/input/InputDispatcher.cpp
@@ -3196,10 +3196,12 @@
LOGD("Focus left window: %s",
mFocusedWindowHandle->name.string());
#endif
- CancelationOptions options(CancelationOptions::CANCEL_NON_POINTER_EVENTS,
- "focus left window");
- synthesizeCancelationEventsForInputChannelLocked(
- mFocusedWindowHandle->inputChannel, options);
+ if (mFocusedWindowHandle->inputChannel != NULL) {
+ CancelationOptions options(CancelationOptions::CANCEL_NON_POINTER_EVENTS,
+ "focus left window");
+ synthesizeCancelationEventsForInputChannelLocked(
+ mFocusedWindowHandle->inputChannel, options);
+ }
}
if (newFocusedWindowHandle != NULL) {
#if DEBUG_FOCUS
@@ -3216,10 +3218,12 @@
#if DEBUG_FOCUS
LOGD("Touched window was removed: %s", touchedWindow.windowHandle->name.string());
#endif
- CancelationOptions options(CancelationOptions::CANCEL_POINTER_EVENTS,
- "touched window was removed");
- synthesizeCancelationEventsForInputChannelLocked(
- touchedWindow.windowHandle->inputChannel, options);
+ if (touchedWindow.windowHandle->inputChannel != NULL) {
+ CancelationOptions options(CancelationOptions::CANCEL_POINTER_EVENTS,
+ "touched window was removed");
+ synthesizeCancelationEventsForInputChannelLocked(
+ touchedWindow.windowHandle->inputChannel, options);
+ }
mTouchState.windows.removeAt(i--);
}
}
diff --git a/services/java/com/android/server/BackupManagerService.java b/services/java/com/android/server/BackupManagerService.java
index 1c06636..b3309e5 100644
--- a/services/java/com/android/server/BackupManagerService.java
+++ b/services/java/com/android/server/BackupManagerService.java
@@ -3312,6 +3312,8 @@
}
} catch (NumberFormatException e) {
Slog.w(TAG, "Corrupt restore manifest for package " + info.packageName);
+ } catch (IllegalArgumentException e) {
+ Slog.w(TAG, e.getMessage());
}
return policy;
diff --git a/services/java/com/android/server/BatteryService.java b/services/java/com/android/server/BatteryService.java
index 1aff9a2..ab9ae69 100644
--- a/services/java/com/android/server/BatteryService.java
+++ b/services/java/com/android/server/BatteryService.java
@@ -498,7 +498,7 @@
return;
}
- if (args == null || args.length == 0) {
+ if (args == null || args.length == 0 || "-a".equals(args[0])) {
synchronized (this) {
pw.println("Current Battery Service state:");
pw.println(" AC powered: " + mAcOnline);
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index acfc7a4..22ce484 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -468,14 +468,10 @@
for (int netType : mPriorityList) {
switch (mNetConfigs[netType].radio) {
case ConnectivityManager.TYPE_WIFI:
- if (DBG) log("Starting Wifi Service.");
- WifiStateTracker wst = new WifiStateTracker();
- WifiService wifiService = new WifiService(context);
- ServiceManager.addService(Context.WIFI_SERVICE, wifiService);
- wifiService.checkAndStartWifi();
- mNetTrackers[ConnectivityManager.TYPE_WIFI] = wst;
- wst.startMonitoring(context, mHandler);
- break;
+ mNetTrackers[netType] = new WifiStateTracker(netType,
+ mNetConfigs[netType].name);
+ mNetTrackers[netType].startMonitoring(context, mHandler);
+ break;
case ConnectivityManager.TYPE_MOBILE:
mNetTrackers[netType] = new MobileDataStateTracker(netType,
mNetConfigs[netType].name);
@@ -882,15 +878,8 @@
FeatureUser f = new FeatureUser(networkType, feature, binder);
- // TODO - move this into the MobileDataStateTracker
- int usedNetworkType = networkType;
- if(networkType == ConnectivityManager.TYPE_MOBILE) {
- usedNetworkType = convertFeatureToNetworkType(feature);
- if (usedNetworkType < 0) {
- loge("Can't match any netTracker!");
- usedNetworkType = networkType;
- }
- }
+ // TODO - move this into individual networktrackers
+ int usedNetworkType = convertFeatureToNetworkType(networkType, feature);
if (mProtectedNetworks.contains(usedNetworkType)) {
enforceConnectivityInternalPermission();
@@ -900,7 +889,6 @@
if (network != null) {
Integer currentPid = new Integer(getCallingPid());
if (usedNetworkType != networkType) {
- NetworkStateTracker radio = mNetTrackers[networkType];
NetworkInfo ni = network.getNetworkInfo();
if (ni.isAvailable() == false) {
@@ -1046,14 +1034,9 @@
}
}
- // TODO - move to MobileDataStateTracker
- int usedNetworkType = networkType;
- if (networkType == ConnectivityManager.TYPE_MOBILE) {
- usedNetworkType = convertFeatureToNetworkType(feature);
- if (usedNetworkType < 0) {
- usedNetworkType = networkType;
- }
- }
+ // TODO - move to individual network trackers
+ int usedNetworkType = convertFeatureToNetworkType(networkType, feature);
+
tracker = mNetTrackers[usedNetworkType];
if (tracker == null) {
if (DBG) log("ignoring - no known tracker for net type " + usedNetworkType);
@@ -1778,15 +1761,32 @@
}
}
mCurrentLinkProperties[netType] = newLp;
- updateRoutes(newLp, curLp, mNetConfigs[netType].isDefault());
+ boolean resetDns = updateRoutes(newLp, curLp, mNetConfigs[netType].isDefault());
- if (doReset || resetMask != 0) {
+ if (resetMask != 0 || resetDns) {
LinkProperties linkProperties = mNetTrackers[netType].getLinkProperties();
if (linkProperties != null) {
String iface = linkProperties.getInterfaceName();
if (TextUtils.isEmpty(iface) == false) {
- if (DBG) log("resetConnections(" + iface + ", " + resetMask + ")");
- NetworkUtils.resetConnections(iface, resetMask);
+ if (resetMask != 0) {
+ if (DBG) log("resetConnections(" + iface + ", " + resetMask + ")");
+ NetworkUtils.resetConnections(iface, resetMask);
+
+ // Tell VPN the interface is down. It is a temporary
+ // but effective fix to make VPN aware of the change.
+ if ((resetMask & NetworkUtils.RESET_IPV4_ADDRESSES) != 0) {
+ mVpn.interfaceStatusChanged(iface, false);
+ }
+ }
+ if (resetDns) {
+ if (DBG) log("resetting DNS cache for " + iface);
+ try {
+ mNetd.flushInterfaceDnsCache(iface);
+ } catch (Exception e) {
+ // never crash - catch them all
+ loge("Exception resetting dns cache: " + e);
+ }
+ }
}
}
}
@@ -1808,8 +1808,10 @@
* is a noop.
* Uses isLinkDefault to determine if default routes should be set or conversely if
* host routes should be set to the dns servers
+ * returns a boolean indicating the routes changed
*/
- private void updateRoutes(LinkProperties newLp, LinkProperties curLp, boolean isLinkDefault) {
+ private boolean updateRoutes(LinkProperties newLp, LinkProperties curLp,
+ boolean isLinkDefault) {
Collection<RouteInfo> routesToAdd = null;
CompareResult<InetAddress> dnsDiff = new CompareResult<InetAddress>();
CompareResult<RouteInfo> routeDiff = new CompareResult<RouteInfo>();
@@ -1822,6 +1824,8 @@
dnsDiff.added = newLp.getDnses();
}
+ boolean routesChanged = (routeDiff.removed.size() != 0 || routeDiff.added.size() != 0);
+
for (RouteInfo r : routeDiff.removed) {
if (isLinkDefault || ! r.isDefaultRoute()) {
removeRoute(curLp, r);
@@ -1849,15 +1853,7 @@
if (!isLinkDefault) {
// handle DNS routes
- if (routeDiff.removed.size() == 0 && routeDiff.added.size() == 0) {
- // no change in routes, check for change in dns themselves
- for (InetAddress oldDns : dnsDiff.removed) {
- removeRouteToAddress(curLp, oldDns);
- }
- for (InetAddress newDns : dnsDiff.added) {
- addRouteToAddress(newLp, newDns);
- }
- } else {
+ if (routesChanged) {
// routes changed - remove all old dns entries and add new
if (curLp != null) {
for (InetAddress oldDns : curLp.getDnses()) {
@@ -1869,8 +1865,17 @@
addRouteToAddress(newLp, newDns);
}
}
+ } else {
+ // no change in routes, check for change in dns themselves
+ for (InetAddress oldDns : dnsDiff.removed) {
+ removeRouteToAddress(curLp, oldDns);
+ }
+ for (InetAddress newDns : dnsDiff.added) {
+ addRouteToAddress(newLp, newDns);
+ }
}
}
+ return routesChanged;
}
@@ -2650,25 +2655,38 @@
Slog.e(TAG, s);
}
- int convertFeatureToNetworkType(String feature){
- int networkType = -1;
- if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_MMS)) {
- networkType = ConnectivityManager.TYPE_MOBILE_MMS;
- } else if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_SUPL)) {
- networkType = ConnectivityManager.TYPE_MOBILE_SUPL;
- } else if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_DUN) ||
- TextUtils.equals(feature, Phone.FEATURE_ENABLE_DUN_ALWAYS)) {
- networkType = ConnectivityManager.TYPE_MOBILE_DUN;
- } else if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_HIPRI)) {
- networkType = ConnectivityManager.TYPE_MOBILE_HIPRI;
- } else if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_FOTA)) {
- networkType = ConnectivityManager.TYPE_MOBILE_FOTA;
- } else if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_IMS)) {
- networkType = ConnectivityManager.TYPE_MOBILE_IMS;
- } else if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_CBS)) {
- networkType = ConnectivityManager.TYPE_MOBILE_CBS;
+ int convertFeatureToNetworkType(int networkType, String feature) {
+ int usedNetworkType = networkType;
+
+ if(networkType == ConnectivityManager.TYPE_MOBILE) {
+ if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_MMS)) {
+ usedNetworkType = ConnectivityManager.TYPE_MOBILE_MMS;
+ } else if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_SUPL)) {
+ usedNetworkType = ConnectivityManager.TYPE_MOBILE_SUPL;
+ } else if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_DUN) ||
+ TextUtils.equals(feature, Phone.FEATURE_ENABLE_DUN_ALWAYS)) {
+ usedNetworkType = ConnectivityManager.TYPE_MOBILE_DUN;
+ } else if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_HIPRI)) {
+ usedNetworkType = ConnectivityManager.TYPE_MOBILE_HIPRI;
+ } else if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_FOTA)) {
+ usedNetworkType = ConnectivityManager.TYPE_MOBILE_FOTA;
+ } else if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_IMS)) {
+ usedNetworkType = ConnectivityManager.TYPE_MOBILE_IMS;
+ } else if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_CBS)) {
+ usedNetworkType = ConnectivityManager.TYPE_MOBILE_CBS;
+ } else {
+ Slog.e(TAG, "Can't match any mobile netTracker!");
+ }
+ } else if (networkType == ConnectivityManager.TYPE_WIFI) {
+ if (TextUtils.equals(feature, "p2p")) {
+ usedNetworkType = ConnectivityManager.TYPE_WIFI_P2P;
+ } else {
+ Slog.e(TAG, "Can't match any wifi netTracker!");
+ }
+ } else {
+ Slog.e(TAG, "Unexpected network type");
}
- return networkType;
+ return usedNetworkType;
}
private static <T> T checkNotNull(T value, String message) {
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 77d0457..5dd3c5b 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -110,6 +110,7 @@
NetworkPolicyManagerService networkPolicy = null;
ConnectivityService connectivity = null;
WifiP2pService wifiP2p = null;
+ WifiService wifi = null;
IPackageManager pm = null;
Context context = null;
WindowManagerService wm = null;
@@ -309,6 +310,15 @@
Slog.e(TAG, "Failure starting Wi-Fi P2pService", e);
}
+ try {
+ Slog.i(TAG, "Wi-Fi Service");
+ wifi = new WifiService(context);
+ ServiceManager.addService(Context.WIFI_SERVICE, wifi);
+ wifi.checkAndStartWifi();
+ } catch (Throwable e) {
+ Slog.e(TAG, "Failure starting Wi-Fi Service", e);
+ }
+
try {
Slog.i(TAG, "Connectivity Service");
connectivity = new ConnectivityService(context, networkManagement, networkPolicy);
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index 33a4e51..e9c91e6 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -10732,8 +10732,10 @@
if (DEBUG_SERVICE) Slog.v(TAG, "unbindFinished in " + r
+ " at " + b + ": apps="
+ (b != null ? b.apps.size() : 0));
+
+ boolean inStopping = mStoppingServices.contains(r);
if (b != null) {
- if (b.apps.size() > 0) {
+ if (b.apps.size() > 0 && !inStopping) {
// Applications have already bound since the last
// unbind, so just rebind right here.
requestServiceBindingLocked(r, b, true);
@@ -10744,7 +10746,7 @@
}
}
- serviceDoneExecutingLocked(r, mStoppingServices.contains(r));
+ serviceDoneExecutingLocked(r, inStopping);
Binder.restoreCallingIdentity(origId);
}
diff --git a/services/java/com/android/server/am/BatteryStatsService.java b/services/java/com/android/server/am/BatteryStatsService.java
index 293702d..226723f 100644
--- a/services/java/com/android/server/am/BatteryStatsService.java
+++ b/services/java/com/android/server/am/BatteryStatsService.java
@@ -478,6 +478,8 @@
} else if ("-h".equals(arg)) {
dumpHelp(pw);
return;
+ } else if ("-a".equals(arg)) {
+ // fall through
} else {
pw.println("Unknown option: " + arg);
dumpHelp(pw);
diff --git a/services/java/com/android/server/connectivity/Vpn.java b/services/java/com/android/server/connectivity/Vpn.java
index d9da92c..6b65e07 100644
--- a/services/java/com/android/server/connectivity/Vpn.java
+++ b/services/java/com/android/server/connectivity/Vpn.java
@@ -265,7 +265,6 @@
// INetworkManagementEventObserver.Stub
@Override
public void interfaceLinkStateChanged(String interfaze, boolean up) {
- interfaceStatusChanged(interfaze, up);
}
// INetworkManagementEventObserver.Stub
@@ -280,6 +279,9 @@
if (mConnection != null) {
mContext.unbindService(mConnection);
mConnection = null;
+ } else if (mLegacyVpnRunner != null) {
+ mLegacyVpnRunner.exit();
+ mLegacyVpnRunner = null;
}
}
}
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java
index 177cf41..abb62de 100644
--- a/services/java/com/android/server/pm/PackageManagerService.java
+++ b/services/java/com/android/server/pm/PackageManagerService.java
@@ -38,6 +38,7 @@
import android.app.IActivityManager;
import android.app.admin.IDevicePolicyManager;
import android.app.backup.IBackupManager;
+import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.IIntentReceiver;
@@ -69,6 +70,7 @@
import android.content.pm.ServiceInfo;
import android.content.pm.Signature;
import android.content.pm.UserInfo;
+import android.content.pm.ManifestDigest;
import android.net.Uri;
import android.os.Binder;
import android.os.Build;
@@ -188,6 +190,17 @@
static final int REMOVE_CHATTY = 1<<16;
+ /**
+ * Whether verification is enabled by default.
+ */
+ private static final boolean DEFAULT_VERIFY_ENABLE = true;
+
+ /**
+ * The default maximum time to wait for the verification agent to return in
+ * milliseconds.
+ */
+ private static final long DEFAULT_VERIFICATION_TIMEOUT = 60 * 1000;
+
static final String DEFAULT_CONTAINER_PACKAGE = "com.android.defcontainer";
static final ComponentName DEFAULT_CONTAINER_COMPONENT = new ComponentName(
@@ -333,6 +346,12 @@
// Broadcast actions that are only available to the system.
final HashSet<String> mProtectedBroadcasts = new HashSet<String>();
+ /** List of packages waiting for verification. */
+ final SparseArray<InstallArgs> mPendingVerification = new SparseArray<InstallArgs>();
+
+ /** Token for keys in mPendingVerification. */
+ private int mPendingVerificationToken = 0;
+
boolean mSystemReady;
boolean mSafeMode;
boolean mHasSystemUidErrors;
@@ -364,6 +383,8 @@
static final int UPDATED_MEDIA_STATUS = 12;
static final int WRITE_SETTINGS = 13;
static final int WRITE_STOPPED_PACKAGES = 14;
+ static final int PACKAGE_VERIFIED = 15;
+ static final int CHECK_PENDING_VERIFICATION = 16;
static final int WRITE_SETTINGS_DELAY = 10*1000; // 10 seconds
@@ -444,10 +465,10 @@
void doHandleMessage(Message msg) {
switch (msg.what) {
case INIT_COPY: {
- if (DEBUG_SD_INSTALL) Log.i(TAG, "init_copy");
+ if (DEBUG_INSTALL) Slog.i(TAG, "init_copy");
HandlerParams params = (HandlerParams) msg.obj;
int idx = mPendingInstalls.size();
- if (DEBUG_SD_INSTALL) Log.i(TAG, "idx=" + idx);
+ if (DEBUG_INSTALL) Slog.i(TAG, "idx=" + idx);
// If a bind was already initiated we dont really
// need to do anything. The pending install
// will be processed later on.
@@ -474,7 +495,7 @@
break;
}
case MCS_BOUND: {
- if (DEBUG_SD_INSTALL) Log.i(TAG, "mcs_bound");
+ if (DEBUG_INSTALL) Slog.i(TAG, "mcs_bound");
if (msg.obj != null) {
mContainerService = (IMediaContainerService) msg.obj;
}
@@ -525,8 +546,8 @@
}
break;
}
- case MCS_RECONNECT : {
- if (DEBUG_SD_INSTALL) Log.i(TAG, "mcs_reconnect");
+ case MCS_RECONNECT: {
+ if (DEBUG_INSTALL) Slog.i(TAG, "mcs_reconnect");
if (mPendingInstalls.size() > 0) {
if (mBound) {
disconnectService();
@@ -543,27 +564,31 @@
}
break;
}
- case MCS_UNBIND : {
+ case MCS_UNBIND: {
// If there is no actual work left, then time to unbind.
- if (DEBUG_SD_INSTALL) Log.i(TAG, "mcs_unbind");
- if (mPendingInstalls.size() == 0) {
+ if (DEBUG_INSTALL) Slog.i(TAG, "mcs_unbind");
+
+ if (mPendingInstalls.size() == 0 && mPendingVerification.size() == 0) {
if (mBound) {
+ if (DEBUG_INSTALL) Slog.i(TAG, "calling disconnectService()");
+
disconnectService();
}
- } else {
+ } else if (mPendingInstalls.size() > 0) {
// There are more pending requests in queue.
// Just post MCS_BOUND message to trigger processing
// of next pending install.
mHandler.sendEmptyMessage(MCS_BOUND);
}
+
break;
}
case MCS_GIVE_UP: {
- if (DEBUG_SD_INSTALL) Log.i(TAG, "mcs_giveup too many retries");
+ if (DEBUG_INSTALL) Slog.i(TAG, "mcs_giveup too many retries");
mPendingInstalls.remove(0);
break;
}
- case SEND_PENDING_BROADCAST : {
+ case SEND_PENDING_BROADCAST: {
String packages[];
ArrayList<String> components[];
int size = 0;
@@ -707,6 +732,52 @@
}
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
} break;
+ case CHECK_PENDING_VERIFICATION: {
+ final int verificationId = msg.arg1;
+ final InstallArgs args = mPendingVerification.get(verificationId);
+
+ if (args != null) {
+ Slog.i(TAG, "Validation timed out for " + args.packageURI.toString());
+ mPendingVerification.remove(verificationId);
+
+ int ret = PackageManager.INSTALL_FAILED_VERIFICATION_TIMEOUT;
+ processPendingInstall(args, ret);
+
+ mHandler.sendEmptyMessage(MCS_UNBIND);
+ }
+
+ break;
+ }
+ case PACKAGE_VERIFIED: {
+ final int verificationId = msg.arg1;
+ final boolean verified = msg.arg2 == 1 ? true : false;
+
+ final InstallArgs args = mPendingVerification.get(verificationId);
+ if (args == null) {
+ Slog.w(TAG, "Invalid validation token " + verificationId + " received");
+ break;
+ }
+
+ mPendingVerification.remove(verificationId);
+
+ int ret;
+ if (verified) {
+ ret = PackageManager.INSTALL_FAILED_INTERNAL_ERROR;
+ try {
+ ret = args.copyApk(mContainerService, true);
+ } catch (RemoteException e) {
+ Slog.e(TAG, "Could not contact the ContainerService");
+ }
+ } else {
+ ret = PackageManager.INSTALL_FAILED_VERIFICATION_FAILURE;
+ }
+
+ processPendingInstall(args, ret);
+
+ mHandler.sendEmptyMessage(MCS_UNBIND);
+
+ break;
+ }
}
}
}
@@ -4693,12 +4764,45 @@
public void installPackage(
final Uri packageURI, final IPackageInstallObserver observer, final int flags,
final String installerPackageName) {
- mContext.enforceCallingOrSelfPermission(
- android.Manifest.permission.INSTALL_PACKAGES, null);
+ installPackageWithVerification(packageURI, observer, flags, installerPackageName, null,
+ null);
+ }
- Message msg = mHandler.obtainMessage(INIT_COPY);
- msg.obj = new InstallParams(packageURI, observer, flags,
- installerPackageName);
+ @Override
+ public void installPackageWithVerification(Uri packageURI, IPackageInstallObserver observer,
+ int flags, String installerPackageName, Uri verificationURI,
+ ManifestDigest manifestDigest) {
+ mContext.enforceCallingOrSelfPermission(android.Manifest.permission.INSTALL_PACKAGES, null);
+
+ final int uid = Binder.getCallingUid();
+
+ final int filteredFlags;
+
+ if (uid == Process.SHELL_UID || uid == 0) {
+ if (DEBUG_INSTALL) {
+ Slog.v(TAG, "Install from ADB");
+ }
+ filteredFlags = flags | PackageManager.INSTALL_FROM_ADB;
+ } else {
+ filteredFlags = flags & ~PackageManager.INSTALL_FROM_ADB;
+ }
+
+ final Message msg = mHandler.obtainMessage(INIT_COPY);
+ msg.obj = new InstallParams(packageURI, observer, filteredFlags, installerPackageName,
+ verificationURI, manifestDigest);
+ mHandler.sendMessage(msg);
+ }
+
+ @Override
+ public void verifyPendingInstall(int id, boolean verified, String message)
+ throws RemoteException {
+ mContext.enforceCallingOrSelfPermission(
+ android.Manifest.permission.PACKAGE_VERIFICATION_AGENT, null);
+
+ final Message msg = mHandler.obtainMessage(PACKAGE_VERIFIED);
+ msg.arg1 = id;
+ msg.arg2 = verified ? 1 : 0;
+ msg.obj = message;
mHandler.sendMessage(msg);
}
@@ -4713,6 +4817,28 @@
mHandler.sendMessage(msg);
}
+ /**
+ * Get the verification agent timeout.
+ *
+ * @return verification timeout in milliseconds
+ */
+ private long getVerificationTimeout() {
+ return android.provider.Settings.Secure.getLong(mContext.getContentResolver(),
+ android.provider.Settings.Secure.PACKAGE_VERIFIER_TIMEOUT,
+ DEFAULT_VERIFICATION_TIMEOUT);
+ }
+
+ /**
+ * Check whether or not package verification has been enabled.
+ *
+ * @return true if verification should be performed
+ */
+ private boolean isVerificationEnabled() {
+ return android.provider.Settings.Secure.getInt(mContext.getContentResolver(),
+ android.provider.Settings.Secure.PACKAGE_VERIFIER_ENABLE,
+ DEFAULT_VERIFY_ENABLE ? 1 : 0) == 1 ? true : false;
+ }
+
public void setInstallerPackageName(String targetPackage, String installerPackageName) {
final int uid = Binder.getCallingUid();
// writer
@@ -4856,15 +4982,21 @@
});
}
- abstract class HandlerParams {
- final static int MAX_RETRIES = 4;
- int retry = 0;
+ private abstract class HandlerParams {
+ private static final int MAX_RETRIES = 4;
+
+ /**
+ * Number of times startCopy() has been attempted and had a non-fatal
+ * error.
+ */
+ private int mRetries = 0;
+
final boolean startCopy() {
boolean res;
try {
- if (DEBUG_SD_INSTALL) Log.i(TAG, "startCopy");
- retry++;
- if (retry > MAX_RETRIES) {
+ if (DEBUG_INSTALL) Slog.i(TAG, "startCopy");
+
+ if (++mRetries > MAX_RETRIES) {
Slog.w(TAG, "Failed to invoke remote methods on default container service. Giving up");
mHandler.sendEmptyMessage(MCS_GIVE_UP);
handleServiceError();
@@ -4874,7 +5006,7 @@
res = true;
}
} catch (RemoteException e) {
- if (DEBUG_SD_INSTALL) Log.i(TAG, "Posting install MCS_RECONNECT");
+ if (DEBUG_INSTALL) Slog.i(TAG, "Posting install MCS_RECONNECT");
mHandler.sendEmptyMessage(MCS_RECONNECT);
res = false;
}
@@ -4883,10 +5015,11 @@
}
final void serviceError() {
- if (DEBUG_SD_INSTALL) Log.i(TAG, "serviceError");
+ if (DEBUG_INSTALL) Slog.i(TAG, "serviceError");
handleServiceError();
handleReturnCode();
}
+
abstract void handleStartCopy() throws RemoteException;
abstract void handleServiceError();
abstract void handleReturnCode();
@@ -4969,15 +5102,20 @@
int flags;
final Uri packageURI;
final String installerPackageName;
+ final Uri verificationURI;
+ final ManifestDigest manifestDigest;
private InstallArgs mArgs;
private int mRet;
+
InstallParams(Uri packageURI,
IPackageInstallObserver observer, int flags,
- String installerPackageName) {
+ String installerPackageName, Uri verificationURI, ManifestDigest manifestDigest) {
this.packageURI = packageURI;
this.flags = flags;
this.observer = observer;
this.installerPackageName = installerPackageName;
+ this.verificationURI = verificationURI;
+ this.manifestDigest = manifestDigest;
}
private int installLocationPolicy(PackageInfoLite pkgLite, int flags) {
@@ -5102,13 +5240,70 @@
}
}
}
- // Create the file args now.
- mArgs = createInstallArgs(this);
+
+ final InstallArgs args = createInstallArgs(this);
if (ret == PackageManager.INSTALL_SUCCEEDED) {
- // Create copy only if we are not in an erroneous state.
- // Remote call to initiate copy using temporary file
- ret = mArgs.copyApk(mContainerService, true);
+ /*
+ * Determine if we have any installed package verifiers. If we
+ * do, then we'll defer to them to verify the packages.
+ */
+ final Intent verification = new Intent(Intent.ACTION_PACKAGE_NEEDS_VERIFICATION,
+ packageURI);
+ verification.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+
+ final List<ResolveInfo> receivers = queryIntentReceivers(verification, null,
+ PackageManager.GET_DISABLED_COMPONENTS);
+ if (isVerificationEnabled() && receivers.size() > 0) {
+ if (DEBUG_INSTALL) {
+ Slog.d(TAG, "Found " + receivers.size() + " verifiers for intent "
+ + verification.toString());
+ }
+
+ final int verificationId = mPendingVerificationToken++;
+
+ verification.putExtra(PackageManager.EXTRA_VERIFICATION_ID, verificationId);
+
+ verification.putExtra(PackageManager.EXTRA_VERIFICATION_INSTALLER_PACKAGE,
+ installerPackageName);
+
+ verification.putExtra(PackageManager.EXTRA_VERIFICATION_INSTALL_FLAGS, flags);
+
+ if (verificationURI != null) {
+ verification.putExtra(PackageManager.EXTRA_VERIFICATION_URI,
+ verificationURI);
+ }
+
+ mPendingVerification.append(verificationId, args);
+
+ /*
+ * Send the intent to the registered verification agents,
+ * but only start the verification timeout after the target
+ * BroadcastReceivers have run.
+ */
+ mContext.sendOrderedBroadcast(verification,
+ android.Manifest.permission.PACKAGE_VERIFICATION_AGENT,
+ new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ final Message msg = mHandler
+ .obtainMessage(CHECK_PENDING_VERIFICATION);
+ msg.arg1 = verificationId;
+ mHandler.sendMessageDelayed(msg, getVerificationTimeout());
+ }
+ },
+ null, 0, null, null);
+ } else {
+ // Create copy only if we are not in an erroneous state.
+ // Remote call to initiate copy using temporary file
+ mArgs = args;
+ ret = args.copyApk(mContainerService, true);
+ }
+ } else {
+ // There was an error, so let the processPendingInstall() break
+ // the bad news... uh, through a call in handleReturnCode()
+ mArgs = args;
}
+
mRet = ret;
}
@@ -5233,14 +5428,15 @@
final int flags;
final Uri packageURI;
final String installerPackageName;
+ final ManifestDigest manifestDigest;
- InstallArgs(Uri packageURI,
- IPackageInstallObserver observer, int flags,
- String installerPackageName) {
+ InstallArgs(Uri packageURI, IPackageInstallObserver observer, int flags,
+ String installerPackageName, ManifestDigest manifestDigest) {
this.packageURI = packageURI;
this.flags = flags;
this.observer = observer;
this.installerPackageName = installerPackageName;
+ this.manifestDigest = manifestDigest;
}
abstract void createCopyFile();
@@ -5265,12 +5461,12 @@
boolean created = false;
FileInstallArgs(InstallParams params) {
- super(params.packageURI, params.observer,
- params.flags, params.installerPackageName);
+ super(params.packageURI, params.observer, params.flags, params.installerPackageName,
+ params.manifestDigest);
}
FileInstallArgs(String fullCodePath, String fullResourcePath, String nativeLibraryPath) {
- super(null, null, 0, null);
+ super(null, null, 0, null, null);
File codeFile = new File(fullCodePath);
installDir = codeFile.getParentFile();
codeFileName = fullCodePath;
@@ -5279,7 +5475,7 @@
}
FileInstallArgs(Uri packageURI, String pkgName, String dataDir) {
- super(packageURI, null, 0, null);
+ super(packageURI, null, 0, null, null);
installDir = isFwdLocked() ? mDrmAppPrivateInstallDir : mAppInstallDir;
String apkName = getNextCodePath(null, pkgName, ".apk");
codeFileName = new File(installDir, apkName + ".apk").getPath();
@@ -5509,12 +5705,12 @@
String libraryPath;
SdInstallArgs(InstallParams params) {
- super(params.packageURI, params.observer,
- params.flags, params.installerPackageName);
+ super(params.packageURI, params.observer, params.flags, params.installerPackageName,
+ params.manifestDigest);
}
SdInstallArgs(String fullCodePath, String fullResourcePath, String nativeLibraryPath) {
- super(null, null, PackageManager.INSTALL_EXTERNAL, null);
+ super(null, null, PackageManager.INSTALL_EXTERNAL, null, null);
// Extract cid from fullCodePath
int eidx = fullCodePath.lastIndexOf("/");
String subStr1 = fullCodePath.substring(0, eidx);
@@ -5524,13 +5720,13 @@
}
SdInstallArgs(String cid) {
- super(null, null, PackageManager.INSTALL_EXTERNAL, null);
+ super(null, null, PackageManager.INSTALL_EXTERNAL, null, null);
this.cid = cid;
setCachePath(PackageHelper.getSdDir(cid));
}
SdInstallArgs(Uri packageURI, String cid) {
- super(packageURI, null, PackageManager.INSTALL_EXTERNAL, null);
+ super(packageURI, null, PackageManager.INSTALL_EXTERNAL, null, null);
this.cid = cid;
}
@@ -6152,6 +6348,26 @@
res.returnCode = pp.getParseError();
return;
}
+
+ /* If the installer passed in a manifest digest, compare it now. */
+ if (args.manifestDigest != null) {
+ if (DEBUG_INSTALL) {
+ final String parsedManifest = pkg.manifestDigest == null ? "null"
+ : pkg.manifestDigest.toString();
+ Slog.d(TAG, "Comparing manifests: " + args.manifestDigest.toString() + " vs. "
+ + parsedManifest);
+ }
+
+ if (!args.manifestDigest.equals(pkg.manifestDigest)) {
+ res.returnCode = PackageManager.INSTALL_FAILED_PACKAGE_CHANGED;
+ return;
+ }
+ } else if (DEBUG_INSTALL) {
+ final String parsedManifest = pkg.manifestDigest == null
+ ? "null" : pkg.manifestDigest.toString();
+ Slog.d(TAG, "manifestDigest was not present, but parser got: " + parsedManifest);
+ }
+
// Get rid of all references to package scan path via parser.
pp = null;
String oldCodePath = null;
diff --git a/services/java/com/android/server/pm/PackageSignatures.java b/services/java/com/android/server/pm/PackageSignatures.java
index a25ec6c..9a20be7 100644
--- a/services/java/com/android/server/pm/PackageSignatures.java
+++ b/services/java/com/android/server/pm/PackageSignatures.java
@@ -138,6 +138,12 @@
"Error in package manager settings: <cert> "
+ "index " + index + " is not a number at "
+ parser.getPositionDescription());
+ } catch (IllegalArgumentException e) {
+ PackageManagerService.reportSettingsProblem(Log.WARN,
+ "Error in package manager settings: <cert> "
+ + "index " + index + " has an invalid signature at "
+ + parser.getPositionDescription() + ": "
+ + e.getMessage());
}
} else {
PackageManagerService.reportSettingsProblem(Log.WARN,
diff --git a/services/java/com/android/server/usb/UsbDeviceManager.java b/services/java/com/android/server/usb/UsbDeviceManager.java
index 91c5e33..a01c975 100644
--- a/services/java/com/android/server/usb/UsbDeviceManager.java
+++ b/services/java/com/android/server/usb/UsbDeviceManager.java
@@ -253,13 +253,6 @@
}
};
- private static final int NOTIFICATION_NONE = 0;
- private static final int NOTIFICATION_MTP = 1;
- private static final int NOTIFICATION_PTP = 2;
- private static final int NOTIFICATION_INSTALLER = 3;
- private static final int NOTIFICATION_ACCESSORY = 4;
- private static final int NOTIFICATION_ADB = 5;
-
public UsbHandler(Looper looper) {
super(looper);
try {
@@ -536,27 +529,18 @@
private void updateUsbNotification() {
if (mNotificationManager == null || !mUseUsbNotification) return;
- int id = NOTIFICATION_NONE;
+ int id = 0;
Resources r = mContext.getResources();
- CharSequence title = null;
if (mConnected) {
if (containsFunction(mCurrentFunctions, UsbManager.USB_FUNCTION_MTP)) {
- title = r.getText(
- com.android.internal.R.string.usb_mtp_notification_title);
- id = NOTIFICATION_MTP;
+ id = com.android.internal.R.string.usb_mtp_notification_title;
} else if (containsFunction(mCurrentFunctions, UsbManager.USB_FUNCTION_PTP)) {
- title = r.getText(
- com.android.internal.R.string.usb_ptp_notification_title);
- id = NOTIFICATION_PTP;
+ id = com.android.internal.R.string.usb_ptp_notification_title;
} else if (containsFunction(mCurrentFunctions,
UsbManager.USB_FUNCTION_MASS_STORAGE)) {
- title = r.getText(
- com.android.internal.R.string.usb_cd_installer_notification_title);
- id = NOTIFICATION_INSTALLER;
+ id = com.android.internal.R.string.usb_cd_installer_notification_title;
} else if (containsFunction(mCurrentFunctions, UsbManager.USB_FUNCTION_ACCESSORY)) {
- title = r.getText(
- com.android.internal.R.string.usb_accessory_notification_title);
- id = NOTIFICATION_ACCESSORY;
+ id = com.android.internal.R.string.usb_accessory_notification_title;
} else {
// There is a different notification for USB tethering so we don't need one here
if (!containsFunction(mCurrentFunctions, UsbManager.USB_FUNCTION_RNDIS)) {
@@ -566,13 +550,14 @@
}
if (id != mUsbNotificationId) {
// clear notification if title needs changing
- if (mUsbNotificationId != NOTIFICATION_NONE) {
+ if (mUsbNotificationId != 0) {
mNotificationManager.cancel(mUsbNotificationId);
- mUsbNotificationId = NOTIFICATION_NONE;
+ mUsbNotificationId = 0;
}
- if (id != NOTIFICATION_NONE) {
+ if (id != 0) {
CharSequence message = r.getText(
com.android.internal.R.string.usb_notification_message);
+ CharSequence title = r.getText(id);
Notification notification = new Notification();
notification.icon = com.android.internal.R.drawable.stat_sys_data_usb;
@@ -600,13 +585,13 @@
private void updateAdbNotification() {
if (mNotificationManager == null) return;
+ final int id = com.android.internal.R.string.adb_active_notification_title;
if (mAdbEnabled && mConnected) {
if ("0".equals(SystemProperties.get("persist.adb.notify"))) return;
if (!mAdbNotificationShown) {
Resources r = mContext.getResources();
- CharSequence title = r.getText(
- com.android.internal.R.string.adb_active_notification_title);
+ CharSequence title = r.getText(id);
CharSequence message = r.getText(
com.android.internal.R.string.adb_active_notification_message);
@@ -629,11 +614,11 @@
intent, 0);
notification.setLatestEventInfo(mContext, title, message, pi);
mAdbNotificationShown = true;
- mNotificationManager.notify(NOTIFICATION_ADB, notification);
+ mNotificationManager.notify(id, notification);
}
} else if (mAdbNotificationShown) {
mAdbNotificationShown = false;
- mNotificationManager.cancel(NOTIFICATION_ADB);
+ mNotificationManager.cancel(id);
}
}
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java
index 5967428..8fd4f95 100644
--- a/services/java/com/android/server/wm/WindowManagerService.java
+++ b/services/java/com/android/server/wm/WindowManagerService.java
@@ -6573,8 +6573,10 @@
}
synchronized (mWindowMap) {
// !!! TODO: ANR the drag-receiving app
- mDragState.mDragResult = false;
- mDragState.endDragLw();
+ if (mDragState != null) {
+ mDragState.mDragResult = false;
+ mDragState.endDragLw();
+ }
}
break;
}
diff --git a/test-runner/src/android/test/mock/MockPackageManager.java b/test-runner/src/android/test/mock/MockPackageManager.java
index d84f1e5..501c219 100644
--- a/test-runner/src/android/test/mock/MockPackageManager.java
+++ b/test-runner/src/android/test/mock/MockPackageManager.java
@@ -37,6 +37,7 @@
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
import android.content.pm.UserInfo;
+import android.content.pm.ManifestDigest;
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
import android.graphics.drawable.Drawable;
@@ -533,4 +534,22 @@
public void updateUserFlags(int id, int flags) {
throw new UnsupportedOperationException();
}
+
+ /**
+ * @hide
+ */
+ @Override
+ public void installPackageWithVerification(Uri packageURI, IPackageInstallObserver observer,
+ int flags, String installerPackageName, Uri verificationURI,
+ ManifestDigest manifestDigest) {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * @hide
+ */
+ @Override
+ public void verifyPendingInstall(int id, boolean verified, String failureMessage) {
+ throw new UnsupportedOperationException();
+ }
}
diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/TextureViewActivity.java b/tests/HwAccelerationTest/src/com/android/test/hwui/TextureViewActivity.java
index 97e2108..fcb57d9 100644
--- a/tests/HwAccelerationTest/src/com/android/test/hwui/TextureViewActivity.java
+++ b/tests/HwAccelerationTest/src/com/android/test/hwui/TextureViewActivity.java
@@ -17,6 +17,7 @@
package com.android.test.hwui;
import android.app.Activity;
+import android.graphics.Matrix;
import android.graphics.SurfaceTexture;
import android.hardware.Camera;
import android.os.Bundle;
@@ -33,6 +34,7 @@
private Camera mCamera;
private TextureView mTextureView;
private FrameLayout mContent;
+ private Matrix mMatrix = new Matrix();
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -82,8 +84,6 @@
}
mCamera.startPreview();
-
- mTextureView.setCameraDistance(5000);
}
@Override
diff --git a/wifi/java/android/net/wifi/WifiStateTracker.java b/wifi/java/android/net/wifi/WifiStateTracker.java
index 338cb4d..c20c716 100644
--- a/wifi/java/android/net/wifi/WifiStateTracker.java
+++ b/wifi/java/android/net/wifi/WifiStateTracker.java
@@ -27,6 +27,7 @@
import android.net.NetworkInfo;
import android.net.LinkProperties;
import android.net.NetworkStateTracker;
+import android.net.wifi.p2p.WifiP2pManager;
import android.os.Handler;
import android.os.Message;
@@ -58,8 +59,8 @@
private BroadcastReceiver mWifiStateReceiver;
private WifiManager mWifiManager;
- public WifiStateTracker() {
- mNetworkInfo = new NetworkInfo(ConnectivityManager.TYPE_WIFI, 0, NETWORKTYPE, "");
+ public WifiStateTracker(int netType, String networkName) {
+ mNetworkInfo = new NetworkInfo(netType, 0, networkName, "");
mLinkProperties = new LinkProperties();
mLinkCapabilities = new LinkCapabilities();
@@ -87,6 +88,7 @@
IntentFilter filter = new IntentFilter();
filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
filter.addAction(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION);
+ filter.addAction(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION);
mWifiStateReceiver = new WifiStateReceiver();
mContext.registerReceiver(mWifiStateReceiver, filter);
@@ -104,7 +106,6 @@
/**
* Re-enable connectivity to a network after a {@link #teardown()}.
- * TODO: do away with return value after making MobileDataStateTracker async
*/
public boolean reconnect() {
mTeardownRequested.set(false);
@@ -115,7 +116,6 @@
/**
* Turn the wireless radio off for a network.
* @param turnOn {@code true} to turn the radio on, {@code false}
- * TODO: do away with return value after making MobileDataStateTracker async
*/
public boolean setRadio(boolean turnOn) {
mWifiManager.setWifiEnabled(turnOn);
@@ -205,7 +205,21 @@
private class WifiStateReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
- if (intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
+
+ if (intent.getAction().equals(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION)) {
+ mNetworkInfo = (NetworkInfo) intent.getParcelableExtra(
+ WifiP2pManager.EXTRA_NETWORK_INFO);
+ mLinkProperties = intent.getParcelableExtra(
+ WifiP2pManager.EXTRA_LINK_PROPERTIES);
+ if (mLinkProperties == null) {
+ mLinkProperties = new LinkProperties();
+ }
+ mLinkCapabilities = intent.getParcelableExtra(
+ WifiP2pManager.EXTRA_LINK_CAPABILITIES);
+ if (mLinkCapabilities == null) {
+ mLinkCapabilities = new LinkCapabilities();
+ }
+ } else if (intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
mNetworkInfo = (NetworkInfo) intent.getParcelableExtra(
WifiManager.EXTRA_NETWORK_INFO);
mLinkProperties = intent.getParcelableExtra(
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java
index ea212ac..cc1f062 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java
@@ -19,13 +19,17 @@
import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType;
import android.content.Context;
+import android.net.ConnectivityManager;
+import android.net.IConnectivityManager;
import android.os.Binder;
import android.os.IBinder;
import android.os.Handler;
import android.os.Message;
import android.os.RemoteException;
+import android.os.ServiceManager;
import android.os.WorkSource;
import android.os.Messenger;
+import android.util.Log;
import com.android.internal.util.AsyncChannel;
import com.android.internal.util.Protocol;
@@ -98,6 +102,22 @@
public static final String EXTRA_NETWORK_INFO = "networkInfo";
/**
+ * The lookup key for a {@link android.net.LinkProperties} object associated with the
+ * network. Retrieve with
+ * {@link android.content.Intent#getParcelableExtra(String)}.
+ * @hide
+ */
+ public static final String EXTRA_LINK_PROPERTIES = "linkProperties";
+
+ /**
+ * The lookup key for a {@link android.net.LinkCapabilities} object associated with the
+ * network. Retrieve with
+ * {@link android.content.Intent#getParcelableExtra(String)}.
+ * @hide
+ */
+ public static final String EXTRA_LINK_CAPABILITIES = "linkCapabilities";
+
+ /**
* Broadcast intent action indicating that the available peer list has changed
*/
@SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
@@ -115,9 +135,6 @@
IWifiP2pManager mService;
- /* For communication with WifiP2pService */
- private AsyncChannel mAsyncChannel = new AsyncChannel();
-
/* AsyncChannel notifications to apps */
public static final int HANDLER_CONNECTION = AsyncChannel.CMD_CHANNEL_HALF_CONNECTED;
public static final int HANDLER_DISCONNECTION = AsyncChannel.CMD_CHANNEL_DISCONNECTED;
@@ -194,18 +211,35 @@
}
/**
- * Registers the application handler with the Wi-Fi framework.
- * This function must be the first to be called before any p2p control
- * or query operations can be performed.
+ * A channel that connects the application handler to the Wifi framework.
+ * All p2p operations are performed on a channel.
+ */
+ public class Channel {
+ Channel(AsyncChannel c) {
+ mAsyncChannel = c;
+ }
+ AsyncChannel mAsyncChannel;
+ }
+
+ /**
+ * Registers the application handler with the Wi-Fi framework. This function
+ * must be the first to be called before any p2p control or query operations can be performed.
* @param srcContext is the context of the source
* @param srcHandler is the handler on which the source receives messages
- * @return {@code true} if the operation succeeded
+ * @return Channel instance that is necessary for performing p2p operations
*/
- public boolean connectHandler(Context srcContext, Handler srcHandler) {
+ public Channel initialize(Context srcContext, Handler srcHandler) {
Messenger messenger = getMessenger();
- if (messenger == null) return false;
- return mAsyncChannel.connectSync(srcContext, srcHandler, messenger)
- == AsyncChannel.STATUS_SUCCESSFUL;
+ if (messenger == null) return null;
+
+ AsyncChannel asyncChannel = new AsyncChannel();
+ Channel c = new Channel(asyncChannel);
+ if (asyncChannel.connectSync(srcContext, srcHandler, messenger)
+ == AsyncChannel.STATUS_SUCCESSFUL) {
+ return c;
+ } else {
+ return null;
+ }
}
public boolean isP2pSupported() {
@@ -220,16 +254,18 @@
* Sends in a request to the system to enable p2p. This will pop up a dialog
* to the user and upon authorization will enable p2p.
*/
- public void enableP2p() {
- mAsyncChannel.sendMessage(ENABLE_P2P);
+ public void enableP2p(Channel c) {
+ if (c == null) return;
+ c.mAsyncChannel.sendMessage(ENABLE_P2P);
}
/**
* Sends in a request to the system to disable p2p. This will pop up a dialog
* to the user and upon authorization will enable p2p.
*/
- public void disableP2p() {
- mAsyncChannel.sendMessage(DISABLE_P2P);
+ public void disableP2p(Channel c) {
+ if (c == null) return;
+ c.mAsyncChannel.sendMessage(DISABLE_P2P);
}
/**
@@ -238,29 +274,33 @@
* A dialog to the user is thrown to request his permission since it can
* have a significant impact on power consumption
*/
- public void setListenState(int timeout) {
- mAsyncChannel.sendMessage(START_LISTEN_MODE, timeout);
+ public void setListenState(Channel c, int timeout) {
+ if (c == null) return;
+ c.mAsyncChannel.sendMessage(START_LISTEN_MODE, timeout);
}
/**
* Initiates peer discovery
*/
- public void discoverPeers() {
- mAsyncChannel.sendMessage(DISCOVER_PEERS);
+ public void discoverPeers(Channel c) {
+ if (c == null) return;
+ c.mAsyncChannel.sendMessage(DISCOVER_PEERS);
}
/**
* Initiates peer discovery with a timeout
*/
- public void discoverPeers(int timeout) {
- mAsyncChannel.sendMessage(DISCOVER_PEERS, timeout);
+ public void discoverPeers(Channel c, int timeout) {
+ if (c == null) return;
+ c.mAsyncChannel.sendMessage(DISCOVER_PEERS, timeout);
}
/**
* Cancel any existing peer discovery operation
*/
- public void cancelPeerDiscovery() {
- mAsyncChannel.sendMessage(CANCEL_DISCOVER_PEERS);
+ public void cancelPeerDiscovery(Channel c) {
+ if (c == null) return;
+ c.mAsyncChannel.sendMessage(CANCEL_DISCOVER_PEERS);
}
/**
@@ -268,47 +308,53 @@
*
* @param peer Configuration described in a {@link WifiP2pConfig} object.
*/
- public void connect(WifiP2pConfig config) {
- mAsyncChannel.sendMessage(CONNECT, config);
+ public void connect(Channel c, WifiP2pConfig config) {
+ if (c == null) return;
+ c.mAsyncChannel.sendMessage(CONNECT, config);
}
/**
* Cancel any ongoing negotiation or disconnect from an existing group
*/
- public void disconnect() {
- mAsyncChannel.sendMessage(CANCEL_CONNECT);
+ public void disconnect(Channel c) {
+ if (c == null) return;
+ c.mAsyncChannel.sendMessage(CANCEL_CONNECT);
}
/**
* Create a p2p group. This is essentially an access point that can accept
* client connections.
*/
- public void createGroup() {
- mAsyncChannel.sendMessage(CREATE_GROUP);
+ public void createGroup(Channel c) {
+ if (c == null) return;
+ c.mAsyncChannel.sendMessage(CREATE_GROUP);
}
/**
* Remove the current group. This also removes the p2p interface created
* during group formation.
*/
- public void removeGroup() {
- mAsyncChannel.sendMessage(REMOVE_GROUP);
+ public void removeGroup(Channel c) {
+ if (c == null) return;
+ c.mAsyncChannel.sendMessage(REMOVE_GROUP);
}
/**
* Request current p2p settings. This returns a RESPONSE_SETTINGS on the source
* handler.
*/
- public void requestP2pSettings() {
- mAsyncChannel.sendMessage(REQUEST_SETTINGS);
+ public void requestP2pSettings(Channel c) {
+ if (c == null) return;
+ c.mAsyncChannel.sendMessage(REQUEST_SETTINGS);
}
/**
* Request the list of peers. This returns a RESPONSE_PEERS on the source
* handler.
*/
- public void requestPeers() {
- mAsyncChannel.sendMessage(REQUEST_PEERS);
+ public void requestPeers(Channel c) {
+ if (c == null) return;
+ c.mAsyncChannel.sendMessage(REQUEST_PEERS);
}
/**
@@ -322,8 +368,9 @@
* Request device connection status. This returns a RESPONSE_CONNECTION_STATUS on
* the source handler.
*/
- public void requestConnectionStatus() {
- mAsyncChannel.sendMessage(REQUEST_CONNECTION_STATUS);
+ public void requestConnectionStatus(Channel c) {
+ if (c == null) return;
+ c.mAsyncChannel.sendMessage(REQUEST_CONNECTION_STATUS);
}
@@ -341,4 +388,38 @@
return null;
}
}
+
+
+ /**
+ * Setup DNS connectivity on the current process to the connected Wi-Fi p2p peers
+ *
+ * @return -1 on failure
+ * @hide
+ */
+ public int startPeerCommunication() {
+ IBinder b = ServiceManager.getService(Context.CONNECTIVITY_SERVICE);
+ IConnectivityManager cm = IConnectivityManager.Stub.asInterface(b);
+ try {
+ return cm.startUsingNetworkFeature(ConnectivityManager.TYPE_WIFI, "p2p", new Binder());
+ } catch (RemoteException e) {
+ return -1;
+ }
+ }
+
+ /**
+ * Tear down connectivity to the connected Wi-Fi p2p peers
+ *
+ * @return -1 on failure
+ * @hide
+ */
+ public int stopPeerCommunication() {
+ IBinder b = ServiceManager.getService(Context.CONNECTIVITY_SERVICE);
+ IConnectivityManager cm = IConnectivityManager.Stub.asInterface(b);
+ try {
+ return cm.stopUsingNetworkFeature(ConnectivityManager.TYPE_WIFI, "p2p");
+ } catch (RemoteException e) {
+ return -1;
+ }
+ }
+
}
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pService.java b/wifi/java/android/net/wifi/p2p/WifiP2pService.java
index 3678cfc..176191e 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pService.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pService.java
@@ -25,6 +25,15 @@
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.content.res.Resources;
+import android.net.IConnectivityManager;
+import android.net.ConnectivityManager;
+import android.net.DhcpInfoInternal;
+import android.net.DhcpStateMachine;
+import android.net.InterfaceConfiguration;
+import android.net.LinkAddress;
+import android.net.LinkProperties;
+import android.net.NetworkInfo;
+import android.net.NetworkUtils;
import android.net.wifi.WifiManager;
import android.net.wifi.WifiMonitor;
import android.net.wifi.WifiNative;
@@ -47,16 +56,16 @@
import android.view.WindowManager;
import android.widget.EditText;
-import java.io.FileDescriptor;
-import java.io.PrintWriter;
-import java.util.Collection;
-
import com.android.internal.R;
import com.android.internal.util.AsyncChannel;
import com.android.internal.util.Protocol;
import com.android.internal.util.State;
import com.android.internal.util.StateMachine;
+import java.io.FileDescriptor;
+import java.io.PrintWriter;
+import java.util.Collection;
+
/**
* WifiP2pService inclues a state machine to perform Wi-Fi p2p operations. Applications
* communicate with this service to issue device discovery and connectivity requests
@@ -70,14 +79,16 @@
public class WifiP2pService extends IWifiP2pManager.Stub {
private static final String TAG = "WifiP2pService";
private static final boolean DBG = true;
+ private static final String NETWORKTYPE = "WIFI_P2P";
private Context mContext;
private String mInterface;
INetworkManagementService mNwService;
+ private DhcpStateMachine mDhcpStateMachine;
- // Tracked to notify the user about wifi client/hotspot being shut down
- // during p2p bring up
+ //Tracked to notify the user about wifi client/hotspot being shut down
+ //during p2p bring up
private int mWifiState = WifiManager.WIFI_STATE_DISABLED;
private int mWifiApState = WifiManager.WIFI_AP_STATE_DISABLED;
@@ -85,6 +96,9 @@
private AsyncChannel mReplyChannel = new AsyncChannel();;
private AsyncChannel mWifiChannel;
+ private static final int GROUP_NEGOTIATION_WAIT_TIME_MS = 60 * 1000;
+ private static int mGroupNegotiationTimeoutIndex = 0;
+
private static final int BASE = Protocol.BASE_WIFI_P2P_SERVICE;
/* Message sent to WifiStateMachine to indicate p2p enable is pending */
@@ -92,15 +106,24 @@
/* Message sent to WifiStateMachine to indicate Wi-Fi client/hotspot operation can proceed */
public static final int WIFI_ENABLE_PROCEED = BASE + 2;
+ /* Delayed message to timeout of group negotiation */
+ public static final int GROUP_NEGOTIATION_TIMED_OUT = BASE + 3;
+
/* User accepted to disable Wi-Fi in order to enable p2p */
private static final int WIFI_DISABLE_USER_ACCEPT = BASE + 11;
private final boolean mP2pSupported;
+ private NetworkInfo mNetworkInfo;
+ private LinkProperties mLinkProperties;
+
public WifiP2pService(Context context) {
mContext = context;
mInterface = SystemProperties.get("wifi.interface", "wlan0");
+ mNetworkInfo = new NetworkInfo(ConnectivityManager.TYPE_WIFI_P2P, 0, NETWORKTYPE, "");
+ mLinkProperties = new LinkProperties();
+
mP2pSupported = mContext.getResources().getBoolean(
com.android.internal.R.bool.config_wifi_p2p_support);
@@ -113,7 +136,7 @@
filter.addAction(WifiManager.WIFI_AP_STATE_CHANGED_ACTION);
mContext.registerReceiver(new WifiStateReceiver(), filter);
- }
+ }
public void connectivityServiceReady() {
IBinder b = ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE);
@@ -300,6 +323,7 @@
break;
// Ignore
case WIFI_DISABLE_USER_ACCEPT:
+ case GROUP_NEGOTIATION_TIMED_OUT:
break;
default:
Slog.e(TAG, "Unhandled message " + message);
@@ -459,6 +483,10 @@
WifiP2pManager.ENABLE_P2P_SUCCEEDED);
transitionTo(mInactiveState);
break;
+ case WifiP2pManager.DISABLE_P2P:
+ //TODO: fix
+ WifiNative.killSupplicant();
+ transitionTo(mP2pDisabledState);
default:
return NOT_HANDLED;
}
@@ -471,6 +499,7 @@
public void enter() {
if (DBG) Slog.d(TAG, getName());
sendP2pStateChangedBroadcast(true);
+ mNetworkInfo.setIsAvailable(true);
}
@Override
@@ -526,6 +555,7 @@
@Override
public void exit() {
sendP2pStateChangedBroadcast(false);
+ mNetworkInfo.setIsAvailable(false);
}
}
@@ -550,6 +580,8 @@
WifiP2pGroup group = (WifiP2pGroup) message.obj;
notifyP2pInvitationReceived(group);
break;
+ case WifiP2pManager.REQUEST_PEERS:
+ return NOT_HANDLED;
default:
return NOT_HANDLED;
}
@@ -558,8 +590,11 @@
}
class GroupNegotiationState extends State {
- @Override public void enter() {
+ @Override
+ public void enter() {
if (DBG) Slog.d(TAG, getName());
+ sendMessageDelayed(obtainMessage(GROUP_NEGOTIATION_TIMED_OUT,
+ ++mGroupNegotiationTimeoutIndex, 0), GROUP_NEGOTIATION_WAIT_TIME_MS);
}
@Override
@@ -582,18 +617,29 @@
case WifiMonitor.P2P_GROUP_STARTED_EVENT:
mGroup = (WifiP2pGroup) message.obj;
if (DBG) Slog.d(TAG, getName() + " group started");
- // If this device is GO, do nothing since there is a follow up
- // AP_STA_CONNECTED event
- if (!mGroup.isGroupOwner()) {
+ if (mGroup.isGroupOwner()) {
+ startDhcpServer(mGroup.getInterface());
+ } else {
+ mDhcpStateMachine = DhcpStateMachine.makeDhcpStateMachine(mContext,
+ P2pStateMachine.this, mGroup.getInterface());
+ mDhcpStateMachine.sendMessage(DhcpStateMachine.CMD_START_DHCP);
WifiP2pDevice groupOwner = mGroup.getOwner();
updateDeviceStatus(groupOwner.deviceAddress, Status.CONNECTED);
sendP2pPeersChangedBroadcast();
}
transitionTo(mGroupCreatedState);
break;
- case WifiP2pManager.CANCEL_CONNECT:
+ case WifiP2pManager.CANCEL_CONNECT:
// TODO: fix
break;
+ case GROUP_NEGOTIATION_TIMED_OUT:
+ if (mGroupNegotiationTimeoutIndex == message.arg1) {
+ if (DBG) Slog.d(TAG, "Group negotiation timed out");
+ updateDeviceStatus(mSavedConnectConfig.deviceAddress, Status.FAILED);
+ mSavedConnectConfig = null;
+ transitionTo(mInactiveState);
+ }
+ break;
default:
return NOT_HANDLED;
}
@@ -605,6 +651,11 @@
@Override
public void enter() {
if (DBG) Slog.d(TAG, getName());
+ mNetworkInfo.setDetailedState(NetworkInfo.DetailedState.CONNECTED, null, null);
+
+ if (mGroup.isGroupOwner()) {
+ sendP2pConnectionChangedBroadcast();
+ }
}
@Override
@@ -638,7 +689,16 @@
}
if (DBG) Slog.e(TAG, getName() + " ap sta disconnected");
break;
- // Disconnect & remove group have same effect when connected
+ case DhcpStateMachine.CMD_POST_DHCP_ACTION:
+ DhcpInfoInternal dhcpInfo = (DhcpInfoInternal) message.obj;
+ if (DBG) Slog.d(TAG, "DhcpInfo: " + dhcpInfo);
+ if (dhcpInfo != null) {
+ mLinkProperties = dhcpInfo.makeLinkProperties();
+ mLinkProperties.setInterfaceName(mGroup.getInterface());
+ sendP2pConnectionChangedBroadcast();
+ }
+ break;
+ //disconnect & remove group have same effect when connected
case WifiP2pManager.CANCEL_CONNECT:
case WifiP2pManager.REMOVE_GROUP:
if (DBG) Slog.e(TAG, getName() + " remove group");
@@ -655,6 +715,16 @@
changed = true;
}
}
+
+ if (mGroup.isGroupOwner()) {
+ stopDhcpServer();
+ } else {
+ if (DBG) Slog.d(TAG, "stop DHCP client");
+ mDhcpStateMachine.sendMessage(DhcpStateMachine.CMD_STOP_DHCP);
+ mDhcpStateMachine.quit();
+ mDhcpStateMachine = null;
+ }
+
mGroup = null;
if (changed) sendP2pPeersChangedBroadcast();
transitionTo(mInactiveState);
@@ -663,10 +733,12 @@
WifiP2pDevice device = (WifiP2pDevice) message.obj;
if (device.equals(mGroup.getOwner())) {
Slog.d(TAG, "Lost the group owner, killing p2p connection");
- sendMessage(WifiP2pManager.REMOVE_GROUP);
+ WifiNative.p2pFlush();
+ WifiNative.p2pGroupRemove(mGroup.getInterface());
} else if (mGroup.removeClient(device) && mGroup.isClientListEmpty()) {
Slog.d(TAG, "Client list empty, killing p2p connection");
- sendMessage(WifiP2pManager.REMOVE_GROUP);
+ WifiNative.p2pFlush();
+ WifiNative.p2pGroupRemove(mGroup.getInterface());
}
return NOT_HANDLED; // Do the regular device lost handling
case WifiP2pManager.DISABLE_P2P:
@@ -705,6 +777,10 @@
}
return HANDLED;
}
+
+ public void exit() {
+ mNetworkInfo.setDetailedState(NetworkInfo.DetailedState.DISCONNECTED, null, null);
+ }
}
private void sendP2pStateChangedBroadcast(boolean enabled) {
@@ -726,6 +802,55 @@
mContext.sendBroadcast(intent);
}
+ private void sendP2pConnectionChangedBroadcast() {
+ if (DBG) Slog.d(TAG, "sending p2p connection changed broadcast");
+ Intent intent = new Intent(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION);
+ intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT
+ | Intent.FLAG_RECEIVER_REPLACE_PENDING);
+ intent.putExtra(WifiP2pManager.EXTRA_NETWORK_INFO, new NetworkInfo(mNetworkInfo));
+ intent.putExtra(WifiP2pManager.EXTRA_LINK_PROPERTIES,
+ new LinkProperties (mLinkProperties));
+ mContext.sendStickyBroadcast(intent);
+ }
+
+ private void startDhcpServer(String intf) {
+ /* Is chosen as a unique range to avoid conflict with
+ the range defined in Tethering.java */
+ String[] dhcp_range = {"192.168.49.2", "192.168.49.254"};
+ String serverAddress = "192.168.49.1";
+
+ mLinkProperties.clear();
+ mLinkProperties.setInterfaceName(mGroup.getInterface());
+
+ InterfaceConfiguration ifcg = null;
+ try {
+ ifcg = mNwService.getInterfaceConfig(intf);
+ ifcg.addr = new LinkAddress(NetworkUtils.numericToInetAddress(
+ serverAddress), 24);
+ ifcg.interfaceFlags = "[up]";
+ mNwService.setInterfaceConfig(intf, ifcg);
+ /* This starts the dnsmasq server */
+ mNwService.startTethering(dhcp_range);
+ } catch (Exception e) {
+ Slog.e(TAG, "Error configuring interface " + intf + ", :" + e);
+ return;
+ }
+
+ mLinkProperties.addDns(NetworkUtils.numericToInetAddress(serverAddress));
+ Slog.d(TAG, "Started Dhcp server on " + intf);
+ }
+
+ private void stopDhcpServer() {
+ try {
+ mNwService.stopTethering();
+ } catch (Exception e) {
+ Slog.e(TAG, "Error stopping Dhcp server" + e);
+ return;
+ }
+
+ Slog.d(TAG, "Stopped Dhcp server");
+ }
+
private void notifyP2pEnableFailure() {
Resources r = Resources.getSystem();
AlertDialog dialog = new AlertDialog.Builder(mContext)
@@ -760,11 +885,16 @@
.setView(textEntryView)
.setPositiveButton(r.getString(R.string.ok), new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
- if (DBG) Slog.d(TAG, getName() + " connect " + pin.getText());
+ if (DBG) Slog.d(TAG, getName() + " connect " + pin.getText());
+
+ if (pin.getVisibility() == View.GONE) {
+ mSavedGoNegotiationConfig.wpsConfig.setup = Setup.PBC;
+ } else {
mSavedGoNegotiationConfig.wpsConfig.setup = Setup.KEYPAD;
mSavedGoNegotiationConfig.wpsConfig.pin = pin.getText().toString();
- sendMessage(WifiP2pManager.CONNECT, mSavedGoNegotiationConfig);
- mSavedGoNegotiationConfig = null;
+ }
+ sendMessage(WifiP2pManager.CONNECT, mSavedGoNegotiationConfig);
+ mSavedGoNegotiationConfig = null;
}
})
.setNegativeButton(r.getString(R.string.cancel), new OnClickListener() {