[Samsung Galaxy S 5 Unified Development] Blackjubel:
New Build klte

https://www.androidfilehost.com/?w=files&flid=42833

Changelog

1 : SysUI: Fix navbar theme changing with status bar

This addresses an issue where the navbar would change to use the same
theme as the status bar even when a different theme is applied to
the navbar.

2 : Recents: Fix IndexOutOfBoundsException

Use stackViews.size() instead of childCount when computing
numTaskStacksToKeep.

childCount can be 1 while stackViews.size() == 0 because the search
bar is counted in childCount.

3 : Shell: Declare cyanogenmod WRITE for system and secure settings.

4 : base: strictmode fixes.

09-03 14:45:47.597 D/Error (930): ERR: stack=android.os.StrictMode: policy=391 violation=2
09-03 14:45:47.597 D/Error (930): at android.os.StrictMode.onReadFromDisk(StrictMode.java:1137)
09-03 14:45:47.597 D/Error (930): at libcore.io.BlockGuardOs.statvfs(BlockGuardOs.java:297)
09-03 14:45:47.597 D/Error (930): at android.system.Os.statvfs(Os.java:459)
09-03 14:45:47.597 D/Error (930): at android.os.StatFs.doStat(StatFs.java:44)
09-03 14:45:47.597 D/Error (930): at android.os.StatFs.restat(StatFs.java:56)
09-03 14:45:47.597 D/Error (930): at com.android.server.storage.DeviceStorageMonitorService.restatDataDir(DeviceStorageMonitorService.java:165)
09-03 14:45:47.597 D/Error (930): at com.android.server.storage.DeviceStorageMonitorService.checkMemory(DeviceStorageMonitorService.java:245)
09-03 14:45:47.597 D/Error (930): at com.android.server.storage.DeviceStorageMonitorService.handleMessage(DeviceStorageMonitorService.java:149)
09-03 14:45:47.597 D/Error (930): at android.os.Handler.dispatchMessage(Handler.java:102)
09-03 14:45:47.597 D/Error (930): at android.os.Looper.loop(Looper.java:135)
09-03 14:45:47.597 D/Error (930): at com.android.server.SystemServer.run(SystemServer.java:298)
09-03 14:45:47.597 D/Error (930): at com.android.server.SystemServer.main(SystemServer.java:186)
09-03 14:45:47.597 D/Error (930): at java.lang.reflect.Method.invoke(Native Method)
09-03 14:45:47.597 D/Error (930): at java.lang.reflect.Method.invoke(Method.java:372)
09-03 14:45:47.597 D/Error (930): at com.android.internal.os.ZygoteInit.run(ZygoteInit.java:904)
09-03 14:45:47.597 D/Error (930): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)

5 : Shell: Declare cyanogenmod WRITE for system and secure settings.

6 : am: Adjust min free values for low RAM devices

* http://review.cyanogenmod.org/#/c/86327/ increased these
values by 50% from the original CAF reference from KitKat.
This was done because all the other values were increased
in Android 5.0 by 50% in favor of 64-bit devices.
* https://github.com/CyanogenMod/android_frameworks_base/commit/806c0305c9159ff58932a97fc6b30222ae75440b
introduced separate min free values for 32-bit devices
in Android 5.1. These are the same values that were previously
used in KitKat. It's safe to assume that low RAM devices are
32-bit so revert the 50% increase.

7 : Listen phone state change

Fix: mPhoneState value never change

8 : base: prevent StrictMode to crash system because an overflow

Sometimes StrictMode is trying to parse a bad parcel that causes the tags array to overflow,
causing a soft reboot. Although this change doesn't fix the original cause, it should prevent
OOM derived from reading the wrong parcel.

E/AndroidRuntime( 727): *** FATAL EXCEPTION IN SYSTEM PROCESS: main
E/AndroidRuntime( 727): java.lang.OutOfMemoryError: java.lang.String[] of length 1869767790 would overflow
E/AndroidRuntime( 727): at android.os.Parcel.readStringArray(Parcel.java:1798)
E/AndroidRuntime( 727): at android.os.StrictMode.<init>(StrictMode.java:2200)
E/AndroidRuntime( 727): at android.os.StrictMode.readAndHandleBinderCallViolations(StrictMode.java:1738)