Build V36
i9300 - md5sum: 493447ff027d7a869dff085070c48ea1
CHANGELOG SINCE V35
Spoiler:
- FIXED - Settings FC on Security -> Screen Lock
- FIXED - Settings FC on Temasek spare parts -> Notification & QS drawer -> Style
- Add "Custom Carrier Label"
- Add "Pimp up Notification Labels Hide"
This adds fine grain priorities to hide the labels in the notification
drawer in the following ways:
- Show all Labels
- Hide Carrier Label
- Hide WiFI Lable
- Hide all Labels- Add "Add option to always show battery status on lockscreen"
- Add "Lockscreen Glowpad Torch"
- frameworks/base: added national roaming for Noverca in Italia
- frameworks/base: added national roaming for BSNL in India
- frameworks/base: more fix Active Display (again)
- maybe fix
- Log in - OMNI
- Log in - OMNI
- Log in - OMNI- frameworks/base: alarms: clean up duplicated sounds
- another mess...
Alarm_Classic == Oxygen == Cesium
Promethium == Platinum
Argon == Fermium
Nobelium == Neon
Helium == Hassium
Plutonium == Krypton
Neptunium == Carbon- frameworks/base: FIX LTE QS Toggle
- frameworks/base: Keyguard: don't refresh ui when screen off
- KeyguardStatusView is doing refresh all the time, which cause high power when screen off. ( MORE POWER SAVINGS !!! )- frameworks/base: ProcessList: use different polling interval when screen off
- We are using the same time interval for both screen off and screen on.
For process on top: ActivityManager.PROCESS_STATE_TOP, we will poll PSS
information every 120 sec.
- During polling PSS, we are grep /proc/%d/smaps which is a 10k lines file.
This cost quite a lot of CPU resource. But when screen off, we don't need to update TOP process PSS so frequently since we are not operating it. Lower polling circle to every 15min to reduce power. ( MORE POWER SAVINGS !!! )- frameworks/base: UI not updated correctly in expanded statusbar
- Sometimes when getting status changes in expanded statusbar the text disappear. Both NetworkController and PhoneStatusBar handles UI updates and they are not in sync. This fix allows PhoneStatusBar to update UI when NetworkController is updating the UI.- frameworks/base: onAccountsUpdated shouldn't be called back after listener unregistered
- There is a problem of AccountManager that onAccountsUpdated() is called back even after the OnAccountsUpdatedListener is unregistered. It may cause application crash.
- For example, when rotating a tablet 180 degree with Settings apk running, com.android.settings.Settings is re-launched 2 times successively. (Destroy->Create->Destroy->Create) It repeats adding&removing OnAccountUpdatedListener.
- When dialog was being opened in the following cases, NullPointerException at BackStackRecord.getBreadCrumbTitle() was happened on 10 inch tablet which has 2 panes on Settings.
* Settings > Language&input > Language
* Settings > Language & input > Text-to-speech output > Speech rate
* Settings > Wi-Fi > Menu > Advanced > Keep Wi-Fi on during sleep
* Settings > Wi-Fi > Menu > Wi-Fi Direct > Rename device
- This fix prevents the undesirable callback.- frameworks/base: Fix wrong IME state handlings on keyboard switches
- We assumed that calling updateFromSettingsLocked(true) is in all value changes a possible way to simplify the process. In reality this fails when the user switches eg between 2 IME keyboards several times due that we call every
time mIPackageManager.setApplicationEnabledSetting(imm. getPackageName(),
PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, PackageManager.DONT_KILL_APP, mSettings.getCurrentUserId(),
mContext.getBasePackageName());
which results in wrong mCurMethodId which ends in method calling which should not be called and result in an NPE and hotreboot due of dieing service.
- To fix it go only for showinputmethod feature the old way and restore for all other value changes AOSP behaviour and check specifically if enabledChanged is true or not based on the getEnabledInputMethodsStr() method during we lock on mMethodMap- frameworks/base: Keyguard: do not allow to delete the system widget if widgets are disabled
- We overwrite the default widget with our own one. In this case it is detected
as a normal widget even though it widgets are disabled and starts listening to
longpress events
- Whatever check if widgets are disabled. If this is the case do not allow any
longpress events- frameworks/base: Fix preference puts with "null" values.
- Null values were being written out as <null /> elements in the XML prefs file (as expected). This allowed the getFoo() functions to work correctly because they treated null values as missing mappings but containsKey would fail.- frameworks/base: MountService listeners can not be unregistered
- When unregistering MountService listeners, their Binder proxy objects were compared to registered listeners instead of their backing objects.- frameworks/base: Add NULL check in updateProxyConfig
- If the exclusionList was null in updateProxyConfig the VM would crash when converting it to a UTF8 string. Avoid this by adding a null check.- frameworks/base: Before requerying a cursor, check if it is closed.
- Before updating a cursor, it needs to be checked if it is valid. Currently a defence code only checks if it is not null.
- But in case of "Cursor", it is not valid, if it is closed. So just like in CursorAdapter.onContentChanged(), add the additional defence code to check validation.- frameworks/base: Revert "ExternalStorageProvider: use mount point in device list"
- Settings: Make Privacy Guard a first class citizen in the Settings app.
- Settings: Fix up top level "Privacy" section
- Settings: Fix NPE with null check on NFC adapter
- Verifies the adapter is not null before dereferencing it and log and error if so- Settings: Fix Bug Tile Size
- As reported very well by user Natakranta:
- [ROM] [4.4.2] SlimKat (hammerhead) [beta 2.3] - Page 355 - xda-developers
- Layout files will take care of scaling down in this case.- Settings: Fix clock font style default setting
- Updated cm source
DOWNLOAD SITES
Temasek - i9300 / tilapia / grouper / hltexx
Dev-Host i9300 / tilapia / grouper / hltexx
AndroidFileHost - i9300
MediaFire- i9300