diff options
277 files changed, 519 insertions, 299 deletions
diff --git a/api/current.txt b/api/current.txt index 15a19cc..b3e5c6e 100644 --- a/api/current.txt +++ b/api/current.txt @@ -2944,6 +2944,7 @@ package android.app { method public void moveTaskToFront(int, int); method public void moveTaskToFront(int, int, android.os.Bundle); method public deprecated void restartPackage(java.lang.String); + field public static final java.lang.String META_HOME_ALTERNATE = "android.app.home.alternate"; field public static final int MOVE_TASK_NO_USER_ACTION = 2; // 0x2 field public static final int MOVE_TASK_WITH_HOME = 1; // 0x1 field public static final int RECENT_IGNORE_UNAVAILABLE = 2; // 0x2 diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java index 2d28280..1e65098 100644 --- a/core/java/android/app/ActivityManager.java +++ b/core/java/android/app/ActivityManager.java @@ -68,6 +68,13 @@ public class ActivityManager { private final Handler mHandler; /** + * <meta-data> string for a 'home' Activity that names a package that is to be + * uninstalled in lieu of the declaring one. The package named here must be + * signed with the same certificate as the one declaring the <meta-data>. + */ + public static final String META_HOME_ALTERNATE = "android.app.home.alternate"; + + /** * Result for IActivityManager.startActivity: an error where the * start had to be canceled. * @hide @@ -672,6 +679,12 @@ public class ActivityManager { */ public int numRunning; + /** + * Last time task was run. For sorting. + * @hide + */ + public long lastActiveTime; + public RunningTaskInfo() { } diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 209514a..3e20f1f 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -855,10 +855,6 @@ public final class ActivityThread { } } - public void getMemoryInfo(Debug.MemoryInfo outInfo) { - Debug.getMemoryInfo(outInfo); - } - public void dispatchPackageBroadcast(int cmd, String[] packages) { queueOrSendMessage(H.DISPATCH_PACKAGE_BROADCAST, packages, cmd); } @@ -895,30 +891,23 @@ public final class ActivityThread { } @Override - public Debug.MemoryInfo dumpMemInfo(FileDescriptor fd, boolean checkin, + public void dumpMemInfo(FileDescriptor fd, Debug.MemoryInfo mem, boolean checkin, boolean dumpInfo, boolean dumpDalvik, String[] args) { FileOutputStream fout = new FileOutputStream(fd); PrintWriter pw = new FastPrintWriter(fout); try { - return dumpMemInfo(pw, checkin, dumpInfo, dumpDalvik); + dumpMemInfo(pw, mem, checkin, dumpInfo, dumpDalvik); } finally { pw.flush(); } } - private Debug.MemoryInfo dumpMemInfo(PrintWriter pw, boolean checkin, boolean dumpInfo, - boolean dumpDalvik) { + private void dumpMemInfo(PrintWriter pw, Debug.MemoryInfo memInfo, boolean checkin, + boolean dumpInfo, boolean dumpDalvik) { long nativeMax = Debug.getNativeHeapSize() / 1024; long nativeAllocated = Debug.getNativeHeapAllocatedSize() / 1024; long nativeFree = Debug.getNativeHeapFreeSize() / 1024; - Debug.MemoryInfo memInfo = new Debug.MemoryInfo(); - Debug.getMemoryInfo(memInfo); - - if (!dumpInfo) { - return memInfo; - } - Runtime runtime = Runtime.getRuntime(); long dalvikMax = runtime.totalMemory() / 1024; @@ -1043,7 +1032,7 @@ public final class ActivityThread { } pw.println(); - return memInfo; + return; } // otherwise, show human-readable format @@ -1168,8 +1157,6 @@ public final class ActivityThread { pw.println(" Asset Allocations"); pw.print(assetAlloc); } - - return memInfo; } @Override diff --git a/core/java/android/app/ApplicationThreadNative.java b/core/java/android/app/ApplicationThreadNative.java index a4e80e5..876bf78 100644 --- a/core/java/android/app/ApplicationThreadNative.java +++ b/core/java/android/app/ApplicationThreadNative.java @@ -450,16 +450,6 @@ public abstract class ApplicationThreadNative extends Binder return true; } - case GET_MEMORY_INFO_TRANSACTION: - { - data.enforceInterface(IApplicationThread.descriptor); - Debug.MemoryInfo mi = new Debug.MemoryInfo(); - getMemoryInfo(mi); - reply.writeNoException(); - mi.writeToParcel(reply, 0); - return true; - } - case DISPATCH_PACKAGE_BROADCAST_TRANSACTION: { data.enforceInterface(IApplicationThread.descriptor); @@ -530,14 +520,14 @@ public abstract class ApplicationThreadNative extends Binder { data.enforceInterface(IApplicationThread.descriptor); ParcelFileDescriptor fd = data.readFileDescriptor(); + Debug.MemoryInfo mi = Debug.MemoryInfo.CREATOR.createFromParcel(data); boolean checkin = data.readInt() != 0; boolean dumpInfo = data.readInt() != 0; boolean dumpDalvik = data.readInt() != 0; String[] args = data.readStringArray(); - Debug.MemoryInfo mi = null; if (fd != null) { try { - mi = dumpMemInfo(fd.getFileDescriptor(), checkin, dumpInfo, dumpDalvik, args); + dumpMemInfo(fd.getFileDescriptor(), mi, checkin, dumpInfo, dumpDalvik, args); } finally { try { fd.close(); @@ -547,7 +537,6 @@ public abstract class ApplicationThreadNative extends Binder } } reply.writeNoException(); - mi.writeToParcel(reply, 0); return true; } @@ -1108,17 +1097,6 @@ class ApplicationThreadProxy implements IApplicationThread { data.recycle(); } - public void getMemoryInfo(Debug.MemoryInfo outInfo) throws RemoteException { - Parcel data = Parcel.obtain(); - Parcel reply = Parcel.obtain(); - data.writeInterfaceToken(IApplicationThread.descriptor); - mRemote.transact(GET_MEMORY_INFO_TRANSACTION, data, reply, 0); - reply.readException(); - outInfo.readFromParcel(reply); - data.recycle(); - reply.recycle(); - } - public void dispatchPackageBroadcast(int cmd, String[] packages) throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); @@ -1194,23 +1172,21 @@ class ApplicationThreadProxy implements IApplicationThread { IBinder.FLAG_ONEWAY); } - public Debug.MemoryInfo dumpMemInfo(FileDescriptor fd, boolean checkin, boolean dumpInfo, - boolean dumpDalvik, String[] args) throws RemoteException { + public void dumpMemInfo(FileDescriptor fd, Debug.MemoryInfo mem, boolean checkin, + boolean dumpInfo, boolean dumpDalvik, String[] args) throws RemoteException { Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); data.writeFileDescriptor(fd); + mem.writeToParcel(data, 0); data.writeInt(checkin ? 1 : 0); data.writeInt(dumpInfo ? 1 : 0); data.writeInt(dumpDalvik ? 1 : 0); data.writeStringArray(args); mRemote.transact(DUMP_MEM_INFO_TRANSACTION, data, reply, 0); reply.readException(); - Debug.MemoryInfo info = new Debug.MemoryInfo(); - info.readFromParcel(reply); data.recycle(); reply.recycle(); - return info; } public void dumpGfxInfo(FileDescriptor fd, String[] args) throws RemoteException { diff --git a/core/java/android/app/IApplicationThread.java b/core/java/android/app/IApplicationThread.java index 058b975..43a5fbd 100644 --- a/core/java/android/app/IApplicationThread.java +++ b/core/java/android/app/IApplicationThread.java @@ -118,7 +118,6 @@ public interface IApplicationThread extends IInterface { void dumpHeap(boolean managed, String path, ParcelFileDescriptor fd) throws RemoteException; void setSchedulingGroup(int group) throws RemoteException; - void getMemoryInfo(Debug.MemoryInfo outInfo) throws RemoteException; static final int PACKAGE_REMOVED = 0; static final int EXTERNAL_STORAGE_UNAVAILABLE = 1; void dispatchPackageBroadcast(int cmd, String[] packages) throws RemoteException; @@ -128,7 +127,7 @@ public interface IApplicationThread extends IInterface { void setCoreSettings(Bundle coreSettings) throws RemoteException; void updatePackageCompatibilityInfo(String pkg, CompatibilityInfo info) throws RemoteException; void scheduleTrimMemory(int level) throws RemoteException; - Debug.MemoryInfo dumpMemInfo(FileDescriptor fd, boolean checkin, boolean dumpInfo, + void dumpMemInfo(FileDescriptor fd, Debug.MemoryInfo mem, boolean checkin, boolean dumpInfo, boolean dumpDalvik, String[] args) throws RemoteException; void dumpGfxInfo(FileDescriptor fd, String[] args) throws RemoteException; void dumpDbInfo(FileDescriptor fd, String[] args) throws RemoteException; @@ -171,7 +170,7 @@ public interface IApplicationThread extends IInterface { int SET_SCHEDULING_GROUP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+28; int SCHEDULE_CREATE_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+29; int SCHEDULE_DESTROY_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+30; - int GET_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+31; + int SCHEDULE_SUICIDE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+32; int DISPATCH_PACKAGE_BROADCAST_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+33; int SCHEDULE_CRASH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+34; diff --git a/core/java/com/android/internal/app/ProcessStats.java b/core/java/com/android/internal/app/ProcessStats.java index 1475e2c..a281f7c 100644 --- a/core/java/com/android/internal/app/ProcessStats.java +++ b/core/java/com/android/internal/app/ProcessStats.java @@ -166,7 +166,7 @@ public final class ProcessStats implements Parcelable { static final String CSV_SEP = "\t"; // Current version of the parcel format. - private static final int PARCEL_VERSION = 12; + private static final int PARCEL_VERSION = 13; // In-memory Parcel magic number, used to detect attempts to unmarshall bad data private static final int MAGIC = 0x50535453; @@ -646,6 +646,13 @@ public final class ProcessStats implements Parcelable { pw.print(prefix); pw.print("Killed for excessive CPU use: "); pw.print(proc.mNumExcessiveCpu); pw.println(" times"); } + if (proc.mNumCachedKill != 0) { + pw.print(prefix); pw.print("Killed from cached state: "); + pw.print(proc.mNumCachedKill); pw.print(" times from pss "); + printSizeValue(pw, proc.mMinCachedKillPss * 1024); pw.print("-"); + printSizeValue(pw, proc.mAvgCachedKillPss * 1024); pw.print("-"); + printSizeValue(pw, proc.mMaxCachedKillPss * 1024); pw.println(); + } } static void dumpStateHeadersCsv(PrintWriter pw, String sep, int[] screenStates, @@ -2033,7 +2040,8 @@ public final class ProcessStats implements Parcelable { dumpAllProcessPssCheckin(pw, proc); pw.println(); } - if (proc.mNumExcessiveWake > 0 || proc.mNumExcessiveCpu > 0) { + if (proc.mNumExcessiveWake > 0 || proc.mNumExcessiveCpu > 0 + || proc.mNumCachedKill > 0) { pw.print("pkgkills,"); pw.print(pkgName); pw.print(","); @@ -2044,6 +2052,14 @@ public final class ProcessStats implements Parcelable { pw.print(proc.mNumExcessiveWake); pw.print(","); pw.print(proc.mNumExcessiveCpu); + pw.print(","); + pw.print(proc.mNumCachedKill); + pw.print(","); + pw.print(proc.mMinCachedKillPss); + pw.print(":"); + pw.print(proc.mAvgCachedKillPss); + pw.print(":"); + pw.print(proc.mMaxCachedKillPss); pw.println(); } } @@ -2090,7 +2106,8 @@ public final class ProcessStats implements Parcelable { dumpAllProcessPssCheckin(pw, procState); pw.println(); } - if (procState.mNumExcessiveWake > 0 || procState.mNumExcessiveCpu > 0) { + if (procState.mNumExcessiveWake > 0 || procState.mNumExcessiveCpu > 0 + || procState.mNumCachedKill > 0) { pw.print("kills,"); pw.print(procName); pw.print(","); @@ -2099,6 +2116,14 @@ public final class ProcessStats implements Parcelable { pw.print(procState.mNumExcessiveWake); pw.print(","); pw.print(procState.mNumExcessiveCpu); + pw.print(","); + pw.print(procState.mNumCachedKill); + pw.print(","); + pw.print(procState.mMinCachedKillPss); + pw.print(":"); + pw.print(procState.mAvgCachedKillPss); + pw.print(":"); + pw.print(procState.mMaxCachedKillPss); pw.println(); } } @@ -2135,6 +2160,11 @@ public final class ProcessStats implements Parcelable { int mNumExcessiveWake; int mNumExcessiveCpu; + int mNumCachedKill; + long mMinCachedKillPss; + long mAvgCachedKillPss; + long mMaxCachedKillPss; + boolean mMultiPackage; boolean mDead; @@ -2200,6 +2230,10 @@ public final class ProcessStats implements Parcelable { } pnew.mNumExcessiveWake = mNumExcessiveWake; pnew.mNumExcessiveCpu = mNumExcessiveCpu; + pnew.mNumCachedKill = mNumCachedKill; + pnew.mMinCachedKillPss = mMinCachedKillPss; + pnew.mAvgCachedKillPss = mAvgCachedKillPss; + pnew.mMaxCachedKillPss = mMaxCachedKillPss; pnew.mActive = mActive; pnew.mNumStartedServices = mNumStartedServices; return pnew; @@ -2226,6 +2260,10 @@ public final class ProcessStats implements Parcelable { } mNumExcessiveWake += other.mNumExcessiveWake; mNumExcessiveCpu += other.mNumExcessiveCpu; + if (other.mNumCachedKill > 0) { + addCachedKill(other.mNumCachedKill, other.mMinCachedKillPss, + other.mAvgCachedKillPss, other.mMaxCachedKillPss); + } } void resetSafely(long now) { @@ -2238,6 +2276,8 @@ public final class ProcessStats implements Parcelable { mPssTableSize = 0; mNumExcessiveWake = 0; mNumExcessiveCpu = 0; + mNumCachedKill = 0; + mMinCachedKillPss = mAvgCachedKillPss = mMaxCachedKillPss = 0; } void makeDead() { @@ -2268,6 +2308,12 @@ public final class ProcessStats implements Parcelable { } out.writeInt(mNumExcessiveWake); out.writeInt(mNumExcessiveCpu); + out.writeInt(mNumCachedKill); + if (mNumCachedKill > 0) { + out.writeLong(mMinCachedKillPss); + out.writeLong(mAvgCachedKillPss); + out.writeLong(mMaxCachedKillPss); + } } boolean readFromParcel(Parcel in, boolean fully) { @@ -2289,6 +2335,14 @@ public final class ProcessStats implements Parcelable { mPssTableSize = mPssTable != null ? mPssTable.length : 0; mNumExcessiveWake = in.readInt(); mNumExcessiveCpu = in.readInt(); + mNumCachedKill = in.readInt(); + if (mNumCachedKill > 0) { + mMinCachedKillPss = in.readLong(); + mAvgCachedKillPss = in.readLong(); + mMaxCachedKillPss = in.readLong(); + } else { + mMinCachedKillPss = mAvgCachedKillPss = mMaxCachedKillPss = 0; + } return true; } @@ -2502,6 +2556,37 @@ public final class ProcessStats implements Parcelable { } } + private void addCachedKill(int num, long minPss, long avgPss, long maxPss) { + if (mNumCachedKill <= 0) { + mNumCachedKill = num; + mMinCachedKillPss = minPss; + mAvgCachedKillPss = avgPss; + mMaxCachedKillPss = maxPss; + } else { + if (minPss < mMinCachedKillPss) { + mMinCachedKillPss = minPss; + } + if (maxPss > mMaxCachedKillPss) { + mMaxCachedKillPss = maxPss; + } + mAvgCachedKillPss = (long)( ((mAvgCachedKillPss*(double)mNumCachedKill) + avgPss) + / (mNumCachedKill+num) ); + mNumCachedKill += num; + } + } + + public void reportCachedKill(ArrayMap<String, ProcessState> pkgList, long pss) { + ensureNotDead(); + mCommonProcess.addCachedKill(1, pss, pss, pss); + if (!mCommonProcess.mMultiPackage) { + return; + } + + for (int ip=pkgList.size()-1; ip>=0; ip--) { + pullFixedProc(pkgList, ip).addCachedKill(1, pss, pss, pss); + } + } + ProcessState pullFixedProc(String pkgName) { if (mMultiPackage) { // The array map is still pointing to a common process state diff --git a/core/jni/android/graphics/BitmapFactory.cpp b/core/jni/android/graphics/BitmapFactory.cpp index 9c20de2..0d757f7 100644 --- a/core/jni/android/graphics/BitmapFactory.cpp +++ b/core/jni/android/graphics/BitmapFactory.cpp @@ -297,6 +297,9 @@ static jobject doDecode(JNIEnv* env, SkStreamRewindable* stream, jobject padding (SkBitmap::Allocator*)&recyclingAllocator : (SkBitmap::Allocator*)&javaAllocator; if (decodeMode != SkImageDecoder::kDecodeBounds_Mode) { if (!willScale) { + // If the java allocator is being used to allocate the pixel memory, the decoder + // need not write zeroes, since the memory is initialized to 0. + decoder->setSkipWritingZeroes(outputAllocator == &javaAllocator); decoder->setAllocator(outputAllocator); } else if (javaBitmap != NULL) { // check for eventual scaled bounds at allocation time, so we don't decode the bitmap @@ -403,7 +406,12 @@ static jobject doDecode(JNIEnv* env, SkStreamRewindable* stream, jobject padding if (!outputBitmap->allocPixels(outputAllocator, NULL)) { return nullObjectReturn("allocation failed for scaled bitmap"); } - outputBitmap->eraseColor(0); + + // If outputBitmap's pixels are newly allocated by Java, there is no need + // to erase to 0, since the pixels were initialized to 0. + if (outputAllocator != &javaAllocator) { + outputBitmap->eraseColor(0); + } SkPaint paint; paint.setFilterBitmap(true); diff --git a/core/jni/android_view_GLES20Canvas.cpp b/core/jni/android_view_GLES20Canvas.cpp index dc90da7..b720e73 100644 --- a/core/jni/android_view_GLES20Canvas.cpp +++ b/core/jni/android_view_GLES20Canvas.cpp @@ -878,6 +878,23 @@ static void android_view_GLES20Canvas_updateTextureLayer(JNIEnv* env, jobject cl sp<GLConsumer> surfaceTexture(SurfaceTexture_getSurfaceTexture(env, surface)); if (surfaceTexture->updateTexImage() == NO_ERROR) { + int64_t frameNumber = surfaceTexture->getFrameNumber(); + // If the GLConsumer queue is in synchronous mode, need to discard all + // but latest frame, using the frame number to tell when we no longer + // have newer frames to target. Since we can't tell which mode it is in, + // do this unconditionally. + int dropCounter = 0; + while (surfaceTexture->updateTexImage() == NO_ERROR) { + int64_t newFrameNumber = surfaceTexture->getFrameNumber(); + if (newFrameNumber == frameNumber) break; + frameNumber = newFrameNumber; + dropCounter++; + } + #if DEBUG_RENDERER + if (dropCounter > 0) { + RENDERER_LOGD("Dropped %d frames on texture layer update", dropCounter); + } + #endif surfaceTexture->getTransformMatrix(transform); GLenum renderTarget = surfaceTexture->getCurrentTextureTarget(); diff --git a/core/res/res/drawable-hdpi/btn_check_off_pressed_holo_dark.png b/core/res/res/drawable-hdpi/btn_check_off_pressed_holo_dark.png Binary files differindex 7f79718..86b43c1 100644 --- a/core/res/res/drawable-hdpi/btn_check_off_pressed_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_check_off_pressed_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_check_off_pressed_holo_light.png b/core/res/res/drawable-hdpi/btn_check_off_pressed_holo_light.png Binary files differindex 951be79..cdf0078 100644 --- a/core/res/res/drawable-hdpi/btn_check_off_pressed_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_check_off_pressed_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_dark.png b/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_dark.png Binary files differindex 47f7c29..266ac98 100644 --- a/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_light.png b/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_light.png Binary files differindex 841c964..49b375f 100644 --- a/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_default_pressed_holo_dark.9.png b/core/res/res/drawable-hdpi/btn_default_pressed_holo_dark.9.png Binary files differindex 4fa62d7..b7c125b 100644 --- a/core/res/res/drawable-hdpi/btn_default_pressed_holo_dark.9.png +++ b/core/res/res/drawable-hdpi/btn_default_pressed_holo_dark.9.png diff --git a/core/res/res/drawable-hdpi/btn_default_pressed_holo_light.9.png b/core/res/res/drawable-hdpi/btn_default_pressed_holo_light.9.png Binary files differindex 242cee9..bf09b6f 100644 --- a/core/res/res/drawable-hdpi/btn_default_pressed_holo_light.9.png +++ b/core/res/res/drawable-hdpi/btn_default_pressed_holo_light.9.png 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 Binary files differindex 3ffd433..9fd5b76 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 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 Binary files differindex 6065eb7..caff83d 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 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 Binary files differindex 63ec738..4cddfda 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 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 Binary files differindex 1d80d5c..e94aabe 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 diff --git a/core/res/res/drawable-hdpi/btn_rating_star_off_disabled_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_rating_star_off_disabled_focused_holo_dark.png Binary files differindex 17a1051..961b0f7 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_off_disabled_focused_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_off_disabled_focused_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_off_disabled_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_rating_star_off_disabled_focused_holo_light.png Binary files differindex ef8320c..503de5c 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_off_disabled_focused_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_off_disabled_focused_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_off_disabled_holo_dark.png b/core/res/res/drawable-hdpi/btn_rating_star_off_disabled_holo_dark.png Binary files differindex 74e5235..a756e30 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_off_disabled_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_off_disabled_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_off_disabled_holo_light.png b/core/res/res/drawable-hdpi/btn_rating_star_off_disabled_holo_light.png Binary files differindex 8c74e06..0d5bbe8 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_off_disabled_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_off_disabled_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_off_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_rating_star_off_focused_holo_dark.png Binary files differindex 5b3ca5d..c58a841 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_off_focused_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_off_focused_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_off_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_rating_star_off_focused_holo_light.png Binary files differindex 469e9f6..9e018ef 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_off_focused_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_off_focused_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_off_normal_holo_dark.png b/core/res/res/drawable-hdpi/btn_rating_star_off_normal_holo_dark.png Binary files differindex d0a5ca5..afaf691 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_off_normal_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_off_normal_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_off_normal_holo_light.png b/core/res/res/drawable-hdpi/btn_rating_star_off_normal_holo_light.png Binary files differindex 08e7553..26adc72 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_off_normal_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_off_normal_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_off_pressed_holo_dark.png b/core/res/res/drawable-hdpi/btn_rating_star_off_pressed_holo_dark.png Binary files differindex 9aed106..e0cc6c5 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_off_pressed_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_off_pressed_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_off_pressed_holo_light.png b/core/res/res/drawable-hdpi/btn_rating_star_off_pressed_holo_light.png Binary files differindex c5e4694..607d1cf 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_off_pressed_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_off_pressed_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_on_disabled_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_rating_star_on_disabled_focused_holo_dark.png Binary files differindex 5829969..4791366 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_on_disabled_focused_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_on_disabled_focused_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_on_disabled_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_rating_star_on_disabled_focused_holo_light.png Binary files differindex 5efe111..8680012 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_on_disabled_focused_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_on_disabled_focused_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_on_disabled_holo_dark.png b/core/res/res/drawable-hdpi/btn_rating_star_on_disabled_holo_dark.png Binary files differindex a967836..7dc2567 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_on_disabled_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_on_disabled_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_on_disabled_holo_light.png b/core/res/res/drawable-hdpi/btn_rating_star_on_disabled_holo_light.png Binary files differindex 4f10c79..de02ace 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_on_disabled_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_on_disabled_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_on_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_rating_star_on_focused_holo_dark.png Binary files differindex eb0ef89..9b34307 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_on_focused_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_on_focused_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_on_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_rating_star_on_focused_holo_light.png Binary files differindex d8652d5..fc9af78 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_on_focused_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_on_focused_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_on_normal_holo_dark.png b/core/res/res/drawable-hdpi/btn_rating_star_on_normal_holo_dark.png Binary files differindex 2b0e235..c22ac4c 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_on_normal_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_on_normal_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_on_normal_holo_light.png b/core/res/res/drawable-hdpi/btn_rating_star_on_normal_holo_light.png Binary files differindex 06dfad2..b2b0e29 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_on_normal_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_on_normal_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_on_pressed_holo_dark.png b/core/res/res/drawable-hdpi/btn_rating_star_on_pressed_holo_dark.png Binary files differindex 0fe4b14..f45882c 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_on_pressed_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_on_pressed_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_rating_star_on_pressed_holo_light.png b/core/res/res/drawable-hdpi/btn_rating_star_on_pressed_holo_light.png Binary files differindex aaced6e..d06fbeb 100644 --- a/core/res/res/drawable-hdpi/btn_rating_star_on_pressed_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_rating_star_on_pressed_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_star_off_disabled_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_off_disabled_focused_holo_dark.png Binary files differindex 61f9e6b..ce3954f 100644 --- a/core/res/res/drawable-hdpi/btn_star_off_disabled_focused_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_star_off_disabled_focused_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_star_off_disabled_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_star_off_disabled_focused_holo_light.png Binary files differindex 62ac7f9..2e7346a 100644 --- a/core/res/res/drawable-hdpi/btn_star_off_disabled_focused_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_star_off_disabled_focused_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_star_off_disabled_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_off_disabled_holo_dark.png Binary files differindex e10d5d1..1a642f7 100644 --- a/core/res/res/drawable-hdpi/btn_star_off_disabled_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_star_off_disabled_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_star_off_disabled_holo_light.png b/core/res/res/drawable-hdpi/btn_star_off_disabled_holo_light.png Binary files differindex 685f8b5..cee608b 100644 --- a/core/res/res/drawable-hdpi/btn_star_off_disabled_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_star_off_disabled_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_star_off_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_off_focused_holo_dark.png Binary files differindex d7ef1a6..0eb9e38 100644 --- a/core/res/res/drawable-hdpi/btn_star_off_focused_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_star_off_focused_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_star_off_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_star_off_focused_holo_light.png Binary files differindex fcf4623..f396c47 100644 --- a/core/res/res/drawable-hdpi/btn_star_off_focused_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_star_off_focused_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_star_off_normal_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_off_normal_holo_dark.png Binary files differindex 9a6fc4d..cbbbfb3 100644 --- a/core/res/res/drawable-hdpi/btn_star_off_normal_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_star_off_normal_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_star_off_normal_holo_light.png b/core/res/res/drawable-hdpi/btn_star_off_normal_holo_light.png Binary files differindex 3875ac3..c4e1d81 100644 --- a/core/res/res/drawable-hdpi/btn_star_off_normal_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_star_off_normal_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_star_off_pressed_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_off_pressed_holo_dark.png Binary files differindex 185f9f7..97730d1 100644 --- a/core/res/res/drawable-hdpi/btn_star_off_pressed_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_star_off_pressed_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_star_off_pressed_holo_light.png b/core/res/res/drawable-hdpi/btn_star_off_pressed_holo_light.png Binary files differindex 5d695d9..4350f16 100644 --- a/core/res/res/drawable-hdpi/btn_star_off_pressed_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_star_off_pressed_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_star_on_disabled_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_on_disabled_focused_holo_dark.png Binary files differindex 57cfa4d..b7035fd 100644 --- a/core/res/res/drawable-hdpi/btn_star_on_disabled_focused_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_star_on_disabled_focused_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_star_on_disabled_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_star_on_disabled_focused_holo_light.png Binary files differindex 1a37993..852ad55 100644 --- a/core/res/res/drawable-hdpi/btn_star_on_disabled_focused_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_star_on_disabled_focused_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_star_on_disabled_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_on_disabled_holo_dark.png Binary files differindex 5694cf7..3d40107 100644 --- a/core/res/res/drawable-hdpi/btn_star_on_disabled_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_star_on_disabled_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_star_on_disabled_holo_light.png b/core/res/res/drawable-hdpi/btn_star_on_disabled_holo_light.png Binary files differindex 6406c06..ee79ed6 100644 --- a/core/res/res/drawable-hdpi/btn_star_on_disabled_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_star_on_disabled_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_star_on_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_on_focused_holo_dark.png Binary files differindex c50efaf..6cad71e 100644 --- a/core/res/res/drawable-hdpi/btn_star_on_focused_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_star_on_focused_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_star_on_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_star_on_focused_holo_light.png Binary files differindex 1a899c9..edcb86d 100644 --- a/core/res/res/drawable-hdpi/btn_star_on_focused_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_star_on_focused_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_star_on_normal_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_on_normal_holo_dark.png Binary files differindex fecb1af..02013fa 100644 --- a/core/res/res/drawable-hdpi/btn_star_on_normal_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_star_on_normal_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_star_on_normal_holo_light.png b/core/res/res/drawable-hdpi/btn_star_on_normal_holo_light.png Binary files differindex 37547d2..6689a89 100644 --- a/core/res/res/drawable-hdpi/btn_star_on_normal_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_star_on_normal_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_star_on_pressed_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_on_pressed_holo_dark.png Binary files differindex de15a23..36f9ad1 100644 --- a/core/res/res/drawable-hdpi/btn_star_on_pressed_holo_dark.png +++ b/core/res/res/drawable-hdpi/btn_star_on_pressed_holo_dark.png diff --git a/core/res/res/drawable-hdpi/btn_star_on_pressed_holo_light.png b/core/res/res/drawable-hdpi/btn_star_on_pressed_holo_light.png Binary files differindex beda050..10d74ce 100644 --- a/core/res/res/drawable-hdpi/btn_star_on_pressed_holo_light.png +++ b/core/res/res/drawable-hdpi/btn_star_on_pressed_holo_light.png diff --git a/core/res/res/drawable-hdpi/btn_toggle_off_pressed_holo_dark.9.png b/core/res/res/drawable-hdpi/btn_toggle_off_pressed_holo_dark.9.png Binary files differindex 9206f57..94c0ee7 100644 --- a/core/res/res/drawable-hdpi/btn_toggle_off_pressed_holo_dark.9.png +++ b/core/res/res/drawable-hdpi/btn_toggle_off_pressed_holo_dark.9.png diff --git a/core/res/res/drawable-hdpi/btn_toggle_off_pressed_holo_light.9.png b/core/res/res/drawable-hdpi/btn_toggle_off_pressed_holo_light.9.png Binary files differindex bef235b..9bef909 100644 --- a/core/res/res/drawable-hdpi/btn_toggle_off_pressed_holo_light.9.png +++ b/core/res/res/drawable-hdpi/btn_toggle_off_pressed_holo_light.9.png diff --git a/core/res/res/drawable-hdpi/btn_toggle_on_pressed_holo_dark.9.png b/core/res/res/drawable-hdpi/btn_toggle_on_pressed_holo_dark.9.png Binary files differindex 63204eb..469ba9b 100644 --- a/core/res/res/drawable-hdpi/btn_toggle_on_pressed_holo_dark.9.png +++ b/core/res/res/drawable-hdpi/btn_toggle_on_pressed_holo_dark.9.png diff --git a/core/res/res/drawable-hdpi/btn_toggle_on_pressed_holo_light.9.png b/core/res/res/drawable-hdpi/btn_toggle_on_pressed_holo_light.9.png Binary files differindex 7b79f3f..40a61ca 100644 --- a/core/res/res/drawable-hdpi/btn_toggle_on_pressed_holo_light.9.png +++ b/core/res/res/drawable-hdpi/btn_toggle_on_pressed_holo_light.9.png diff --git a/core/res/res/drawable-hdpi/list_longpressed_holo_dark.9.png b/core/res/res/drawable-hdpi/list_longpressed_holo_dark.9.png Binary files differindex da023d3..f5cc0ed 100644 --- a/core/res/res/drawable-hdpi/list_longpressed_holo_dark.9.png +++ b/core/res/res/drawable-hdpi/list_longpressed_holo_dark.9.png 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 Binary files differindex 1a0bf0d..596accb 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 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 Binary files differindex e852a45..2054530 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 diff --git a/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_dark_am.9.png b/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_dark_am.9.png Binary files differindex f06d898..66f0d88 100644 --- a/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_dark_am.9.png +++ b/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_dark_am.9.png diff --git a/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_light_am.9.png b/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_light_am.9.png Binary files differindex 0638e58..10af163 100644 --- a/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_light_am.9.png +++ b/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_light_am.9.png diff --git a/core/res/res/drawable-hdpi/spinner_pressed_holo_dark_am.9.png b/core/res/res/drawable-hdpi/spinner_pressed_holo_dark_am.9.png Binary files differindex 6d2a8a4..aca9435 100644 --- a/core/res/res/drawable-hdpi/spinner_pressed_holo_dark_am.9.png +++ b/core/res/res/drawable-hdpi/spinner_pressed_holo_dark_am.9.png diff --git a/core/res/res/drawable-hdpi/spinner_pressed_holo_light_am.9.png b/core/res/res/drawable-hdpi/spinner_pressed_holo_light_am.9.png Binary files differindex bb43a46..eafd44a 100644 --- a/core/res/res/drawable-hdpi/spinner_pressed_holo_light_am.9.png +++ b/core/res/res/drawable-hdpi/spinner_pressed_holo_light_am.9.png 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 Binary files differindex 88717cc..b6009e6 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 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 Binary files differindex c759ca4..54d813c 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 diff --git a/core/res/res/drawable-hdpi/tab_selected_pressed_holo.9.png b/core/res/res/drawable-hdpi/tab_selected_pressed_holo.9.png Binary files differindex fe5850c..956d3c4 100644 --- a/core/res/res/drawable-hdpi/tab_selected_pressed_holo.9.png +++ b/core/res/res/drawable-hdpi/tab_selected_pressed_holo.9.png diff --git a/core/res/res/drawable-hdpi/tab_unselected_pressed_holo.9.png b/core/res/res/drawable-hdpi/tab_unselected_pressed_holo.9.png Binary files differindex b59edc8..57e57e1 100644 --- a/core/res/res/drawable-hdpi/tab_unselected_pressed_holo.9.png +++ b/core/res/res/drawable-hdpi/tab_unselected_pressed_holo.9.png diff --git a/core/res/res/drawable-mdpi/btn_check_off_pressed_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_off_pressed_holo_dark.png Binary files differindex 2eaa6e1..47e8b5b 100644 --- a/core/res/res/drawable-mdpi/btn_check_off_pressed_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_check_off_pressed_holo_dark.png diff --git a/core/res/res/drawable-mdpi/btn_check_off_pressed_holo_light.png b/core/res/res/drawable-mdpi/btn_check_off_pressed_holo_light.png Binary files differindex 83b3315..1dc83fa 100644 --- a/core/res/res/drawable-mdpi/btn_check_off_pressed_holo_light.png +++ b/core/res/res/drawable-mdpi/btn_check_off_pressed_holo_light.png diff --git a/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_dark.png Binary files differindex 2b8541c..af5c463 100644 --- a/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_dark.png diff --git a/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_light.png b/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_light.png Binary files differindex e51e72a..819c552 100644 --- a/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_light.png +++ b/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_light.png diff --git a/core/res/res/drawable-mdpi/btn_default_pressed_holo_dark.9.png b/core/res/res/drawable-mdpi/btn_default_pressed_holo_dark.9.png Binary files differindex c10b235..ebdc717 100644 --- a/core/res/res/drawable-mdpi/btn_default_pressed_holo_dark.9.png +++ b/core/res/res/drawable-mdpi/btn_default_pressed_holo_dark.9.png diff --git a/core/res/res/drawable-mdpi/btn_default_pressed_holo_light.9.png b/core/res/res/drawable-mdpi/btn_default_pressed_holo_light.9.png Binary files differindex db9eab0..c73984e 100644 --- a/core/res/res/drawable-mdpi/btn_default_pressed_holo_light.9.png +++ b/core/res/res/drawable-mdpi/btn_default_pressed_holo_light.9.png 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 Binary files differindex 45252b1..cebaf6d 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 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 Binary files differindex 1090816..7b12bea 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 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 Binary files differindex a740800..eabb9d2 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 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 Binary files differindex faa95fc..09592355 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 diff --git a/core/res/res/drawable-mdpi/btn_rating_star_off_disabled_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_rating_star_off_disabled_focused_holo_dark.png Binary files differindex 217aa83..563f609 100644 --- a/core/res/res/drawable-mdpi/btn_rating_star_off_disabled_focused_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_rating_star_off_disabled_focused_holo_dark.png diff --git a/core/res/res/drawable-mdpi/btn_rating_star_off_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_off_disabled_focused_holo_light.png Binary files differindex 6853157..60e4717 100644 --- a/core/res/res/drawable-mdpi/btn_rating_star_off_disabled_focused_holo_light.png +++ b/core/res/res/drawable-mdpi/btn_rating_star_off_disabled_focused_holo_light.png diff --git a/core/res/res/drawable-mdpi/btn_rating_star_off_disabled_holo_dark.png b/core/res/res/drawable-mdpi/btn_rating_star_off_disabled_holo_dark.png Binary files differindex 8b6bd93..fa4db4f 100644 --- a/core/res/res/drawable-mdpi/btn_rating_star_off_disabled_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_rating_star_off_disabled_holo_dark.png diff --git a/core/res/res/drawable-mdpi/btn_rating_star_off_disabled_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_off_disabled_holo_light.png Binary files differindex 7992806..73a9d9e 100644 --- a/core/res/res/drawable-mdpi/btn_rating_star_off_disabled_holo_light.png +++ b/core/res/res/drawable-mdpi/btn_rating_star_off_disabled_holo_light.png diff --git a/core/res/res/drawable-mdpi/btn_rating_star_off_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_rating_star_off_focused_holo_dark.png Binary files differindex fc74193..790251f 100644 --- a/core/res/res/drawable-mdpi/btn_rating_star_off_focused_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_rating_star_off_focused_holo_dark.png diff --git a/core/res/res/drawable-mdpi/btn_rating_star_off_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_off_focused_holo_light.png Binary files differindex 0b1e231..aa4690f 100644 --- a/core/res/res/drawable-mdpi/btn_rating_star_off_focused_holo_light.png +++ b/core/res/res/drawable-mdpi/btn_rating_star_off_focused_holo_light.png diff --git a/core/res/res/drawable-mdpi/btn_rating_star_off_normal_holo_dark.png b/core/res/res/drawable-mdpi/btn_rating_star_off_normal_holo_dark.png Binary files differindex 1360dd0..c08b5c2 100644 --- a/core/res/res/drawable-mdpi/btn_rating_star_off_normal_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_rating_star_off_normal_holo_dark.png diff --git a/core/res/res/drawable-mdpi/btn_rating_star_off_normal_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_off_normal_holo_light.png Binary files differindex 7e82935..5f0a748 100644 --- a/core/res/res/drawable-mdpi/btn_rating_star_off_normal_holo_light.png +++ b/core/res/res/drawable-mdpi/btn_rating_star_off_normal_holo_light.png diff --git a/core/res/res/drawable-mdpi/btn_rating_star_off_pressed_holo_dark.png b/core/res/res/drawable-mdpi/btn_rating_star_off_pressed_holo_dark.png Binary files differindex bc82b1a..ba916c1 100644 --- a/core/res/res/drawable-mdpi/btn_rating_star_off_pressed_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_rating_star_off_pressed_holo_dark.png diff --git a/core/res/res/drawable-mdpi/btn_rating_star_off_pressed_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_off_pressed_holo_light.png Binary files differindex ab3a79b..8d0638d 100644 --- a/core/res/res/drawable-mdpi/btn_rating_star_off_pressed_holo_light.png +++ b/core/res/res/drawable-mdpi/btn_rating_star_off_pressed_holo_light.png diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_focused_holo_dark.png Binary files differindex 3db345a..9b04c59 100644 --- a/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_focused_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_focused_holo_dark.png 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 Binary files differindex 632f822..291fdb3 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 diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_holo_dark.png b/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_holo_dark.png Binary files differindex efd016c..5cc6600 100644 --- a/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_holo_dark.png 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 Binary files differindex 484f115..f17edca 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 diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_rating_star_on_focused_holo_dark.png Binary files differindex a314bef..26f5f11 100644 --- a/core/res/res/drawable-mdpi/btn_rating_star_on_focused_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_rating_star_on_focused_holo_dark.png 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 Binary files differindex 4b4a1b9..6346fff 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 diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_normal_holo_dark.png b/core/res/res/drawable-mdpi/btn_rating_star_on_normal_holo_dark.png Binary files differindex d6660cf..14bfde7 100644 --- a/core/res/res/drawable-mdpi/btn_rating_star_on_normal_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_rating_star_on_normal_holo_dark.png 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 Binary files differindex 060bb5b..c5005f1 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 diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_pressed_holo_dark.png b/core/res/res/drawable-mdpi/btn_rating_star_on_pressed_holo_dark.png Binary files differindex 9b169d4..886d86a 100644 --- a/core/res/res/drawable-mdpi/btn_rating_star_on_pressed_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_rating_star_on_pressed_holo_dark.png 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 Binary files differindex 29ebf09..9f9eb1d 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 diff --git a/core/res/res/drawable-mdpi/btn_star_off_disabled_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_off_disabled_focused_holo_dark.png Binary files differindex f4a1cbc..690371d 100644 --- a/core/res/res/drawable-mdpi/btn_star_off_disabled_focused_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_star_off_disabled_focused_holo_dark.png diff --git a/core/res/res/drawable-mdpi/btn_star_off_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_star_off_disabled_focused_holo_light.png Binary files differindex 79ca527..6d026dc 100644 --- a/core/res/res/drawable-mdpi/btn_star_off_disabled_focused_holo_light.png +++ b/core/res/res/drawable-mdpi/btn_star_off_disabled_focused_holo_light.png diff --git a/core/res/res/drawable-mdpi/btn_star_off_disabled_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_off_disabled_holo_dark.png Binary files differindex 33d1308..6e368d6 100644 --- a/core/res/res/drawable-mdpi/btn_star_off_disabled_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_star_off_disabled_holo_dark.png diff --git a/core/res/res/drawable-mdpi/btn_star_off_disabled_holo_light.png b/core/res/res/drawable-mdpi/btn_star_off_disabled_holo_light.png Binary files differindex 9672415..71cb582 100644 --- a/core/res/res/drawable-mdpi/btn_star_off_disabled_holo_light.png +++ b/core/res/res/drawable-mdpi/btn_star_off_disabled_holo_light.png diff --git a/core/res/res/drawable-mdpi/btn_star_off_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_off_focused_holo_dark.png Binary files differindex 94d3784..ebc9914 100644 --- a/core/res/res/drawable-mdpi/btn_star_off_focused_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_star_off_focused_holo_dark.png diff --git a/core/res/res/drawable-mdpi/btn_star_off_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_star_off_focused_holo_light.png Binary files differindex 9f3ce4e..edc3399 100644 --- a/core/res/res/drawable-mdpi/btn_star_off_focused_holo_light.png +++ b/core/res/res/drawable-mdpi/btn_star_off_focused_holo_light.png diff --git a/core/res/res/drawable-mdpi/btn_star_off_normal_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_off_normal_holo_dark.png Binary files differindex 05563bf..7dc8089 100644 --- a/core/res/res/drawable-mdpi/btn_star_off_normal_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_star_off_normal_holo_dark.png diff --git a/core/res/res/drawable-mdpi/btn_star_off_normal_holo_light.png b/core/res/res/drawable-mdpi/btn_star_off_normal_holo_light.png Binary files differindex ee166bc..a9abdc0 100644 --- a/core/res/res/drawable-mdpi/btn_star_off_normal_holo_light.png +++ b/core/res/res/drawable-mdpi/btn_star_off_normal_holo_light.png diff --git a/core/res/res/drawable-mdpi/btn_star_off_pressed_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_off_pressed_holo_dark.png Binary files differindex a703645..360ce61 100644 --- a/core/res/res/drawable-mdpi/btn_star_off_pressed_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_star_off_pressed_holo_dark.png diff --git a/core/res/res/drawable-mdpi/btn_star_off_pressed_holo_light.png b/core/res/res/drawable-mdpi/btn_star_off_pressed_holo_light.png Binary files differindex 42876ce..4884309 100644 --- a/core/res/res/drawable-mdpi/btn_star_off_pressed_holo_light.png +++ b/core/res/res/drawable-mdpi/btn_star_off_pressed_holo_light.png diff --git a/core/res/res/drawable-mdpi/btn_star_on_disabled_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_on_disabled_focused_holo_dark.png Binary files differindex becc091..3b5901f 100644 --- a/core/res/res/drawable-mdpi/btn_star_on_disabled_focused_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_star_on_disabled_focused_holo_dark.png diff --git a/core/res/res/drawable-mdpi/btn_star_on_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_star_on_disabled_focused_holo_light.png Binary files differindex e49dbab..d61bf39 100644 --- a/core/res/res/drawable-mdpi/btn_star_on_disabled_focused_holo_light.png +++ b/core/res/res/drawable-mdpi/btn_star_on_disabled_focused_holo_light.png diff --git a/core/res/res/drawable-mdpi/btn_star_on_disabled_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_on_disabled_holo_dark.png Binary files differindex 61837f8..ff9f888 100644 --- a/core/res/res/drawable-mdpi/btn_star_on_disabled_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_star_on_disabled_holo_dark.png diff --git a/core/res/res/drawable-mdpi/btn_star_on_disabled_holo_light.png b/core/res/res/drawable-mdpi/btn_star_on_disabled_holo_light.png Binary files differindex 19f139f..0aa36fe 100644 --- a/core/res/res/drawable-mdpi/btn_star_on_disabled_holo_light.png +++ b/core/res/res/drawable-mdpi/btn_star_on_disabled_holo_light.png diff --git a/core/res/res/drawable-mdpi/btn_star_on_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_on_focused_holo_dark.png Binary files differindex 9fed6b5..fdd1e95 100644 --- a/core/res/res/drawable-mdpi/btn_star_on_focused_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_star_on_focused_holo_dark.png diff --git a/core/res/res/drawable-mdpi/btn_star_on_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_star_on_focused_holo_light.png Binary files differindex d52dbb7..15c9334 100644 --- a/core/res/res/drawable-mdpi/btn_star_on_focused_holo_light.png +++ b/core/res/res/drawable-mdpi/btn_star_on_focused_holo_light.png diff --git a/core/res/res/drawable-mdpi/btn_star_on_normal_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_on_normal_holo_dark.png Binary files differindex c0c6b49..14183171 100644 --- a/core/res/res/drawable-mdpi/btn_star_on_normal_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_star_on_normal_holo_dark.png diff --git a/core/res/res/drawable-mdpi/btn_star_on_normal_holo_light.png b/core/res/res/drawable-mdpi/btn_star_on_normal_holo_light.png Binary files differindex 237f7e7..2e81887 100644 --- a/core/res/res/drawable-mdpi/btn_star_on_normal_holo_light.png +++ b/core/res/res/drawable-mdpi/btn_star_on_normal_holo_light.png diff --git a/core/res/res/drawable-mdpi/btn_star_on_pressed_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_on_pressed_holo_dark.png Binary files differindex c8ffef4..9083aec 100644 --- a/core/res/res/drawable-mdpi/btn_star_on_pressed_holo_dark.png +++ b/core/res/res/drawable-mdpi/btn_star_on_pressed_holo_dark.png diff --git a/core/res/res/drawable-mdpi/btn_star_on_pressed_holo_light.png b/core/res/res/drawable-mdpi/btn_star_on_pressed_holo_light.png Binary files differindex 8be8533..b5f0542 100644 --- a/core/res/res/drawable-mdpi/btn_star_on_pressed_holo_light.png +++ b/core/res/res/drawable-mdpi/btn_star_on_pressed_holo_light.png diff --git a/core/res/res/drawable-mdpi/btn_toggle_off_pressed_holo_dark.9.png b/core/res/res/drawable-mdpi/btn_toggle_off_pressed_holo_dark.9.png Binary files differindex 5e55f6b..626a605 100644 --- a/core/res/res/drawable-mdpi/btn_toggle_off_pressed_holo_dark.9.png +++ b/core/res/res/drawable-mdpi/btn_toggle_off_pressed_holo_dark.9.png diff --git a/core/res/res/drawable-mdpi/btn_toggle_off_pressed_holo_light.9.png b/core/res/res/drawable-mdpi/btn_toggle_off_pressed_holo_light.9.png Binary files differindex 791eda5..196c650 100644 --- a/core/res/res/drawable-mdpi/btn_toggle_off_pressed_holo_light.9.png +++ b/core/res/res/drawable-mdpi/btn_toggle_off_pressed_holo_light.9.png diff --git a/core/res/res/drawable-mdpi/btn_toggle_on_pressed_holo_dark.9.png b/core/res/res/drawable-mdpi/btn_toggle_on_pressed_holo_dark.9.png Binary files differindex 646ed1c..0536053 100644 --- a/core/res/res/drawable-mdpi/btn_toggle_on_pressed_holo_dark.9.png +++ b/core/res/res/drawable-mdpi/btn_toggle_on_pressed_holo_dark.9.png diff --git a/core/res/res/drawable-mdpi/btn_toggle_on_pressed_holo_light.9.png b/core/res/res/drawable-mdpi/btn_toggle_on_pressed_holo_light.9.png Binary files differindex 08ea670..9fc345b 100644 --- a/core/res/res/drawable-mdpi/btn_toggle_on_pressed_holo_light.9.png +++ b/core/res/res/drawable-mdpi/btn_toggle_on_pressed_holo_light.9.png diff --git a/core/res/res/drawable-mdpi/list_longpressed_holo_dark.9.png b/core/res/res/drawable-mdpi/list_longpressed_holo_dark.9.png Binary files differindex d120ab1..c6c1c02 100644 --- a/core/res/res/drawable-mdpi/list_longpressed_holo_dark.9.png +++ b/core/res/res/drawable-mdpi/list_longpressed_holo_dark.9.png 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 Binary files differindex 5f97f2b..fd0e8d7 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 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 Binary files differindex b6427cc..061904c 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 diff --git a/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_dark_am.9.png b/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_dark_am.9.png Binary files differindex 561ac55..b21c73c 100644 --- a/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_dark_am.9.png +++ b/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_dark_am.9.png diff --git a/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_light_am.9.png b/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_light_am.9.png Binary files differindex 05ffe3f..58904e8 100644 --- a/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_light_am.9.png +++ b/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_light_am.9.png diff --git a/core/res/res/drawable-mdpi/spinner_pressed_holo_dark_am.9.png b/core/res/res/drawable-mdpi/spinner_pressed_holo_dark_am.9.png Binary files differindex 363531a..75fb81e 100644 --- a/core/res/res/drawable-mdpi/spinner_pressed_holo_dark_am.9.png +++ b/core/res/res/drawable-mdpi/spinner_pressed_holo_dark_am.9.png diff --git a/core/res/res/drawable-mdpi/spinner_pressed_holo_light_am.9.png b/core/res/res/drawable-mdpi/spinner_pressed_holo_light_am.9.png Binary files differindex d62c04b..fdd88b5 100644 --- a/core/res/res/drawable-mdpi/spinner_pressed_holo_light_am.9.png +++ b/core/res/res/drawable-mdpi/spinner_pressed_holo_light_am.9.png 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 Binary files differindex 92ba340..f9f2fc6 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 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 Binary files differindex e099458..28a57a2 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 diff --git a/core/res/res/drawable-mdpi/tab_selected_pressed_holo.9.png b/core/res/res/drawable-mdpi/tab_selected_pressed_holo.9.png Binary files differindex cdb7b19..c98f046 100644 --- a/core/res/res/drawable-mdpi/tab_selected_pressed_holo.9.png +++ b/core/res/res/drawable-mdpi/tab_selected_pressed_holo.9.png diff --git a/core/res/res/drawable-mdpi/tab_unselected_pressed_holo.9.png b/core/res/res/drawable-mdpi/tab_unselected_pressed_holo.9.png Binary files differindex b27c88d..8753459 100644 --- a/core/res/res/drawable-mdpi/tab_unselected_pressed_holo.9.png +++ b/core/res/res/drawable-mdpi/tab_unselected_pressed_holo.9.png diff --git a/core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_dark.png Binary files differindex ebb439d..ffb13b1 100644 --- a/core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_light.png Binary files differindex c497bf1..86eb889 100644 --- a/core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_light.png diff --git a/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_dark.png Binary files differindex 30b884e..0e1b948 100644 --- a/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_light.png Binary files differindex 511f125..8d8aabc 100644 --- a/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_light.png diff --git a/core/res/res/drawable-xhdpi/btn_default_pressed_holo_dark.9.png b/core/res/res/drawable-xhdpi/btn_default_pressed_holo_dark.9.png Binary files differindex 8a751c3..37f30eb 100644 --- a/core/res/res/drawable-xhdpi/btn_default_pressed_holo_dark.9.png +++ b/core/res/res/drawable-xhdpi/btn_default_pressed_holo_dark.9.png diff --git a/core/res/res/drawable-xhdpi/btn_default_pressed_holo_light.9.png b/core/res/res/drawable-xhdpi/btn_default_pressed_holo_light.9.png Binary files differindex 4294246..a4ac0c7 100644 --- a/core/res/res/drawable-xhdpi/btn_default_pressed_holo_light.9.png +++ b/core/res/res/drawable-xhdpi/btn_default_pressed_holo_light.9.png 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 Binary files differindex bda54ee..0f5f32f 100644 --- 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 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 Binary files differindex 812e1b5..4097ef2 100644 --- 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 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 Binary files differindex 6a0ee8d..a3795a0 100644 --- 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 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 Binary files differindex 4bedd5c..f8e3bd4 100644 --- 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 diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_off_disabled_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_rating_star_off_disabled_focused_holo_dark.png Binary files differindex 7cc4db2..94d6b6e 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_off_disabled_focused_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_off_disabled_focused_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_off_disabled_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_rating_star_off_disabled_focused_holo_light.png Binary files differindex e6d5630bf..68b8e53 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_off_disabled_focused_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_off_disabled_focused_holo_light.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_off_disabled_holo_dark.png b/core/res/res/drawable-xhdpi/btn_rating_star_off_disabled_holo_dark.png Binary files differindex 3556d13..0968ae1 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_off_disabled_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_off_disabled_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_off_disabled_holo_light.png b/core/res/res/drawable-xhdpi/btn_rating_star_off_disabled_holo_light.png Binary files differindex 42c6dfc..a444bf3 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_off_disabled_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_off_disabled_holo_light.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_off_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_rating_star_off_focused_holo_dark.png Binary files differindex 0373da0..95eee6a 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_off_focused_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_off_focused_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_off_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_rating_star_off_focused_holo_light.png Binary files differindex 51b211c..4489c67 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_off_focused_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_off_focused_holo_light.png 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 Binary files differindex d17506f..67cbc1a 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_off_normal.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_off_normal.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_off_normal_holo_dark.png b/core/res/res/drawable-xhdpi/btn_rating_star_off_normal_holo_dark.png Binary files differindex c70eeb5..0f46649 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_off_normal_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_off_normal_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_off_normal_holo_light.png b/core/res/res/drawable-xhdpi/btn_rating_star_off_normal_holo_light.png Binary files differindex fa1450e..e3c0761 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_off_normal_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_off_normal_holo_light.png 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 Binary files differindex 93a01a5..aaa1c5b 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_off_pressed.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_off_pressed.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_off_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/btn_rating_star_off_pressed_holo_dark.png Binary files differindex e711d9d..dad564d 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_off_pressed_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_off_pressed_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_off_pressed_holo_light.png b/core/res/res/drawable-xhdpi/btn_rating_star_off_pressed_holo_light.png Binary files differindex 4bdf427..c891ae3 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_off_pressed_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_off_pressed_holo_light.png 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 Binary files differindex dea640a..7eed14c 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_off_selected.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_off_selected.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_on_disabled_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_rating_star_on_disabled_focused_holo_dark.png Binary files differindex 3a264a4..a8a7bf8 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_on_disabled_focused_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_on_disabled_focused_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_on_disabled_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_rating_star_on_disabled_focused_holo_light.png Binary files differindex 33b0516..e898819 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_on_disabled_focused_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_on_disabled_focused_holo_light.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_on_disabled_holo_dark.png b/core/res/res/drawable-xhdpi/btn_rating_star_on_disabled_holo_dark.png Binary files differindex b349d10..f3a9d3d 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_on_disabled_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_on_disabled_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_on_disabled_holo_light.png b/core/res/res/drawable-xhdpi/btn_rating_star_on_disabled_holo_light.png Binary files differindex 47e56f1..92dfd1a 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_on_disabled_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_on_disabled_holo_light.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_on_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_rating_star_on_focused_holo_dark.png Binary files differindex 4102fd5..0c9d726 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_on_focused_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_on_focused_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_on_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_rating_star_on_focused_holo_light.png Binary files differindex f60477b..3b2055c 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_on_focused_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_on_focused_holo_light.png 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 Binary files differindex cf93bfb..1db48b3 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_on_normal.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_on_normal.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_on_normal_holo_dark.png b/core/res/res/drawable-xhdpi/btn_rating_star_on_normal_holo_dark.png Binary files differindex 5780bab..2b9b617 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_on_normal_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_on_normal_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_on_normal_holo_light.png b/core/res/res/drawable-xhdpi/btn_rating_star_on_normal_holo_light.png Binary files differindex 7483fbd..386b90a 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_on_normal_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_on_normal_holo_light.png 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 Binary files differindex 0696e04..a8e5d00 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_on_pressed.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_on_pressed.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_on_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/btn_rating_star_on_pressed_holo_dark.png Binary files differindex 79567ad..530eed2 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_on_pressed_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_on_pressed_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_rating_star_on_pressed_holo_light.png b/core/res/res/drawable-xhdpi/btn_rating_star_on_pressed_holo_light.png Binary files differindex 65d472f..33ee629 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_on_pressed_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_on_pressed_holo_light.png 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 Binary files differindex 5f3bec2..8ec2103 100644 --- a/core/res/res/drawable-xhdpi/btn_rating_star_on_selected.png +++ b/core/res/res/drawable-xhdpi/btn_rating_star_on_selected.png diff --git a/core/res/res/drawable-xhdpi/btn_star_big_off.png b/core/res/res/drawable-xhdpi/btn_star_big_off.png Binary files differindex f60eb48..4b2abf1 100644 --- a/core/res/res/drawable-xhdpi/btn_star_big_off.png +++ b/core/res/res/drawable-xhdpi/btn_star_big_off.png 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 Binary files differindex 8e0858d..c2f8598 100644 --- a/core/res/res/drawable-xhdpi/btn_star_big_off_disable.png +++ b/core/res/res/drawable-xhdpi/btn_star_big_off_disable.png 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 Binary files differindex f77e08c..1d1a1de 100644 --- 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 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 Binary files differindex 3f9695e..c6bb731 100644 --- a/core/res/res/drawable-xhdpi/btn_star_big_off_pressed.png +++ b/core/res/res/drawable-xhdpi/btn_star_big_off_pressed.png 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 Binary files differindex b2e82da..c25f82e 100644 --- a/core/res/res/drawable-xhdpi/btn_star_big_off_selected.png +++ b/core/res/res/drawable-xhdpi/btn_star_big_off_selected.png diff --git a/core/res/res/drawable-xhdpi/btn_star_big_on.png b/core/res/res/drawable-xhdpi/btn_star_big_on.png Binary files differindex 7cda089..93606c5 100644 --- a/core/res/res/drawable-xhdpi/btn_star_big_on.png +++ b/core/res/res/drawable-xhdpi/btn_star_big_on.png 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 Binary files differindex da50266..c78e42c 100644 --- a/core/res/res/drawable-xhdpi/btn_star_big_on_disable.png +++ b/core/res/res/drawable-xhdpi/btn_star_big_on_disable.png 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 Binary files differindex df07003..6b2a537 100644 --- 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 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 Binary files differindex d56f46d..a25d0de 100644 --- a/core/res/res/drawable-xhdpi/btn_star_big_on_pressed.png +++ b/core/res/res/drawable-xhdpi/btn_star_big_on_pressed.png 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 Binary files differindex 5a62f47..4d84628 100644 --- a/core/res/res/drawable-xhdpi/btn_star_big_on_selected.png +++ b/core/res/res/drawable-xhdpi/btn_star_big_on_selected.png diff --git a/core/res/res/drawable-xhdpi/btn_star_off_disabled_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_off_disabled_focused_holo_dark.png Binary files differindex f31cf27..13a190d 100644 --- a/core/res/res/drawable-xhdpi/btn_star_off_disabled_focused_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_star_off_disabled_focused_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_star_off_disabled_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_off_disabled_focused_holo_light.png Binary files differindex 9b28db8..e9953d9 100644 --- a/core/res/res/drawable-xhdpi/btn_star_off_disabled_focused_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_star_off_disabled_focused_holo_light.png diff --git a/core/res/res/drawable-xhdpi/btn_star_off_disabled_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_off_disabled_holo_dark.png Binary files differindex bec293c..0f05262 100644 --- a/core/res/res/drawable-xhdpi/btn_star_off_disabled_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_star_off_disabled_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_star_off_disabled_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_off_disabled_holo_light.png Binary files differindex eec89df..90243a0 100644 --- a/core/res/res/drawable-xhdpi/btn_star_off_disabled_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_star_off_disabled_holo_light.png diff --git a/core/res/res/drawable-xhdpi/btn_star_off_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_off_focused_holo_dark.png Binary files differindex 757908e..ce667b6 100644 --- a/core/res/res/drawable-xhdpi/btn_star_off_focused_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_star_off_focused_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_star_off_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_off_focused_holo_light.png Binary files differindex c58bd5c..fe9cdee 100644 --- a/core/res/res/drawable-xhdpi/btn_star_off_focused_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_star_off_focused_holo_light.png diff --git a/core/res/res/drawable-xhdpi/btn_star_off_normal_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_off_normal_holo_dark.png Binary files differindex c591cae..392c1be 100644 --- a/core/res/res/drawable-xhdpi/btn_star_off_normal_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_star_off_normal_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_star_off_normal_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_off_normal_holo_light.png Binary files differindex b3e981a..28869df 100644 --- a/core/res/res/drawable-xhdpi/btn_star_off_normal_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_star_off_normal_holo_light.png diff --git a/core/res/res/drawable-xhdpi/btn_star_off_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_off_pressed_holo_dark.png Binary files differindex 614f428..07c20fd 100644 --- a/core/res/res/drawable-xhdpi/btn_star_off_pressed_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_star_off_pressed_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_star_off_pressed_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_off_pressed_holo_light.png Binary files differindex f80f9b3..aabcec2 100644 --- a/core/res/res/drawable-xhdpi/btn_star_off_pressed_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_star_off_pressed_holo_light.png diff --git a/core/res/res/drawable-xhdpi/btn_star_on_disabled_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_on_disabled_focused_holo_dark.png Binary files differindex 25fd6bb..5ffb71b 100644 --- a/core/res/res/drawable-xhdpi/btn_star_on_disabled_focused_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_star_on_disabled_focused_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_star_on_disabled_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_on_disabled_focused_holo_light.png Binary files differindex fcd06af..22d0cfb 100644 --- a/core/res/res/drawable-xhdpi/btn_star_on_disabled_focused_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_star_on_disabled_focused_holo_light.png diff --git a/core/res/res/drawable-xhdpi/btn_star_on_disabled_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_on_disabled_holo_dark.png Binary files differindex 641f79b..fdee7fa 100644 --- a/core/res/res/drawable-xhdpi/btn_star_on_disabled_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_star_on_disabled_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_star_on_disabled_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_on_disabled_holo_light.png Binary files differindex 9e47d8b..7b6534b 100644 --- a/core/res/res/drawable-xhdpi/btn_star_on_disabled_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_star_on_disabled_holo_light.png diff --git a/core/res/res/drawable-xhdpi/btn_star_on_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_on_focused_holo_dark.png Binary files differindex 8f14270..b4e438a 100644 --- a/core/res/res/drawable-xhdpi/btn_star_on_focused_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_star_on_focused_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_star_on_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_on_focused_holo_light.png Binary files differindex 1d55670..8d19fc9 100644 --- a/core/res/res/drawable-xhdpi/btn_star_on_focused_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_star_on_focused_holo_light.png diff --git a/core/res/res/drawable-xhdpi/btn_star_on_normal_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_on_normal_holo_dark.png Binary files differindex 032e89f..046df69 100644 --- a/core/res/res/drawable-xhdpi/btn_star_on_normal_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_star_on_normal_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_star_on_normal_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_on_normal_holo_light.png Binary files differindex ef59ce2..f17d60b 100644 --- a/core/res/res/drawable-xhdpi/btn_star_on_normal_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_star_on_normal_holo_light.png diff --git a/core/res/res/drawable-xhdpi/btn_star_on_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_on_pressed_holo_dark.png Binary files differindex 840967c..474a25a 100644 --- a/core/res/res/drawable-xhdpi/btn_star_on_pressed_holo_dark.png +++ b/core/res/res/drawable-xhdpi/btn_star_on_pressed_holo_dark.png diff --git a/core/res/res/drawable-xhdpi/btn_star_on_pressed_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_on_pressed_holo_light.png Binary files differindex d7f7ee4..f66c059 100644 --- a/core/res/res/drawable-xhdpi/btn_star_on_pressed_holo_light.png +++ b/core/res/res/drawable-xhdpi/btn_star_on_pressed_holo_light.png diff --git a/core/res/res/drawable-xhdpi/btn_toggle_off_pressed_holo_dark.9.png b/core/res/res/drawable-xhdpi/btn_toggle_off_pressed_holo_dark.9.png Binary files differindex a1b4e40..ce3d0d9 100644 --- a/core/res/res/drawable-xhdpi/btn_toggle_off_pressed_holo_dark.9.png +++ b/core/res/res/drawable-xhdpi/btn_toggle_off_pressed_holo_dark.9.png diff --git a/core/res/res/drawable-xhdpi/btn_toggle_off_pressed_holo_light.9.png b/core/res/res/drawable-xhdpi/btn_toggle_off_pressed_holo_light.9.png Binary files differindex ba9f6a0..9d07941 100644 --- a/core/res/res/drawable-xhdpi/btn_toggle_off_pressed_holo_light.9.png +++ b/core/res/res/drawable-xhdpi/btn_toggle_off_pressed_holo_light.9.png diff --git a/core/res/res/drawable-xhdpi/btn_toggle_on_pressed_holo_dark.9.png b/core/res/res/drawable-xhdpi/btn_toggle_on_pressed_holo_dark.9.png Binary files differindex 4afca86..ab794db 100644 --- a/core/res/res/drawable-xhdpi/btn_toggle_on_pressed_holo_dark.9.png +++ b/core/res/res/drawable-xhdpi/btn_toggle_on_pressed_holo_dark.9.png diff --git a/core/res/res/drawable-xhdpi/btn_toggle_on_pressed_holo_light.9.png b/core/res/res/drawable-xhdpi/btn_toggle_on_pressed_holo_light.9.png Binary files differindex eb79128..2ea1047 100644 --- a/core/res/res/drawable-xhdpi/btn_toggle_on_pressed_holo_light.9.png +++ b/core/res/res/drawable-xhdpi/btn_toggle_on_pressed_holo_light.9.png diff --git a/core/res/res/drawable-xhdpi/list_longpressed_holo_dark.9.png b/core/res/res/drawable-xhdpi/list_longpressed_holo_dark.9.png Binary files differindex 4baaed3..1080244 100644 --- a/core/res/res/drawable-xhdpi/list_longpressed_holo_dark.9.png +++ b/core/res/res/drawable-xhdpi/list_longpressed_holo_dark.9.png 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 Binary files differindex e9e7c18..29037a0 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 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 Binary files differindex 5326b45..f4af926 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 diff --git a/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_dark_am.9.png b/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_dark_am.9.png Binary files differindex fe701d8..2dab26f 100644 --- a/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_dark_am.9.png +++ b/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_dark_am.9.png diff --git a/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_light_am.9.png b/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_light_am.9.png Binary files differindex efec27b..d15cd51 100644 --- a/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_light_am.9.png +++ b/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_light_am.9.png diff --git a/core/res/res/drawable-xhdpi/spinner_pressed_holo_dark_am.9.png b/core/res/res/drawable-xhdpi/spinner_pressed_holo_dark_am.9.png Binary files differindex eb44f17..2023a9d 100644 --- a/core/res/res/drawable-xhdpi/spinner_pressed_holo_dark_am.9.png +++ b/core/res/res/drawable-xhdpi/spinner_pressed_holo_dark_am.9.png diff --git a/core/res/res/drawable-xhdpi/spinner_pressed_holo_light_am.9.png b/core/res/res/drawable-xhdpi/spinner_pressed_holo_light_am.9.png Binary files differindex dfceeed..3b066ae 100644 --- a/core/res/res/drawable-xhdpi/spinner_pressed_holo_light_am.9.png +++ b/core/res/res/drawable-xhdpi/spinner_pressed_holo_light_am.9.png diff --git a/core/res/res/drawable-xhdpi/switch_thumb_pressed_holo_dark.9.png b/core/res/res/drawable-xhdpi/switch_thumb_pressed_holo_dark.9.png Binary files differindex 64a2e52..dc69b12 100644 --- a/core/res/res/drawable-xhdpi/switch_thumb_pressed_holo_dark.9.png +++ b/core/res/res/drawable-xhdpi/switch_thumb_pressed_holo_dark.9.png diff --git a/core/res/res/drawable-xhdpi/switch_thumb_pressed_holo_light.9.png b/core/res/res/drawable-xhdpi/switch_thumb_pressed_holo_light.9.png Binary files differindex 5110439..2370b63 100644 --- a/core/res/res/drawable-xhdpi/switch_thumb_pressed_holo_light.9.png +++ b/core/res/res/drawable-xhdpi/switch_thumb_pressed_holo_light.9.png diff --git a/core/res/res/drawable-xhdpi/tab_selected_pressed_holo.9.png b/core/res/res/drawable-xhdpi/tab_selected_pressed_holo.9.png Binary files differindex 1df4a4d..f13a194 100644 --- a/core/res/res/drawable-xhdpi/tab_selected_pressed_holo.9.png +++ b/core/res/res/drawable-xhdpi/tab_selected_pressed_holo.9.png diff --git a/core/res/res/drawable-xhdpi/tab_unselected_pressed_holo.9.png b/core/res/res/drawable-xhdpi/tab_unselected_pressed_holo.9.png Binary files differindex 574dbef..358ce26 100644 --- a/core/res/res/drawable-xhdpi/tab_unselected_pressed_holo.9.png +++ b/core/res/res/drawable-xhdpi/tab_unselected_pressed_holo.9.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_off_pressed_holo_dark.png b/core/res/res/drawable-xxhdpi/btn_check_off_pressed_holo_dark.png Binary files differindex 5ba273a..4c95f96 100644 --- a/core/res/res/drawable-xxhdpi/btn_check_off_pressed_holo_dark.png +++ b/core/res/res/drawable-xxhdpi/btn_check_off_pressed_holo_dark.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_off_pressed_holo_light.png b/core/res/res/drawable-xxhdpi/btn_check_off_pressed_holo_light.png Binary files differindex 32942b9..df468e0 100644 --- a/core/res/res/drawable-xxhdpi/btn_check_off_pressed_holo_light.png +++ b/core/res/res/drawable-xxhdpi/btn_check_off_pressed_holo_light.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_on_pressed_holo_dark.png b/core/res/res/drawable-xxhdpi/btn_check_on_pressed_holo_dark.png Binary files differindex 70ee78f..81b0f87 100644 --- a/core/res/res/drawable-xxhdpi/btn_check_on_pressed_holo_dark.png +++ b/core/res/res/drawable-xxhdpi/btn_check_on_pressed_holo_dark.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_on_pressed_holo_light.png b/core/res/res/drawable-xxhdpi/btn_check_on_pressed_holo_light.png Binary files differindex 5bd562e..385350c 100644 --- a/core/res/res/drawable-xxhdpi/btn_check_on_pressed_holo_light.png +++ b/core/res/res/drawable-xxhdpi/btn_check_on_pressed_holo_light.png diff --git a/core/res/res/drawable-xxhdpi/btn_default_pressed_holo_dark.9.png b/core/res/res/drawable-xxhdpi/btn_default_pressed_holo_dark.9.png Binary files differindex a476b99..016a5ee 100644 --- a/core/res/res/drawable-xxhdpi/btn_default_pressed_holo_dark.9.png +++ b/core/res/res/drawable-xxhdpi/btn_default_pressed_holo_dark.9.png diff --git a/core/res/res/drawable-xxhdpi/btn_default_pressed_holo_light.9.png b/core/res/res/drawable-xxhdpi/btn_default_pressed_holo_light.9.png Binary files differindex cfa776c..9521603 100644 --- a/core/res/res/drawable-xxhdpi/btn_default_pressed_holo_light.9.png +++ b/core/res/res/drawable-xxhdpi/btn_default_pressed_holo_light.9.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_off_pressed_holo_dark.png b/core/res/res/drawable-xxhdpi/btn_radio_off_pressed_holo_dark.png Binary files differindex 181f0a5..39ff3d5 100644 --- a/core/res/res/drawable-xxhdpi/btn_radio_off_pressed_holo_dark.png +++ b/core/res/res/drawable-xxhdpi/btn_radio_off_pressed_holo_dark.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_off_pressed_holo_light.png b/core/res/res/drawable-xxhdpi/btn_radio_off_pressed_holo_light.png Binary files differindex 536c618..702155f 100644 --- a/core/res/res/drawable-xxhdpi/btn_radio_off_pressed_holo_light.png +++ b/core/res/res/drawable-xxhdpi/btn_radio_off_pressed_holo_light.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_on_pressed_holo_dark.png b/core/res/res/drawable-xxhdpi/btn_radio_on_pressed_holo_dark.png Binary files differindex 3bb4ed0..d43a0f9 100644 --- a/core/res/res/drawable-xxhdpi/btn_radio_on_pressed_holo_dark.png +++ b/core/res/res/drawable-xxhdpi/btn_radio_on_pressed_holo_dark.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_on_pressed_holo_light.png b/core/res/res/drawable-xxhdpi/btn_radio_on_pressed_holo_light.png Binary files differindex 1171dcb..c05643f 100644 --- a/core/res/res/drawable-xxhdpi/btn_radio_on_pressed_holo_light.png +++ b/core/res/res/drawable-xxhdpi/btn_radio_on_pressed_holo_light.png diff --git a/core/res/res/drawable-xxhdpi/btn_rating_star_off_pressed_holo_dark.png b/core/res/res/drawable-xxhdpi/btn_rating_star_off_pressed_holo_dark.png Binary files differindex 03c26f0..899e577 100644 --- a/core/res/res/drawable-xxhdpi/btn_rating_star_off_pressed_holo_dark.png +++ b/core/res/res/drawable-xxhdpi/btn_rating_star_off_pressed_holo_dark.png diff --git a/core/res/res/drawable-xxhdpi/btn_rating_star_off_pressed_holo_light.png b/core/res/res/drawable-xxhdpi/btn_rating_star_off_pressed_holo_light.png Binary files differindex f601b3b..aaa6826 100644 --- a/core/res/res/drawable-xxhdpi/btn_rating_star_off_pressed_holo_light.png +++ b/core/res/res/drawable-xxhdpi/btn_rating_star_off_pressed_holo_light.png diff --git a/core/res/res/drawable-xxhdpi/btn_rating_star_on_pressed_holo_dark.png b/core/res/res/drawable-xxhdpi/btn_rating_star_on_pressed_holo_dark.png Binary files differindex dc5233b..e15fc63 100644 --- a/core/res/res/drawable-xxhdpi/btn_rating_star_on_pressed_holo_dark.png +++ b/core/res/res/drawable-xxhdpi/btn_rating_star_on_pressed_holo_dark.png diff --git a/core/res/res/drawable-xxhdpi/btn_rating_star_on_pressed_holo_light.png b/core/res/res/drawable-xxhdpi/btn_rating_star_on_pressed_holo_light.png Binary files differindex 2afb586..cc82a54 100644 --- a/core/res/res/drawable-xxhdpi/btn_rating_star_on_pressed_holo_light.png +++ b/core/res/res/drawable-xxhdpi/btn_rating_star_on_pressed_holo_light.png diff --git a/core/res/res/drawable-xxhdpi/btn_star_off_pressed_holo_dark.png b/core/res/res/drawable-xxhdpi/btn_star_off_pressed_holo_dark.png Binary files differindex d7416c0..b756e79 100644 --- a/core/res/res/drawable-xxhdpi/btn_star_off_pressed_holo_dark.png +++ b/core/res/res/drawable-xxhdpi/btn_star_off_pressed_holo_dark.png diff --git a/core/res/res/drawable-xxhdpi/btn_star_off_pressed_holo_light.png b/core/res/res/drawable-xxhdpi/btn_star_off_pressed_holo_light.png Binary files differindex 47587d2..89bf5b4 100644 --- a/core/res/res/drawable-xxhdpi/btn_star_off_pressed_holo_light.png +++ b/core/res/res/drawable-xxhdpi/btn_star_off_pressed_holo_light.png diff --git a/core/res/res/drawable-xxhdpi/btn_star_on_pressed_holo_dark.png b/core/res/res/drawable-xxhdpi/btn_star_on_pressed_holo_dark.png Binary files differindex b258503..50e4940 100644 --- a/core/res/res/drawable-xxhdpi/btn_star_on_pressed_holo_dark.png +++ b/core/res/res/drawable-xxhdpi/btn_star_on_pressed_holo_dark.png diff --git a/core/res/res/drawable-xxhdpi/btn_star_on_pressed_holo_light.png b/core/res/res/drawable-xxhdpi/btn_star_on_pressed_holo_light.png Binary files differindex 703e502..0b77905 100644 --- a/core/res/res/drawable-xxhdpi/btn_star_on_pressed_holo_light.png +++ b/core/res/res/drawable-xxhdpi/btn_star_on_pressed_holo_light.png diff --git a/core/res/res/drawable-xxhdpi/btn_toggle_off_pressed_holo_dark.9.png b/core/res/res/drawable-xxhdpi/btn_toggle_off_pressed_holo_dark.9.png Binary files differindex 966511e..1e675d3 100644 --- a/core/res/res/drawable-xxhdpi/btn_toggle_off_pressed_holo_dark.9.png +++ b/core/res/res/drawable-xxhdpi/btn_toggle_off_pressed_holo_dark.9.png diff --git a/core/res/res/drawable-xxhdpi/btn_toggle_off_pressed_holo_light.9.png b/core/res/res/drawable-xxhdpi/btn_toggle_off_pressed_holo_light.9.png Binary files differindex b6cd6a2..2ceb802 100644 --- a/core/res/res/drawable-xxhdpi/btn_toggle_off_pressed_holo_light.9.png +++ b/core/res/res/drawable-xxhdpi/btn_toggle_off_pressed_holo_light.9.png diff --git a/core/res/res/drawable-xxhdpi/btn_toggle_on_pressed_holo_dark.9.png b/core/res/res/drawable-xxhdpi/btn_toggle_on_pressed_holo_dark.9.png Binary files differindex 33eb011..e7a9265 100644 --- a/core/res/res/drawable-xxhdpi/btn_toggle_on_pressed_holo_dark.9.png +++ b/core/res/res/drawable-xxhdpi/btn_toggle_on_pressed_holo_dark.9.png diff --git a/core/res/res/drawable-xxhdpi/btn_toggle_on_pressed_holo_light.9.png b/core/res/res/drawable-xxhdpi/btn_toggle_on_pressed_holo_light.9.png Binary files differindex 8d55f44..df58767 100644 --- a/core/res/res/drawable-xxhdpi/btn_toggle_on_pressed_holo_light.9.png +++ b/core/res/res/drawable-xxhdpi/btn_toggle_on_pressed_holo_light.9.png diff --git a/core/res/res/drawable-xxhdpi/list_longpressed_holo_dark.9.png b/core/res/res/drawable-xxhdpi/list_longpressed_holo_dark.9.png Binary files differindex c6079cd..6eb451f 100644 --- a/core/res/res/drawable-xxhdpi/list_longpressed_holo_dark.9.png +++ b/core/res/res/drawable-xxhdpi/list_longpressed_holo_dark.9.png diff --git a/core/res/res/drawable-xxhdpi/list_pressed_holo_dark.9.png b/core/res/res/drawable-xxhdpi/list_pressed_holo_dark.9.png Binary files differindex 2d4f230..d4952ea 100644 --- a/core/res/res/drawable-xxhdpi/list_pressed_holo_dark.9.png +++ b/core/res/res/drawable-xxhdpi/list_pressed_holo_dark.9.png diff --git a/core/res/res/drawable-xxhdpi/list_pressed_holo_light.9.png b/core/res/res/drawable-xxhdpi/list_pressed_holo_light.9.png Binary files differindex bd707b0..1352a17 100644 --- a/core/res/res/drawable-xxhdpi/list_pressed_holo_light.9.png +++ b/core/res/res/drawable-xxhdpi/list_pressed_holo_light.9.png diff --git a/core/res/res/drawable-xxhdpi/spinner_ab_pressed_holo_dark_am.9.png b/core/res/res/drawable-xxhdpi/spinner_ab_pressed_holo_dark_am.9.png Binary files differindex 5cb3d60..e78bfd0 100644 --- a/core/res/res/drawable-xxhdpi/spinner_ab_pressed_holo_dark_am.9.png +++ b/core/res/res/drawable-xxhdpi/spinner_ab_pressed_holo_dark_am.9.png diff --git a/core/res/res/drawable-xxhdpi/spinner_ab_pressed_holo_light_am.9.png b/core/res/res/drawable-xxhdpi/spinner_ab_pressed_holo_light_am.9.png Binary files differindex 91528b4..66c80a2 100644 --- a/core/res/res/drawable-xxhdpi/spinner_ab_pressed_holo_light_am.9.png +++ b/core/res/res/drawable-xxhdpi/spinner_ab_pressed_holo_light_am.9.png diff --git a/core/res/res/drawable-xxhdpi/spinner_pressed_holo_dark_am.9.png b/core/res/res/drawable-xxhdpi/spinner_pressed_holo_dark_am.9.png Binary files differindex 37e1cdc..e2212a5 100644 --- a/core/res/res/drawable-xxhdpi/spinner_pressed_holo_dark_am.9.png +++ b/core/res/res/drawable-xxhdpi/spinner_pressed_holo_dark_am.9.png diff --git a/core/res/res/drawable-xxhdpi/spinner_pressed_holo_light_am.9.png b/core/res/res/drawable-xxhdpi/spinner_pressed_holo_light_am.9.png Binary files differindex 2990407..881ce7e 100644 --- a/core/res/res/drawable-xxhdpi/spinner_pressed_holo_light_am.9.png +++ b/core/res/res/drawable-xxhdpi/spinner_pressed_holo_light_am.9.png diff --git a/core/res/res/drawable-xxhdpi/switch_thumb_pressed_holo_dark.9.png b/core/res/res/drawable-xxhdpi/switch_thumb_pressed_holo_dark.9.png Binary files differindex 94ab960..98c517f 100644 --- a/core/res/res/drawable-xxhdpi/switch_thumb_pressed_holo_dark.9.png +++ b/core/res/res/drawable-xxhdpi/switch_thumb_pressed_holo_dark.9.png diff --git a/core/res/res/drawable-xxhdpi/switch_thumb_pressed_holo_light.9.png b/core/res/res/drawable-xxhdpi/switch_thumb_pressed_holo_light.9.png Binary files differindex b795052..a93ee06 100644 --- a/core/res/res/drawable-xxhdpi/switch_thumb_pressed_holo_light.9.png +++ b/core/res/res/drawable-xxhdpi/switch_thumb_pressed_holo_light.9.png diff --git a/core/res/res/drawable-xxhdpi/tab_selected_pressed_holo.9.png b/core/res/res/drawable-xxhdpi/tab_selected_pressed_holo.9.png Binary files differindex c2ee05f..ffedd02 100644 --- a/core/res/res/drawable-xxhdpi/tab_selected_pressed_holo.9.png +++ b/core/res/res/drawable-xxhdpi/tab_selected_pressed_holo.9.png diff --git a/core/res/res/drawable-xxhdpi/tab_unselected_pressed_holo.9.png b/core/res/res/drawable-xxhdpi/tab_unselected_pressed_holo.9.png Binary files differindex 7faf667..82c6998 100644 --- a/core/res/res/drawable-xxhdpi/tab_unselected_pressed_holo.9.png +++ b/core/res/res/drawable-xxhdpi/tab_unselected_pressed_holo.9.png diff --git a/docs/html/sdk/index.jd b/docs/html/sdk/index.jd index 118958d..eb2d6a7 100644 --- a/docs/html/sdk/index.jd +++ b/docs/html/sdk/index.jd @@ -36,8 +36,8 @@ sdk.mac_bytes=74859877 sdk.mac_checksum=727a51affa2af733eca1aa307c73c3bd sdk.win_download=android-sdk_r22.2.1-windows.zip -sdk.win_bytes=108676651 -sdk.win_checksum=3b3f63ae00cf946d1174fa08b37d8542 +sdk.win_bytes=108797377 +sdk.win_checksum=bea5d28cfb6c073b32643dd3ed0bc1e0 sdk.win_installer=installer_r22.2.1-windows.exe sdk.win_installer_bytes=88795776 diff --git a/docs/html/tools/revisions/platforms.jd b/docs/html/tools/revisions/platforms.jd index 7cf3735..02216de 100644 --- a/docs/html/tools/revisions/platforms.jd +++ b/docs/html/tools/revisions/platforms.jd @@ -96,14 +96,29 @@ class="toggle-content-img" alt="" />Revision 1</a> <em>(July 2013)</em> <div class="toggle-content opened"> <p><a href="#" onclick="return toggleContent(this)"> <img src="{@docRoot}assets/images/triangle-opened.png" +class="toggle-content-img" alt="" />Revision 3</a> <em>(September 2013)</em> + </p> + + <div class="toggle-content-toggleme"> + + <p>Maintenance update. This release includes + <a href="{@docRoot}google/play-services/index.html">Google Play services</a> version 3.2.65, + allowing you to test your application in an emulator using the latest Google Play services.</p> + + </div> +</div> + +<div class="toggle-content closed"> + <p><a href="#" onclick="return toggleContent(this)"> + <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt="" />Revision 2</a> <em>(August 2013)</em> </p> <div class="toggle-content-toggleme"> <p>Maintenance update. This release includes - <a href="{@docRoot}google/play-services/index.html">Google Play Services</a> version 3.2.25, - allowing you to test your application in an emulator using the latest Google Play Services.</p> + <a href="{@docRoot}google/play-services/index.html">Google Play services</a> version 3.2.25, + allowing you to test your application in an emulator using the latest Google Play services.</p> </div> </div> @@ -117,7 +132,7 @@ class="toggle-content-img" alt="" />Revision 1</a> <em>(July 2013)</em> <div class="toggle-content-toggleme"> <p>Initial release. This release includes - <a href="{@docRoot}google/play-services/index.html">Google Play Services</a> version 3.1.58.</p> + <a href="{@docRoot}google/play-services/index.html">Google Play services</a> version 3.1.58.</p> </div> </div> diff --git a/libs/hwui/FontRenderer.cpp b/libs/hwui/FontRenderer.cpp index 7e99a5f..00e7870 100644 --- a/libs/hwui/FontRenderer.cpp +++ b/libs/hwui/FontRenderer.cpp @@ -353,7 +353,7 @@ void FontRenderer::cacheBitmap(const SkGlyph& glyph, CachedGlyphInfo* cachedGlyp memset(dstR += dstStride, 0, borderSize); // trailing border column } // write trailing border line - memset(dstL, 0, rowSize + 2 * borderSize); + memset(dstL += dstStride, 0, rowSize + 2 * borderSize); break; } case SkMask::kBW_Format: { diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_dir_shadow.9.png b/packages/DocumentsUI/res/drawable-hdpi/ic_dir_shadow.9.png Binary files differnew file mode 100644 index 0000000..0240874 --- /dev/null +++ b/packages/DocumentsUI/res/drawable-hdpi/ic_dir_shadow.9.png diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_dir_shadow.9.png b/packages/DocumentsUI/res/drawable-mdpi/ic_dir_shadow.9.png Binary files differnew file mode 100644 index 0000000..0240874 --- /dev/null +++ b/packages/DocumentsUI/res/drawable-mdpi/ic_dir_shadow.9.png diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_dir_shadow.9.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_dir_shadow.9.png Binary files differnew file mode 100644 index 0000000..0240874 --- /dev/null +++ b/packages/DocumentsUI/res/drawable-xxhdpi/ic_dir_shadow.9.png diff --git a/packages/DocumentsUI/res/layout-sw720dp/activity.xml b/packages/DocumentsUI/res/layout-sw720dp/activity.xml index 584a44d..78735fd 100644 --- a/packages/DocumentsUI/res/layout-sw720dp/activity.xml +++ b/packages/DocumentsUI/res/layout-sw720dp/activity.xml @@ -44,7 +44,7 @@ android:layout_weight="1" android:orientation="vertical"> - <FrameLayout + <com.android.documentsui.DirectoryContainerView android:id="@+id/container_directory" android:layout_width="match_parent" android:layout_height="0dip" diff --git a/packages/DocumentsUI/src/com/android/documentsui/RecentsCreateFragment.java b/packages/DocumentsUI/src/com/android/documentsui/RecentsCreateFragment.java index 140373b..b533925 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/RecentsCreateFragment.java +++ b/packages/DocumentsUI/src/com/android/documentsui/RecentsCreateFragment.java @@ -206,7 +206,7 @@ public class RecentsCreateFragment extends Fragment { title.setText(builder); title.setEllipsize(TruncateAt.MIDDLE); - line2.setVisibility(View.GONE); + if (line2 != null) line2.setVisibility(View.GONE); return convertView; } diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml index 4cd781a..757121f 100644 --- a/packages/SystemUI/res/values/colors.xml +++ b/packages/SystemUI/res/values/colors.xml @@ -21,7 +21,7 @@ <drawable name="ticker_background_color">#ff1d1d1d</drawable> <drawable name="system_bar_background">#ff000000</drawable> <color name="system_bar_background_semi_transparent">#66000000</color> <!-- 40% black --> - <color name="system_bar_background_gradient_start">#7f000000</color> <!-- 50% black --> + <color name="system_bar_background_gradient_start">#8c000000</color> <!-- 55% black --> <color name="system_bar_background_gradient_end">#00000000</color> <color name="notification_panel_solid_background">#ff000000</color> <drawable name="status_bar_recents_app_thumbnail_background">#88000000</drawable> diff --git a/services/java/com/android/server/AlarmManagerService.java b/services/java/com/android/server/AlarmManagerService.java index 98b5f66..bb6c4e6 100644 --- a/services/java/com/android/server/AlarmManagerService.java +++ b/services/java/com/android/server/AlarmManagerService.java @@ -470,7 +470,8 @@ class AlarmManagerService extends IAlarmManager.Stub { mTimeTickSender = PendingIntent.getBroadcastAsUser(context, 0, new Intent(Intent.ACTION_TIME_TICK).addFlags( - Intent.FLAG_RECEIVER_REGISTERED_ONLY), 0, + Intent.FLAG_RECEIVER_REGISTERED_ONLY + | Intent.FLAG_RECEIVER_FOREGROUND), 0, UserHandle.ALL); Intent intent = new Intent(Intent.ACTION_DATE_CHANGED); intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING); diff --git a/services/java/com/android/server/LocationManagerService.java b/services/java/com/android/server/LocationManagerService.java index f70f4db..b6ccce7 100644 --- a/services/java/com/android/server/LocationManagerService.java +++ b/services/java/com/android/server/LocationManagerService.java @@ -1472,7 +1472,7 @@ public class LocationManagerService extends ILocationManager.Stub { + " " + name + " " + request + " from " + packageName + "(" + uid + ")"); LocationProviderInterface provider = mProvidersByName.get(name); if (provider == null) { - throw new IllegalArgumentException("provider doesn't exisit: " + provider); + throw new IllegalArgumentException("provider doesn't exist: " + provider); } UpdateRecord record = new UpdateRecord(name, request, receiver); diff --git a/services/java/com/android/server/NetworkTimeUpdateService.java b/services/java/com/android/server/NetworkTimeUpdateService.java index cbddf67..fddb54e 100644 --- a/services/java/com/android/server/NetworkTimeUpdateService.java +++ b/services/java/com/android/server/NetworkTimeUpdateService.java @@ -27,6 +27,7 @@ import android.database.ContentObserver; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Handler; +import android.os.HandlerThread; import android.os.Looper; import android.os.Message; import android.os.SystemClock; @@ -35,7 +36,6 @@ import android.util.Log; import android.util.NtpTrustedTime; import android.util.TrustedTime; -import com.android.internal.os.BackgroundThread; import com.android.internal.telephony.TelephonyIntents; /** @@ -113,7 +113,9 @@ public class NetworkTimeUpdateService { registerForAlarms(); registerForConnectivityIntents(); - mHandler = new MyHandler(BackgroundThread.get().getLooper()); + HandlerThread thread = new HandlerThread(TAG); + thread.start(); + mHandler = new MyHandler(thread.getLooper()); // Check the network time on the new thread mHandler.obtainMessage(EVENT_POLL_NETWORK_TIME).sendToTarget(); diff --git a/services/java/com/android/server/am/ActiveServices.java b/services/java/com/android/server/am/ActiveServices.java index fea7623..4379c70 100644 --- a/services/java/com/android/server/am/ActiveServices.java +++ b/services/java/com/android/server/am/ActiveServices.java @@ -311,7 +311,7 @@ public final class ActiveServices { final ServiceMap smap = getServiceMap(r.userId); boolean addToStarting = false; if (!callerFg && r.app == null && mAm.mStartedUsers.get(r.userId) != null) { - ProcessRecord proc = mAm.getProcessRecordLocked(r.processName, r.appInfo.uid); + ProcessRecord proc = mAm.getProcessRecordLocked(r.processName, r.appInfo.uid, false); if (proc == null || proc.curProcState > ActivityManager.PROCESS_STATE_RECEIVER) { // If this is not coming from a foreground caller, then we may want // to delay the start if there are already other background services @@ -562,7 +562,7 @@ public final class ActiveServices { if (r.isForeground) { r.isForeground = false; if (r.app != null) { - mAm.updateLruProcessLocked(r.app, false); + mAm.updateLruProcessLocked(r.app, false, false); updateServiceForegroundLocked(r.app, true); } } @@ -1241,9 +1241,9 @@ public final class ActiveServices { ProcessRecord app; if (!isolated) { - app = mAm.getProcessRecordLocked(procName, r.appInfo.uid); - if (DEBUG_MU) - Slog.v(TAG_MU, "bringUpServiceLocked: appInfo.uid=" + r.appInfo.uid + " app=" + app); + app = mAm.getProcessRecordLocked(procName, r.appInfo.uid, false); + if (DEBUG_MU) Slog.v(TAG_MU, "bringUpServiceLocked: appInfo.uid=" + r.appInfo.uid + + " app=" + app); if (app != null && app.thread != null) { try { app.addPackage(r.appInfo.packageName, mAm.mProcessStats); @@ -1270,7 +1270,7 @@ public final class ActiveServices { // to be executed when the app comes up. if (app == null) { if ((app=mAm.startProcessLocked(procName, r.appInfo, true, intentFlags, - "service", r.name, false, isolated)) == null) { + "service", r.name, false, isolated, false)) == null) { String msg = "Unable to launch app " + r.appInfo.packageName + "/" + r.appInfo.uid + " for service " @@ -1322,7 +1322,7 @@ public final class ActiveServices { app.services.add(r); bumpServiceExecutingLocked(r, execInFg, "create"); - mAm.updateLruProcessLocked(app, true); + mAm.updateLruProcessLocked(app, true, false); boolean created = false; try { diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index f08b5b9..7a480dc 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -499,6 +499,11 @@ public final class ActivityManagerService extends ActivityManagerNative final ArrayList<ProcessRecord> mLruProcesses = new ArrayList<ProcessRecord>(); /** + * Where in mLruProcesses that the processes hosting activities start. + */ + int mLruProcessActivityStart = 0; + + /** * List of processes that should gc as soon as things are idle. */ final ArrayList<ProcessRecord> mProcessesToGc = new ArrayList<ProcessRecord>(); @@ -1638,7 +1643,7 @@ public final class ActivityManagerService extends ActivityManagerNative int pid; synchronized (ActivityManagerService.this) { if (i >= mPendingPssProcesses.size()) { - if (DEBUG_PSS) Slog.i(TAG, "Collected PSS of " + num + " of " + i + if (DEBUG_PSS) Slog.d(TAG, "Collected PSS of " + num + " of " + i + " processes in " + (SystemClock.uptimeMillis()-start) + "ms"); mPendingPssProcesses.clear(); return; @@ -1661,10 +1666,16 @@ public final class ActivityManagerService extends ActivityManagerNative num++; proc.lastPssTime = SystemClock.uptimeMillis(); proc.baseProcessTracker.addPss(pss, tmp[0], true); + if (DEBUG_PSS) Slog.d(TAG, "PSS of " + proc.toShortString() + + ": " + pss + " lastPss=" + proc.lastPss + + " state=" + ProcessList.makeProcStateString(procState)); if (proc.initialIdlePss == 0) { proc.initialIdlePss = pss; } proc.lastPss = pss; + if (procState >= ActivityManager.PROCESS_STATE_HOME) { + proc.lastCachedPss = pss; + } } } } @@ -1704,7 +1715,7 @@ public final class ActivityManagerService extends ActivityManagerNative synchronized (mSelf.mPidsSelfLocked) { mSelf.mPidsSelfLocked.put(app.pid, app); } - mSelf.updateLruProcessLocked(app, true); + mSelf.updateLruProcessLocked(app, true, false); } } catch (PackageManager.NameNotFoundException e) { throw new RuntimeException( @@ -2219,52 +2230,76 @@ public final class ActivityManagerService extends ActivityManagerNative mHandler.sendMessage(msg); } - private final void updateLruProcessInternalLocked(ProcessRecord app, int bestPos) { - // put it on the LRU to keep track of when it should be exited. - int lrui = mLruProcesses.indexOf(app); - if (lrui >= 0) mLruProcesses.remove(lrui); + private final int updateLruProcessInternalLocked(ProcessRecord app, long now, int index) { + app.lastActivityTime = now; - int i = mLruProcesses.size()-1; - int skipTop = 0; + if (app.activities.size() > 0) { + // Don't want to touch dependent processes that are hosting activities. + return index; + } - app.lruSeq = mLruSeq; + int lrui = mLruProcesses.lastIndexOf(app); + if (lrui < 0) { + throw new IllegalStateException("Adding dependent process " + app + + " not on LRU list!"); + } - // compute the new weight for this process. - app.lastActivityTime = SystemClock.uptimeMillis(); - if (app.activities.size() > 0) { - // If this process has activities, we more strongly want to keep - // it around. - app.lruWeight = app.lastActivityTime; - } else if (app.pubProviders.size() > 0) { - // If this process contains content providers, we want to keep - // it a little more strongly. - app.lruWeight = app.lastActivityTime - ProcessList.CONTENT_APP_IDLE_OFFSET; - // Also don't let it kick out the first few "real" cached processes. - skipTop = ProcessList.MIN_CACHED_APPS; - } else { - // If this process doesn't have activities, we less strongly - // want to keep it around, and generally want to avoid getting - // in front of any very recently used activities. - app.lruWeight = app.lastActivityTime - ProcessList.EMPTY_APP_IDLE_OFFSET; - // Also don't let it kick out the first few "real" cached processes. - skipTop = ProcessList.MIN_CACHED_APPS; - } - - while (i >= 0) { - ProcessRecord p = mLruProcesses.get(i); - // If this app shouldn't be in front of the first N background - // apps, then skip over that many that are currently cached. - if (skipTop > 0 && p.setAdj >= ProcessList.CACHED_APP_MIN_ADJ) { - skipTop--; - } - if (p.lruWeight <= app.lruWeight || i < bestPos) { - mLruProcesses.add(i+1, app); - break; + if (lrui >= mLruProcessActivityStart) { + // Don't want to touch dependent processes that are hosting activities. + return index; + } + + mLruProcesses.remove(lrui); + if (index > 0) { + index--; + } + mLruProcesses.add(index, app); + return index; + } + + final void removeLruProcessLocked(ProcessRecord app) { + int lrui = mLruProcesses.lastIndexOf(app); + if (lrui >= 0) { + if (lrui <= mLruProcessActivityStart) { + mLruProcessActivityStart--; } - i--; + mLruProcesses.remove(lrui); + } + } + + final void updateLruProcessLocked(ProcessRecord app, boolean oomAdj, boolean activityChange) { + final boolean hasActivity = app.activities.size() > 0; + if (!activityChange && hasActivity) { + // The process has activties, so we are only going to allow activity-based + // adjustments move it. It should be kept in the front of the list with other + // processes that have activities, and we don't want those to change their + // order except due to activity operations. + return; + } + + mLruSeq++; + final long now = SystemClock.uptimeMillis(); + app.lastActivityTime = now; + + int lrui = mLruProcesses.lastIndexOf(app); + + if (lrui >= 0) { + if (lrui < mLruProcessActivityStart) { + mLruProcessActivityStart--; + } + mLruProcesses.remove(lrui); } - if (i < 0) { - mLruProcesses.add(0, app); + + int nextIndex; + if (!hasActivity) { + // Process doesn't have activities, it goes to the top of the non-activity area. + mLruProcesses.add(mLruProcessActivityStart, app); + nextIndex = mLruProcessActivityStart-1; + mLruProcessActivityStart++; + } else { + // Process does have activities, put it at the very tipsy-top. + mLruProcesses.add(app); + nextIndex = mLruProcessActivityStart; } // If the app is currently using a content provider or service, @@ -2274,20 +2309,15 @@ public final class ActivityManagerService extends ActivityManagerNative if (cr.binding != null && cr.binding.service != null && cr.binding.service.app != null && cr.binding.service.app.lruSeq != mLruSeq) { - updateLruProcessInternalLocked(cr.binding.service.app, i+1); + nextIndex = updateLruProcessInternalLocked(cr.binding.service.app, now, nextIndex); } } for (int j=app.conProviders.size()-1; j>=0; j--) { ContentProviderRecord cpr = app.conProviders.get(j).provider; if (cpr.proc != null && cpr.proc.lruSeq != mLruSeq) { - updateLruProcessInternalLocked(cpr.proc, i+1); + nextIndex = updateLruProcessInternalLocked(cpr.proc, now, nextIndex); } } - } - - final void updateLruProcessLocked(ProcessRecord app, boolean oomAdj) { - mLruSeq++; - updateLruProcessInternalLocked(app, 0); //Slog.i(TAG, "Putting proc to front: " + app.processName); if (oomAdj) { @@ -2295,14 +2325,12 @@ public final class ActivityManagerService extends ActivityManagerNative } } - final ProcessRecord getProcessRecordLocked( - String processName, int uid) { + final ProcessRecord getProcessRecordLocked(String processName, int uid, boolean keepIfLarge) { if (uid == Process.SYSTEM_UID) { // The system gets to run in any process. If there are multiple // processes with the same uid, just pick the first (this // should never happen). - SparseArray<ProcessRecord> procs = mProcessNames.getMap().get( - processName); + SparseArray<ProcessRecord> procs = mProcessNames.getMap().get(processName); if (procs == null) return null; final int N = procs.size(); for (int i = 0; i < N; i++) { @@ -2310,6 +2338,26 @@ public final class ActivityManagerService extends ActivityManagerNative } } ProcessRecord proc = mProcessNames.get(processName, uid); + if (false && proc != null && !keepIfLarge + && proc.setProcState >= ActivityManager.PROCESS_STATE_CACHED_EMPTY + && proc.lastCachedPss >= 4000) { + // Turn this condition on to cause killing to happen regularly, for testing. + if (proc.baseProcessTracker != null) { + proc.baseProcessTracker.reportCachedKill(proc.pkgList, proc.lastCachedPss); + } + killUnneededProcessLocked(proc, Long.toString(proc.lastCachedPss) + + "k from cached"); + } else if (proc != null && !keepIfLarge && mLastMemoryLevel > ProcessStats.ADJ_MEM_FACTOR_NORMAL + && proc.setProcState >= ActivityManager.PROCESS_STATE_CACHED_EMPTY) { + if (DEBUG_PSS) Slog.d(TAG, "May not keep " + proc + ": pss=" + proc.lastCachedPss); + if (proc.lastCachedPss >= mProcessList.getCachedRestoreThreshold()) { + if (proc.baseProcessTracker != null) { + proc.baseProcessTracker.reportCachedKill(proc.pkgList, proc.lastCachedPss); + } + killUnneededProcessLocked(proc, Long.toString(proc.lastCachedPss) + + "k from cached"); + } + } return proc; } @@ -2333,10 +2381,10 @@ public final class ActivityManagerService extends ActivityManagerNative final ProcessRecord startProcessLocked(String processName, ApplicationInfo info, boolean knownToBeDead, int intentFlags, String hostingType, ComponentName hostingName, boolean allowWhileBooting, - boolean isolated) { + boolean isolated, boolean keepIfLarge) { ProcessRecord app; if (!isolated) { - app = getProcessRecordLocked(processName, info.uid); + app = getProcessRecordLocked(processName, info.uid, keepIfLarge); } else { // If this is an isolated process, it can't re-use an existing process. app = null; @@ -2647,7 +2695,7 @@ public final class ActivityManagerService extends ActivityManagerNative aInfo = new ActivityInfo(aInfo); aInfo.applicationInfo = getAppInfoForUser(aInfo.applicationInfo, userId); ProcessRecord app = getProcessRecordLocked(aInfo.processName, - aInfo.applicationInfo.uid); + aInfo.applicationInfo.uid, true); if (app == null || app.instrumentationClass == null) { intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NEW_TASK); mStackSupervisor.startHomeActivity(intent, aInfo); @@ -3364,7 +3412,7 @@ public final class ActivityManagerService extends ActivityManagerNative boolean restarting, boolean allowRestart) { cleanUpApplicationRecordLocked(app, restarting, allowRestart, -1); if (!restarting) { - mLruProcesses.remove(app); + removeLruProcessLocked(app); } if (mProfileProc == app) { @@ -4212,7 +4260,7 @@ public final class ActivityManagerService extends ActivityManagerNative // Only the system server can kill an application if (callerUid == Process.SYSTEM_UID) { synchronized (this) { - ProcessRecord app = getProcessRecordLocked(processName, uid); + ProcessRecord app = getProcessRecordLocked(processName, uid, true); if (app != null && app.thread != null) { try { app.thread.scheduleSuicide(); @@ -4517,7 +4565,7 @@ public final class ActivityManagerService extends ActivityManagerNative } killUnneededProcessLocked(app, reason); handleAppDiedLocked(app, true, allowRestart); - mLruProcesses.remove(app); + removeLruProcessLocked(app); if (app.persistent && !app.isolated) { if (!callerWillRestart) { @@ -4712,7 +4760,7 @@ public final class ActivityManagerService extends ActivityManagerNative isRestrictedBackupMode || !normalMode, app.persistent, new Configuration(mConfiguration), app.compat, getCommonServicesLocked(), mCoreSettingsObserver.getCoreSettingsLocked()); - updateLruProcessLocked(app, false); + updateLruProcessLocked(app, false, false); app.lastRequestedGc = app.lastLowMemory = SystemClock.uptimeMillis(); } catch (Exception e) { // todo: Yikes! What should we do? For now we will try to @@ -7175,7 +7223,7 @@ public final class ActivityManagerService extends ActivityManagerNative // make sure to count it as being accessed and thus // back up on the LRU list. This is good because // content providers are often expensive to start. - updateLruProcessLocked(cpr.proc, false); + updateLruProcessLocked(cpr.proc, false, false); } } @@ -7325,7 +7373,7 @@ public final class ActivityManagerService extends ActivityManagerNative ProcessRecord proc = startProcessLocked(cpi.processName, cpr.appInfo, false, 0, "content provider", new ComponentName(cpi.applicationInfo.packageName, - cpi.name), false, false); + cpi.name), false, false, false); if (proc == null) { Slog.w(TAG, "Unable to launch app " + cpi.applicationInfo.packageName + "/" @@ -7734,7 +7782,7 @@ public final class ActivityManagerService extends ActivityManagerNative final ProcessRecord addAppLocked(ApplicationInfo info, boolean isolated) { ProcessRecord app; if (!isolated) { - app = getProcessRecordLocked(info.processName, info.uid); + app = getProcessRecordLocked(info.processName, info.uid, true); } else { app = null; } @@ -7745,7 +7793,7 @@ public final class ActivityManagerService extends ActivityManagerNative if (isolated) { mIsolatedProcesses.put(app.uid, app); } - updateLruProcessLocked(app, true); + updateLruProcessLocked(app, true, false); } // This package really, really can not be stopped. @@ -8613,6 +8661,8 @@ public final class ActivityManagerService extends ActivityManagerNative } else if (proc.setProcState < ActivityManager.PROCESS_STATE_HOME) { proc.notCachedSinceIdle = true; proc.initialIdlePss = 0; + proc.nextPssTime = ProcessList.computeNextPssTime(proc.curProcState, true, + mSleeping, now); } } @@ -10230,13 +10280,16 @@ public final class ActivityManagerService extends ActivityManagerNative } if (mLruProcesses.size() > 0) { - boolean printed = dumpProcessOomList(pw, this, mLruProcesses, " ", - "Proc", "PERS", false, dumpPackage, needSep, - " Process LRU list (sorted by oom_adj):"); - if (printed) { - needSep = true; - printedAnything = true; + if (needSep) { + pw.println(); } + pw.print(" Process LRU list (sorted by oom_adj, "); pw.print(mLruProcesses.size()); + pw.print(" total, non-activities at "); + pw.print(mLruProcesses.size()-mLruProcessActivityStart); + pw.println("):"); + dumpProcessOomList(pw, this, mLruProcesses, " ", "Proc", "PERS", false, dumpPackage); + needSep = true; + printedAnything = true; } if (dumpAll || dumpPackage != null) { @@ -10607,14 +10660,15 @@ public final class ActivityManagerService extends ActivityManagerNative printOomLevel(pw, "CACHED_APP_MAX_ADJ", ProcessList.CACHED_APP_MAX_ADJ); if (needSep) pw.println(); - needSep = true; - pw.println(" Process OOM control:"); - dumpProcessOomList(pw, this, mLruProcesses, " ", - "Proc", "PERS", true, null, false, null); + pw.print(" Process OOM control ("); pw.print(mLruProcesses.size()); + pw.print(" total, non-activities at "); + pw.print(mLruProcesses.size()-mLruProcessActivityStart); + pw.println("):"); + dumpProcessOomList(pw, this, mLruProcesses, " ", "Proc", "PERS", true, null); needSep = true; } - needSep = dumpProcessesToGc(fd, pw, args, opti, needSep, dumpAll, null); + dumpProcessesToGc(fd, pw, args, opti, needSep, dumpAll, null); pw.println(); pw.println(" mHomeProcess: " + mHomeProcess); @@ -11034,7 +11088,7 @@ public final class ActivityManagerService extends ActivityManagerNative private static final boolean dumpProcessOomList(PrintWriter pw, ActivityManagerService service, List<ProcessRecord> origList, String prefix, String normalLabel, String persistentLabel, - boolean inclDetails, String dumpPackage, boolean needSep, String header) { + boolean inclDetails, String dumpPackage) { ArrayList<Pair<ProcessRecord, Integer>> list = new ArrayList<Pair<ProcessRecord, Integer>>(origList.size()); @@ -11050,13 +11104,6 @@ public final class ActivityManagerService extends ActivityManagerNative return false; } - if (header != null) { - if (needSep) { - pw.println(); - } - pw.println(header); - } - Comparator<Pair<ProcessRecord, Integer>> comparator = new Comparator<Pair<ProcessRecord, Integer>>() { @Override @@ -11156,6 +11203,12 @@ public final class ActivityManagerService extends ActivityManagerNative pw.print(" set="); pw.println(r.setAdj); pw.print(prefix); pw.print(" "); + pw.print("state: cur="); pw.print(ProcessList.makeProcStateString(r.curProcState)); + pw.print(" set="); pw.print(ProcessList.makeProcStateString(r.setProcState)); + pw.print(" lastPss="); pw.print(r.lastPss); + pw.print(" lastCachedPss="); pw.println(r.lastCachedPss); + pw.print(prefix); + pw.print(" "); pw.print("keeping="); pw.print(r.keeping); pw.print(" cached="); pw.print(r.cached); pw.print(" empty="); pw.print(r.empty); @@ -11505,27 +11558,25 @@ public final class ActivityManagerService extends ActivityManagerNative if (!isCheckinRequest && dumpDetails) { pw.println("\n** MEMINFO in pid " + pid + " [" + r.processName + "] **"); } + if (mi == null) { + mi = new Debug.MemoryInfo(); + } + if (dumpDetails || (!brief && !oomOnly)) { + Debug.getMemoryInfo(pid, mi); + } else { + mi.dalvikPss = (int)Debug.getPss(pid, tmpLong); + mi.dalvikPrivateDirty = (int)tmpLong[0]; + } if (dumpDetails) { try { pw.flush(); - mi = null; - mi = thread.dumpMemInfo(fd, isCheckinRequest, true, dumpDalvik, innerArgs); + thread.dumpMemInfo(fd, mi, isCheckinRequest, true, dumpDalvik, innerArgs); } catch (RemoteException e) { if (!isCheckinRequest) { pw.println("Got RemoteException!"); pw.flush(); } } - } else { - if (mi == null) { - mi = new Debug.MemoryInfo(); - } - if (!brief && !oomOnly) { - Debug.getMemoryInfo(pid, mi); - } else { - mi.dalvikPss = (int)Debug.getPss(pid, tmpLong); - mi.dalvikPrivateDirty = (int)tmpLong[0]; - } } final long myTotalPss = mi.getTotalPss(); @@ -11821,7 +11872,7 @@ public final class ActivityManagerService extends ActivityManagerNative private final void cleanUpApplicationRecordLocked(ProcessRecord app, boolean restarting, boolean allowRestart, int index) { if (index >= 0) { - mLruProcesses.remove(index); + removeLruProcessLocked(app); } mProcessesToGc.remove(app); @@ -12278,7 +12329,7 @@ public final class ActivityManagerService extends ActivityManagerNative : new ComponentName("android", "FullBackupAgent"); // startProcessLocked() returns existing proc's record if it's already running ProcessRecord proc = startProcessLocked(app.processName, app, - false, 0, "backup", hostingName, false, false); + false, 0, "backup", hostingName, false, false, false); if (proc == null) { Slog.e(TAG, "Unable to start backup agent process " + r); return false; @@ -14711,17 +14762,21 @@ public final class ActivityManagerService extends ActivityManagerNative } if (app.setProcState < 0 || ProcessList.procStatesDifferForMem(app.curProcState, app.setProcState)) { - if (DEBUG_PSS) Slog.d(TAG, "Process state change from " + app.setProcState - + " to " + app.curProcState + ": " + app); app.lastStateTime = now; app.nextPssTime = ProcessList.computeNextPssTime(app.curProcState, true, mSleeping, now); + if (DEBUG_PSS) Slog.d(TAG, "Process state change from " + + ProcessList.makeProcStateString(app.setProcState) + " to " + + ProcessList.makeProcStateString(app.curProcState) + " next pss in " + + (app.nextPssTime-now) + ": " + app); } else { if (now > app.nextPssTime || (now > (app.lastPssTime+ProcessList.PSS_MAX_INTERVAL) && now > (app.lastStateTime+ProcessList.PSS_MIN_TIME_FROM_STATE_CHANGE))) { requestPssLocked(app, app.setProcState); app.nextPssTime = ProcessList.computeNextPssTime(app.curProcState, false, mSleeping, now); + } else if (false && DEBUG_PSS) { + Slog.d(TAG, "Not requesting PSS of " + app + ": next=" + (app.nextPssTime-now)); } } if (app.setProcState != app.curProcState) { diff --git a/services/java/com/android/server/am/ActivityStack.java b/services/java/com/android/server/am/ActivityStack.java index 1482440..3bdd01a 100644 --- a/services/java/com/android/server/am/ActivityStack.java +++ b/services/java/com/android/server/am/ActivityStack.java @@ -69,7 +69,6 @@ import android.os.Handler; import android.os.IBinder; import android.os.Looper; import android.os.Message; -import android.os.PowerManager; import android.os.RemoteException; import android.os.SystemClock; import android.os.UserHandle; @@ -1342,7 +1341,7 @@ final class ActivityStack { if (next.app != null && next.app.thread != null) { // No reason to do full oom adj update here; we'll let that // happen whenever it needs to later. - mService.updateLruProcessLocked(next.app, false); + mService.updateLruProcessLocked(next.app, false, true); } if (DEBUG_STACK) mStackSupervisor.validateTopActivitiesLocked(); return true; @@ -1470,7 +1469,7 @@ final class ActivityStack { mResumedActivity = next; next.task.touchActiveTime(); mService.addRecentTaskLocked(next.task); - mService.updateLruProcessLocked(next.app, true); + mService.updateLruProcessLocked(next.app, true, true); updateLRUListLocked(next); // Have the window manager re-evaluate the orientation of @@ -2707,7 +2706,8 @@ final class ActivityStack { ActivityManagerService.CANCEL_HEAVY_NOTIFICATION_MSG); } if (r.app.activities.isEmpty()) { - // No longer have activities, so update oom adj. + // No longer have activities, so update LRU list and oom adj. + mService.updateLruProcessLocked(r.app, false, false); mService.updateOomAdjLocked(); } } @@ -3323,11 +3323,10 @@ final class ActivityStack { return didSomething; } - ActivityRecord getTasksLocked(int maxNum, IThumbnailReceiver receiver, + ActivityRecord getTasksLocked(IThumbnailReceiver receiver, PendingThumbnailsRecord pending, List<RunningTaskInfo> list) { ActivityRecord topRecord = null; - for (int taskNdx = mTaskHistory.size() - 1; maxNum > 0 && taskNdx >= 0; - --maxNum, --taskNdx) { + for (int taskNdx = mTaskHistory.size() - 1; taskNdx >= 0; --taskNdx) { final TaskRecord task = mTaskHistory.get(taskNdx); ActivityRecord r = null; ActivityRecord top = null; @@ -3358,6 +3357,8 @@ final class ActivityStack { ci.id = task.taskId; ci.baseActivity = r.intent.getComponent(); ci.topActivity = top.intent.getComponent(); + ci.lastActiveTime = task.lastActiveTime; + if (top.thumbHolder != null) { ci.description = top.thumbHolder.lastDescription; } diff --git a/services/java/com/android/server/am/ActivityStackSupervisor.java b/services/java/com/android/server/am/ActivityStackSupervisor.java index 219cb85..9549e0a 100644 --- a/services/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/java/com/android/server/am/ActivityStackSupervisor.java @@ -88,7 +88,7 @@ public final class ActivityStackSupervisor { static final boolean DEBUG_ADD_REMOVE = DEBUG || false; static final boolean DEBUG_APP = DEBUG || false; static final boolean DEBUG_SAVED_STATE = DEBUG || false; - static final boolean DEBUG_STATES = DEBUG || false; + static final boolean DEBUG_STATES = DEBUG || true; static final boolean DEBUG_IDLE = DEBUG || false; public static final int HOME_STACK_ID = 0; @@ -548,14 +548,43 @@ public final class ActivityStackSupervisor { ActivityRecord getTasksLocked(int maxNum, IThumbnailReceiver receiver, PendingThumbnailsRecord pending, List<RunningTaskInfo> list) { ActivityRecord r = null; - for (int stackNdx = mStacks.size() - 1; stackNdx >= 0; --stackNdx) { + + // Gather all of the running tasks for each stack into runningTaskLists. + final int numStacks = mStacks.size(); + ArrayList<RunningTaskInfo>[] runningTaskLists = new ArrayList[numStacks]; + for (int stackNdx = numStacks - 1; stackNdx >= 0; --stackNdx) { final ActivityStack stack = mStacks.get(stackNdx); - final ActivityRecord ar = - stack.getTasksLocked(maxNum - list.size(), receiver, pending, list); + ArrayList<RunningTaskInfo> stackTaskList = new ArrayList<RunningTaskInfo>(); + runningTaskLists[stackNdx] = stackTaskList; + final ActivityRecord ar = stack.getTasksLocked(receiver, pending, stackTaskList); if (isFrontStack(stack)) { r = ar; } } + + // The lists are already sorted from most recent to oldest. Just pull the most recent off + // each list and add it to list. Stop when all lists are empty or maxNum reached. + while (maxNum > 0) { + long mostRecentActiveTime = Long.MIN_VALUE; + ArrayList<RunningTaskInfo> selectedStackList = null; + for (int stackNdx = 0; stackNdx < numStacks; ++stackNdx) { + ArrayList<RunningTaskInfo> stackTaskList = runningTaskLists[stackNdx]; + if (!stackTaskList.isEmpty()) { + final long lastActiveTime = stackTaskList.get(0).lastActiveTime; + if (lastActiveTime > mostRecentActiveTime) { + mostRecentActiveTime = lastActiveTime; + selectedStackList = stackTaskList; + } + } + } + if (selectedStackList != null) { + list.add(selectedStackList.remove(0)); + --maxNum; + } else { + break; + } + } + return r; } @@ -883,7 +912,7 @@ public final class ActivityStackSupervisor { if (idx < 0) { app.activities.add(r); } - mService.updateLruProcessLocked(app, true); + mService.updateLruProcessLocked(app, true, true); final ActivityStack stack = r.task.stack; try { @@ -1023,7 +1052,7 @@ public final class ActivityStackSupervisor { boolean andResume, boolean checkConfig) { // Is this activity's application already running? ProcessRecord app = mService.getProcessRecordLocked(r.processName, - r.info.applicationInfo.uid); + r.info.applicationInfo.uid, true); r.task.stack.setLaunchTime(r); @@ -1042,7 +1071,7 @@ public final class ActivityStackSupervisor { } mService.startProcessLocked(r.processName, r.info.applicationInfo, true, 0, - "activity", r.intent.getComponent(), false, false); + "activity", r.intent.getComponent(), false, false, true); } final int startActivityLocked(IApplicationThread caller, @@ -2076,12 +2105,12 @@ public final class ActivityStackSupervisor { mService.mHandler.removeMessages(LAUNCH_TIMEOUT_MSG); } } + checkReadyForSleepLocked(); } boolean shutdownLocked(int timeout) { boolean timedout = false; goingToSleepLocked(); - checkReadyForSleepLocked(); final long endTime = System.currentTimeMillis() + timeout; while (true) { diff --git a/services/java/com/android/server/am/BroadcastQueue.java b/services/java/com/android/server/am/BroadcastQueue.java index b35ca79..b2e3ce7 100644 --- a/services/java/com/android/server/am/BroadcastQueue.java +++ b/services/java/com/android/server/am/BroadcastQueue.java @@ -220,7 +220,7 @@ public final class BroadcastQueue { r.curApp = app; app.curReceiver = r; app.forceProcessStateUpTo(ActivityManager.PROCESS_STATE_RECEIVER); - mService.updateLruProcessLocked(app, true); + mService.updateLruProcessLocked(app, true, false); // Tell the application to launch this receiver. r.intent.setComponent(r.curComponent); @@ -334,6 +334,7 @@ public final class BroadcastQueue { public boolean finishReceiverLocked(BroadcastRecord r, int resultCode, String resultData, Bundle resultExtras, boolean resultAbort, boolean waitForServices) { final int state = r.state; + final ActivityInfo receiver = r.curReceiver; r.state = BroadcastRecord.IDLE; if (state == BroadcastRecord.IDLE) { Slog.w(TAG, "finishReceiver [" + mQueueName + "] called but state is IDLE"); @@ -363,15 +364,27 @@ public final class BroadcastQueue { if (waitForServices && r.curComponent != null && r.queue.mDelayBehindServices && r.queue.mOrderedBroadcasts.size() > 0 && r.queue.mOrderedBroadcasts.get(0) == r) { - // In this case, we are ready to process the next receiver for the current broadcast, - // but are on a queue that would like to wait for services to finish before moving - // on. If there are background services currently starting, then we will go into a - // special state where we hold off on continuing this broadcast until they are done. - if (mService.mServices.hasBackgroundServices(r.userId)) { - Slog.i(ActivityManagerService.TAG, "Delay finish: " - + r.curComponent.flattenToShortString()); - r.state = BroadcastRecord.WAITING_SERVICES; - return false; + ActivityInfo nextReceiver; + if (r.nextReceiver < r.receivers.size()) { + Object obj = r.receivers.get(r.nextReceiver); + nextReceiver = (obj instanceof ActivityInfo) ? (ActivityInfo)obj : null; + } else { + nextReceiver = null; + } + // Don't do this if the next receive is in the same process as the current one. + if (receiver == null || nextReceiver == null + || receiver.applicationInfo.uid != nextReceiver.applicationInfo.uid + || !receiver.processName.equals(nextReceiver.processName)) { + // In this case, we are ready to process the next receiver for the current broadcast, + // but are on a queue that would like to wait for services to finish before moving + // on. If there are background services currently starting, then we will go into a + // special state where we hold off on continuing this broadcast until they are done. + if (mService.mServices.hasBackgroundServices(r.userId)) { + Slog.i(ActivityManagerService.TAG, "Delay finish: " + + r.curComponent.flattenToShortString()); + r.state = BroadcastRecord.WAITING_SERVICES; + return false; + } } } @@ -833,7 +846,7 @@ public final class BroadcastQueue { // Is this receiver's application already running? ProcessRecord app = mService.getProcessRecordLocked(targetProcess, - info.activityInfo.applicationInfo.uid); + info.activityInfo.applicationInfo.uid, false); if (app != null && app.thread != null) { try { app.addPackage(info.activityInfo.packageName, mService.mProcessStats); @@ -871,7 +884,7 @@ public final class BroadcastQueue { info.activityInfo.applicationInfo, true, r.intent.getFlags() | Intent.FLAG_FROM_BACKGROUND, "broadcast", r.curComponent, - (r.intent.getFlags()&Intent.FLAG_RECEIVER_BOOT_UPGRADE) != 0, false)) + (r.intent.getFlags()&Intent.FLAG_RECEIVER_BOOT_UPGRADE) != 0, false, false)) == null) { // Ah, this recipient is unavailable. Finish it if necessary, // and mark the broadcast record as ready for the next. diff --git a/services/java/com/android/server/am/ProcessList.java b/services/java/com/android/server/am/ProcessList.java index 54593aa..ef7f523 100644 --- a/services/java/com/android/server/am/ProcessList.java +++ b/services/java/com/android/server/am/ProcessList.java @@ -173,6 +173,8 @@ final class ProcessList { private final long mTotalMemMb; + private long mCachedRestoreLevel; + private boolean mHaveDisplaySize; ProcessList() { @@ -243,6 +245,11 @@ final class ProcessList { } } + // The maximum size we will restore a process from cached to background, when under + // memory duress, is 1/3 the size we have reserved for kernel caches and other overhead + // before killing background processes. + mCachedRestoreLevel = (getMemLevel(ProcessList.CACHED_APP_MAX_ADJ)/1024) / 3; + for (int i=0; i<mOomAdj.length; i++) { if (i > 0) { adjString.append(','); @@ -323,6 +330,70 @@ final class ProcessList { } } + public static String makeProcStateString(int curProcState) { + String procState; + switch (curProcState) { + case -1: + procState = "N "; + break; + case ActivityManager.PROCESS_STATE_PERSISTENT: + procState = "P "; + break; + case ActivityManager.PROCESS_STATE_PERSISTENT_UI: + procState = "PU"; + break; + case ActivityManager.PROCESS_STATE_TOP: + procState = "T "; + break; + case ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND: + procState = "IF"; + break; + case ActivityManager.PROCESS_STATE_IMPORTANT_BACKGROUND: + procState = "IB"; + break; + case ActivityManager.PROCESS_STATE_BACKUP: + procState = "BU"; + break; + case ActivityManager.PROCESS_STATE_HEAVY_WEIGHT: + procState = "HW"; + break; + case ActivityManager.PROCESS_STATE_SERVICE: + procState = "S "; + break; + case ActivityManager.PROCESS_STATE_RECEIVER: + procState = "R "; + break; + case ActivityManager.PROCESS_STATE_HOME: + procState = "HO"; + break; + case ActivityManager.PROCESS_STATE_LAST_ACTIVITY: + procState = "LA"; + break; + case ActivityManager.PROCESS_STATE_CACHED_ACTIVITY: + procState = "CA"; + break; + case ActivityManager.PROCESS_STATE_CACHED_ACTIVITY_CLIENT: + procState = "Ca"; + break; + case ActivityManager.PROCESS_STATE_CACHED_EMPTY: + procState = "CE"; + break; + default: + procState = "??"; + break; + } + return procState; + } + + public static void appendRamKb(StringBuilder sb, long ramKb) { + for (int j=0, fact=10; j<6; j++, fact*=10) { + if (ramKb < fact) { + sb.append(' '); + } + } + sb.append(ramKb); + } + // The minimum amount of time after a state change it is safe ro collect PSS. public static final int PSS_MIN_TIME_FROM_STATE_CHANGE = 15*1000; @@ -336,10 +407,13 @@ final class ProcessList { private static final int PSS_SHORT_INTERVAL = 2*60*1000; // The amount of time until PSS when a process first becomes top. - private static final int PSS_FIRST_TOP_INTERVAL = 15*1000; + private static final int PSS_FIRST_TOP_INTERVAL = 10*1000; + + // The amount of time until PSS when a process first goes into the background. + private static final int PSS_FIRST_BACKGROUND_INTERVAL = 20*1000; // The amount of time until PSS when a process first becomes cached. - private static final int PSS_FIRST_CACHED_INTERVAL = 5*60*1000; + private static final int PSS_FIRST_CACHED_INTERVAL = 30*1000; // The amount of time until PSS when an important process stays in the same state. private static final int PSS_SAME_IMPORTANT_INTERVAL = 15*60*1000; @@ -377,12 +451,12 @@ final class ProcessList { PSS_SHORT_INTERVAL, // ActivityManager.PROCESS_STATE_PERSISTENT PSS_SHORT_INTERVAL, // ActivityManager.PROCESS_STATE_PERSISTENT_UI PSS_FIRST_TOP_INTERVAL, // ActivityManager.PROCESS_STATE_TOP - PSS_SHORT_INTERVAL, // ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND - PSS_SHORT_INTERVAL, // ActivityManager.PROCESS_STATE_IMPORTANT_BACKGROUND - PSS_SHORT_INTERVAL, // ActivityManager.PROCESS_STATE_BACKUP - PSS_SHORT_INTERVAL, // ActivityManager.PROCESS_STATE_HEAVY_WEIGHT - PSS_SHORT_INTERVAL, // ActivityManager.PROCESS_STATE_SERVICE - PSS_SHORT_INTERVAL, // ActivityManager.PROCESS_STATE_RECEIVER + PSS_FIRST_BACKGROUND_INTERVAL, // ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND + PSS_FIRST_BACKGROUND_INTERVAL, // ActivityManager.PROCESS_STATE_IMPORTANT_BACKGROUND + PSS_FIRST_BACKGROUND_INTERVAL, // ActivityManager.PROCESS_STATE_BACKUP + PSS_FIRST_BACKGROUND_INTERVAL, // ActivityManager.PROCESS_STATE_HEAVY_WEIGHT + PSS_FIRST_BACKGROUND_INTERVAL, // ActivityManager.PROCESS_STATE_SERVICE + PSS_FIRST_CACHED_INTERVAL, // ActivityManager.PROCESS_STATE_RECEIVER PSS_FIRST_CACHED_INTERVAL, // ActivityManager.PROCESS_STATE_HOME PSS_FIRST_CACHED_INTERVAL, // ActivityManager.PROCESS_STATE_LAST_ACTIVITY PSS_FIRST_CACHED_INTERVAL, // ActivityManager.PROCESS_STATE_CACHED_ACTIVITY @@ -411,70 +485,6 @@ final class ProcessList { return sProcStateToProcMem[procState1] != sProcStateToProcMem[procState2]; } - public static String makeProcStateString(int curProcState) { - String procState; - switch (curProcState) { - case -1: - procState = "N "; - break; - case ActivityManager.PROCESS_STATE_PERSISTENT: - procState = "P "; - break; - case ActivityManager.PROCESS_STATE_PERSISTENT_UI: - procState = "PU"; - break; - case ActivityManager.PROCESS_STATE_TOP: - procState = "T "; - break; - case ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND: - procState = "IF"; - break; - case ActivityManager.PROCESS_STATE_IMPORTANT_BACKGROUND: - procState = "IB"; - break; - case ActivityManager.PROCESS_STATE_BACKUP: - procState = "BU"; - break; - case ActivityManager.PROCESS_STATE_HEAVY_WEIGHT: - procState = "HW"; - break; - case ActivityManager.PROCESS_STATE_SERVICE: - procState = "S "; - break; - case ActivityManager.PROCESS_STATE_RECEIVER: - procState = "R "; - break; - case ActivityManager.PROCESS_STATE_HOME: - procState = "HO"; - break; - case ActivityManager.PROCESS_STATE_LAST_ACTIVITY: - procState = "LA"; - break; - case ActivityManager.PROCESS_STATE_CACHED_ACTIVITY: - procState = "CA"; - break; - case ActivityManager.PROCESS_STATE_CACHED_ACTIVITY_CLIENT: - procState = "Ca"; - break; - case ActivityManager.PROCESS_STATE_CACHED_EMPTY: - procState = "CE"; - break; - default: - procState = "??"; - break; - } - return procState; - } - - public static void appendRamKb(StringBuilder sb, long ramKb) { - for (int j=0, fact=10; j<6; j++, fact*=10) { - if (ramKb < fact) { - sb.append(' '); - } - } - sb.append(ramKb); - } - public static long computeNextPssTime(int procState, boolean first, boolean sleeping, long now) { final long[] table = sleeping @@ -496,6 +506,14 @@ final class ProcessList { return mOomMinFree[mOomAdj.length-1] * 1024; } + /** + * Return the maximum pss size in kb that we consider a process acceptable to + * restore from its cached state for running in the background when RAM is low. + */ + long getCachedRestoreThreshold() { + return mCachedRestoreLevel; + } + private void writeFile(String path, String data) { FileOutputStream fos = null; try { diff --git a/services/java/com/android/server/am/ProcessRecord.java b/services/java/com/android/server/am/ProcessRecord.java index 7a456f7..c5491ef 100644 --- a/services/java/com/android/server/am/ProcessRecord.java +++ b/services/java/com/android/server/am/ProcessRecord.java @@ -62,12 +62,12 @@ final class ProcessRecord { int pid; // The process of this application; 0 if none boolean starting; // True if the process is being started long lastActivityTime; // For managing the LRU list - long lruWeight; // Weight for ordering in LRU list long lastPssTime; // Last time we retrieved PSS data long nextPssTime; // Next time we want to request PSS data long lastStateTime; // Last time setProcState changed long initialIdlePss; // Initial memory pss of process for idle maintenance. long lastPss; // Last computed memory pss. + long lastCachedPss; // Last computed pss when in cached state. int maxAdj; // Maximum OOM adjustment for this process int curRawAdj; // Current OOM unlimited adjustment for this process int setRawAdj; // Last set OOM unlimited adjustment for this process @@ -214,15 +214,22 @@ final class ProcessRecord { pw.println(starting); pw.print(prefix); pw.print("lastActivityTime="); TimeUtils.formatDuration(lastActivityTime, now, pw); - pw.print(" lruWeight="); pw.println(lruWeight); + pw.print(" lastPssTime="); + TimeUtils.formatDuration(lastPssTime, now, pw); + pw.print(" nextPssTime="); + TimeUtils.formatDuration(nextPssTime, now, pw); + pw.println(); + pw.print(prefix); pw.print("adjSeq="); pw.print(adjSeq); + pw.print(" lruSeq="); pw.print(lruSeq); + pw.print(" lastPss="); pw.print(lastPss); + pw.print(" lastCachedPss="); pw.println(lastCachedPss); pw.print(prefix); pw.print("serviceb="); pw.print(serviceb); pw.print(" keeping="); pw.print(keeping); pw.print(" cached="); pw.print(cached); pw.print(" empty="); pw.println(empty); if (notCachedSinceIdle) { pw.print(prefix); pw.print("notCachedSinceIdle="); pw.print(notCachedSinceIdle); - pw.print(" initialIdlePss="); pw.print(initialIdlePss); - pw.print(" lastPss="); pw.println(lastPss); + pw.print(" initialIdlePss="); pw.println(initialIdlePss); } pw.print(prefix); pw.print("oom: max="); pw.print(maxAdj); pw.print(" curRaw="); pw.print(curRawAdj); @@ -240,13 +247,6 @@ final class ProcessRecord { pw.print(" lastStateTime="); TimeUtils.formatDuration(lastStateTime, now, pw); pw.println(); - pw.print(prefix); pw.print("adjSeq="); pw.print(adjSeq); - pw.print(" lruSeq="); pw.print(lruSeq); - pw.print(" lastPssTime="); - TimeUtils.formatDuration(lastPssTime, now, pw); - pw.print(" nextPssTime="); - TimeUtils.formatDuration(nextPssTime, now, pw); - pw.println(); if (hasShownUi || pendingUiClean || hasAboveClient) { pw.print(prefix); pw.print("hasShownUi="); pw.print(hasShownUi); pw.print(" pendingUiClean="); pw.print(pendingUiClean); diff --git a/services/java/com/android/server/net/NetworkPolicyManagerService.java b/services/java/com/android/server/net/NetworkPolicyManagerService.java index 5ca7242..d568b11 100644 --- a/services/java/com/android/server/net/NetworkPolicyManagerService.java +++ b/services/java/com/android/server/net/NetworkPolicyManagerService.java @@ -106,6 +106,7 @@ import android.net.wifi.WifiManager; import android.os.Binder; import android.os.Environment; import android.os.Handler; +import android.os.HandlerThread; import android.os.INetworkManagementService; import android.os.IPowerManager; import android.os.Message; @@ -133,7 +134,6 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.FastXmlSerializer; import com.android.internal.util.IndentingPrintWriter; import com.android.internal.util.Objects; -import com.android.server.IoThread; import com.google.android.collect.Lists; import com.google.android.collect.Maps; import com.google.android.collect.Sets; @@ -305,7 +305,9 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { mNetworkManager = checkNotNull(networkManagement, "missing networkManagement"); mTime = checkNotNull(time, "missing TrustedTime"); - mHandler = new Handler(IoThread.get().getLooper(), mHandlerCallback); + HandlerThread thread = new HandlerThread(TAG); + thread.start(); + mHandler = new Handler(thread.getLooper(), mHandlerCallback); mSuppressDefaultPolicy = suppressDefaultPolicy; diff --git a/services/java/com/android/server/net/NetworkStatsService.java b/services/java/com/android/server/net/NetworkStatsService.java index 1e8a7b0..5d6adc2 100644 --- a/services/java/com/android/server/net/NetworkStatsService.java +++ b/services/java/com/android/server/net/NetworkStatsService.java @@ -96,6 +96,7 @@ import android.os.Binder; import android.os.DropBoxManager; import android.os.Environment; import android.os.Handler; +import android.os.HandlerThread; import android.os.INetworkManagementService; import android.os.Message; import android.os.PowerManager; @@ -119,7 +120,6 @@ import com.android.internal.util.ArrayUtils; import com.android.internal.util.FileRotator; import com.android.internal.util.IndentingPrintWriter; import com.android.server.EventLogTags; -import com.android.server.IoThread; import com.android.server.connectivity.Tethering; import com.google.android.collect.Maps; @@ -270,7 +270,9 @@ public class NetworkStatsService extends INetworkStatsService.Stub { Context.POWER_SERVICE); mWakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG); - mHandler = new Handler(IoThread.get().getLooper(), mHandlerCallback); + HandlerThread thread = new HandlerThread(TAG); + thread.start(); + mHandler = new Handler(thread.getLooper(), mHandlerCallback); mSystemDir = checkNotNull(systemDir); mBaseDir = new File(systemDir, "netstats"); diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java index decda96..d1ca35e 100755 --- a/services/java/com/android/server/pm/PackageManagerService.java +++ b/services/java/com/android/server/pm/PackageManagerService.java @@ -9883,7 +9883,8 @@ public class PackageManagerService extends IPackageManager.Stub { intent.addCategory(Intent.CATEGORY_HOME); final int callingUserId = UserHandle.getCallingUserId(); - List<ResolveInfo> list = queryIntentActivities(intent, null, 0, callingUserId); + List<ResolveInfo> list = queryIntentActivities(intent, null, + PackageManager.GET_META_DATA, callingUserId); ResolveInfo preferred = findPreferredActivity(intent, null, 0, list, 0, true, false, callingUserId); diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index 9a495ac..29a5d5f 100644 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -158,7 +158,7 @@ public class WindowManagerService extends IWindowManager.Stub DisplayManagerService.WindowManagerFuncs, DisplayManager.DisplayListener { static final String TAG = "WindowManager"; static final boolean DEBUG = false; - static final boolean DEBUG_ADD_REMOVE = false; + static final boolean DEBUG_ADD_REMOVE = true; static final boolean DEBUG_FOCUS = false; static final boolean DEBUG_FOCUS_LIGHT = DEBUG_FOCUS || false; static final boolean DEBUG_ANIM = false; @@ -4764,7 +4764,6 @@ public class WindowManagerService extends IWindowManager.Stub synchronized(mWindowMap) { Task task = mTaskIdToTask.get(taskId); if (task == null) { - Slog.e(TAG, "moveTaskToTop: taskId=" + taskId + " not found in mTaskIdToTask"); return; } final TaskStack stack = task.mStack; @@ -9711,8 +9710,8 @@ public class WindowManagerService extends IWindowManager.Stub newFocus = computeFocusedWindowLocked(); } - if (DEBUG_FOCUS_LIGHT || localLOGV) Slog.v( - TAG, "Changing focus from " + mCurrentFocus + " to " + newFocus); + if (true || DEBUG_FOCUS_LIGHT || localLOGV) Slog.v(TAG, "Changing focus from " + + mCurrentFocus + " to " + newFocus + " Callers=" + Debug.getCallers(4)); final WindowState oldFocus = mCurrentFocus; mCurrentFocus = newFocus; mLosingFocus.remove(newFocus); diff --git a/tests/Camera2Tests/Android.mk b/tests/Camera2Tests/Android.mk new file mode 100644 index 0000000..5053e7d --- /dev/null +++ b/tests/Camera2Tests/Android.mk @@ -0,0 +1 @@ +include $(call all-subdir-makefiles) diff --git a/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java b/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java index eb47a4a..6278c89 100644 --- a/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java +++ b/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java @@ -75,8 +75,7 @@ import java.text.DecimalFormat; */ public class WifiWatchdogStateMachine extends StateMachine { - /* STOPSHIP: Keep this configurable for debugging until ship */ - private static boolean DBG = false; + private static final boolean DBG = false; private static final int BASE = Protocol.BASE_WIFI_WATCHDOG; @@ -697,10 +696,6 @@ public class WifiWatchdogStateMachine extends StateMachine { switch (msg.what) { case EVENT_WATCHDOG_SETTINGS_CHANGE: updateSettings(); - // STOPSHIP: Remove this at ship - logd("Updated secure settings and turned debug on"); - DBG = true; - if (mPoorNetworkDetectionEnabled) { transitionTo(mOnlineWatchState); } else { |