[Galaxy Note 3 Android Development] temasek:
Build V41

i9300 - md5sum: e967cee0bee79432b4e7612b15edb43d

hltexx - md5sum: b7bbaf7a9bf22d3a5435e6e5ce480dce

CHANGELOG SINCE V40

Add "Slims Hardware Key Rebinding" - SlimROM

- Revert CM hardware key rebinding

Possible mapping are:

ACTION_HOME

ACTION_BACK

ACTION_SEARCH (in app search)

ACTION_VOICE_SEARCH

ACTION_MENU_BIG

ACTION_POWER

ACTION_NOTIFICATIONS

ACTION_QS

ACTION_RECENTS

ACTION_SCREENSHOT

ACTION_IME

ACTION_LAST_APP

ACTION_KILL

ACTION_ASSIST

ACTION_VIB

ACTION_SILENT

ACTION_VIB_SILENT

ACTION_POWER_MENU

ACTION_TORCH

ACTION_EXPANDED_DESKTOP

ACTION_THEME_SWITCH

Add last TRDS 3.0 - Calendar

frameworks/base: added national roaming for Saunalahti in Finland

-http://jira.omnirom.org/browse/OMNI-413

frameworks/base: Disable proximity sensor when screen goes on in ActiveDisplay/PocketMode.

- Active Display (in Pocket Mode) currently only switches off the proximity sensor in some cases.

- If the user switches on the screen itself, the sensor is left running. This change

stops the sensor as soon as the screen goes on. Active Display already started the sensor each time the screen goes off.

frameworks/base: use on virtual POWER_KEY own global menu handling

- we use the POWER_KEY down event to call the global menu from SlimActions

to allow to add shorcuts to the global menu.

- Handle this undependent of non virtual key events and call the global menu

directly without vibration and without delay.

- Just put it into the message que and done

frameworks/base: SystemUI: Pimp-up Media Tile (1/1)

- Allow double-click to start a sleep timer for the currently playing media.

frameworks/base: TRDS change auto detect light conditions method

- Currently on critical light conditions it still switches to often between

on and off which results in bad UX and in worse cases to unusable phone

due that it is permanently switching. To prevend that slacken the light mode

level detection and set it when it goes to dark mode way more higher (LIGHT_CONDITION) and when into light mode back to lower level (DARK_CONDITION)

frameworks/base: FLAG_PRIVILEGED disappears if privileged app is updated and rebooted

- Since Kitkat, an app pre-loaded under /system/priv-app/ has FLAG_PRIVILEGED. However, if the app updated and the device rebooted, privileged flag is unset from pkgFlags. This patch fix issue to assign privileged flag when scanning the updated packages.

- Bug: 12640283

frameworks/base: Only send storage intents after boot complete

- It is not possible to send a broadcast before the system boot is completed. If you do it anyway you will get an IllegalStateException: Cannot broadcast before boot completed.

- If a memory card is inserted or removed while the phone is booting up, there is a risk that the MountService will try to broadcast a storage intent too early, and cause the device to crash.

- Use FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT to avoid problems with too early broadcasts.

frameworks/base: Telephony: Modify code to check that PUK code length is always 8.

- As per 3GPP TS 31.101 Release 11 section 9.6, the number of digits for UNBLOCK PIN (PUK) is always 8.

frameworks/base: Alarm: Add one more RTC alarm type for poweroff alarm.

- Now we use type of RTC_WAKEUP for the poweroff alarm. Actually lots of other applications also use this type. But these applications never expect the device will power on after it has been shut down. So we need to add dedicated alarm type for the Deskclock or similar applications.

frameworks/base: alarm: add JNI interface for clearing alarm

- Add the JNI for clearing cancelled alarm, otherwise kernel driver would know nothing about the alarm status. E.g. power-off alarm would not be really cleared in alarm driver even it is cancelled in the apps/framework.

frameworks/base: Bringup NSRM(network socket request manager).

- NSRM is a feature to synchronize app socket requests to reduce network signalling and there by save some power.

frameworks/base: Fix alarm wakelock not being released.

- Alarm wakelock was not released when the pending intent was served by the package with a uid not the same as the one which created the alarm.

- Remove advanced for loop from PowerManagerService since the list is modified during iteration and thus resulting to ConcurrentModificationException error

frameworks/base: Wifi: wifi not connecting, once the APN gets disabled state

- APNs are disabled on select network and they are enabled on receiving connected event. But forgetting an APN before the connected event is received,will result all the remaining APN to be in disabled state and they never connect. So, Enabling all the disabled APN on forget network will help to connect automatically to a saved APN.

frameworks/base: Audio: SetForceUse config check in AudioService

- Audio is routed to headset when BT is turned off while audio is played on speaker

- Mediarouter does not have setForce device information when app forces audio to speaker. So while disconnecting BT, MediaRouter is routing audio to headset instead of speaker.

- Added check for setforce config in AudioService.

- CRs-Fixed: 578316

frameworks/base + Settings: Added sahlnaskh arabic font and give it higher precedence than DroidNaskh

- sahlnaskh font is a fork of DroidNaskh font with some issues fixed.

- Details of fixes are in https://github.com/khaledhosny/sahl-naskh

- This should fix Jira issue: http://jira.omnirom.org/browse/OMNI-307

frameworks/base: AppOps: Forward port ops from cm-10.2

Squash of:

Author: Sam Mortimer <sam@mortimer.me.uk>

Date: Fri Sep 27 21:30:34 2013 -0700

[2/2] AppOps: Add alarm wakeup op

When alarm wakeups are denied/ignored,

the alarm types are remapped as follows:

RTC_WAKEUP -> RTC

ELAPSED_REALTIME_WAKEUP -> ELAPSED_REALTIME

Change-Id: I3a5023e1f6260004319290e776bdb2daf73e9fdf

Author: Kun Liang <kunliang@codeaurora.org>

Date: Fri Aug 30 23:56:59 2013 -0700

AppOps: Add data connect control into AppOps

Check user permission before enabling/disabling mobile data.

Change-Id: I6e1895b130788dfccbc0a8523dadf1559b698988

Author: Shashank Mittal <mittals@codeaurora.org>

Date: Thu Sep 5 17:24:44 2013 -0700

AppOps: Add Bluetooth enable control into AppOps

Check user permission before enabling bluetooth.

Change-Id: Iefa4ea3319b33b2639beaf38d261d83649bbcf85

Author: Shashank Mittal <mittals@codeaurora.org>

Date: Tue Sep 3 19:23:10 2013 -0700

wifi: Confirm user permission before toggling wifi.

Check user permissions before enabling/disabling wifi.

Change-Id: I1ddae6e47f42b6d3fc831c2c135ece75cf9e935d

Author: Qaweck <qaweck@gmail.com>

Date: Dec 6, 2013 06:21

Fix bluetooth and data enable with ProfileManager

Handle the case of system uid in AppOpsManager

Change-Id: I5f9c3ba2e2ed0b1c825b995bf2724066ae796bb4

frameworks/base + Settings: AppOps: Add per Op allowed and ignored counters

- Port from cm-10.2

frameworks/base + Settings: AppOps: Add BOOT_COMPLETED operation.

- Add BOOT_COMPLETED operation in AppOps.

- This operation is used to allow user to control auto start of applications and services at bootup.

frameworks/base: Revert "Turn off carrier provisioning by default"

frameworks/base: Allow override of DUN settings

- Allow override of system DUN settings by setting persist.sys.dun.override

to one of the following values:

2 = not set, 0 = DUN not required, 1 = DUN required

- If the prop is not set or is set to an invalid value the system setting will be used.

frameworks/base: Keyguard: Fix PIN layout on sw320dp-mdpi devices

- Fix a long standing lockscreen layout problem that was introduced in 4.2

- Before: http://i.imgur.com/9sVKHRR.png

- After: http://i.imgur.com/DLY4DRu.png

frameworks/base + Settings: don't disable lockscreen widgets on low memory devices

frameworks/base: Don't confuse stat and stat64.

- Cherry-picked from AOSP: https://android-review.googlesource.com/#/c/79462/

frameworks/base: Fix incorrect name in eglSwapBuffers log wrapper

frameworks/base: Webkit: add to support file uploading

- This change adds one function in WebChromeClient for supporting uploading file in browser. In Android 4.4, browser is based on chromium not webkit engine, chromium engine support uploading file and will callback to client to show file chooser, but android_webview client has empty implementation within this callback for file chooser.

- So we solve this issue by adding implementation in framework chromium

client which extends android_webview client, function in framework

webkit client and corresponding functions in browser app.

frameworks/base + Settings: Drop Lockscreen vibrate option

- It doesn't make sense to keep haptic feedback on, but disable it only for that little unlock icon. This option didn't do anything more than that.

Let's drop it and don't confuse users.

frameworks/base: lights: Add music light support

frameworks/base: Set Settings.Global.WIFI_SUSPEND_OPTIMIZATIONS_ENABLED default value

- To be able to customize the "WiFi optimization" setting we need to set a default value.

frameworks/base: Perform NTP lookup at Mobile data connections

- If NITZ isn't supported by the current carrier the Android framework relies instead on a remote NTP server to set the system clock. The NetworkTimeUpdateService class polls for NTP time during the first 4 minutes after boot, failing to get NTP time within these minutes will increase the polling interval to 24 hours. Hence, if a data connection isn't activated directly after boot it can take a long time for the system clock to be updated. To prevent this situation, NTP lookup is scheduled as soon as a Mobile data connection has been established.

frameworks/base: Appears black screen fix for a while

- This issue is side-effect of added google patch on KK MR1.

- Fix a couple of issues with mOpeningApps.

https://android.googlesource.com/pl...8ee262c04749db4f32f73d2b9e7f58989c4638b^!/#F0

- [Reproduce path]

Settings -> Location -> Location OFF -> Location ON -> "Location consent Dialog" Popup-> "Agree btn" press

-> Black screen appears for a while

frameworks/base: AppOps: Enable MODE_IGNORED for OP_WAKE_LOCK

*) Kitkat commit log highlights that the current

implementation state is for auditing only

https://android.googlesource.com/platform/frameworks/base/+/713df150b92a0a5eea877f99405e31eefbf93a09

*) We go one step further and honour MODE_IGNORED

when for OP_WAKE_LOCK.

frameworks/base: handle for our navigation bar recentspreload in the button

- Recents screen is since some time wonky. With new hardwarekey rebinding

it showed now only more how wonky it is due that home button does not

cancel the preload always to keep the hwkey button logic alive.

As well a problem is that if you bind recents to whatever other navbar

button the preload takes no effect at all (is only binded from google to

the recent tagged view)

- Whatever to solve this let the buttons itself decide dependend on the

action if a preload or cancelpreload is needed an peform the action.

- This solves all the weird recent screen behaviours and we will need it for

the new recents screen which is in development as well

- It looks a bit weird to aquire the statusbar service here for this but in the

button itself there are not much other alternatives. In theory we could set listeners like google but instead to all buttons and fetch the action from there to decide but this gives a problem to get if it was a longpress recents or a normal press recents.

- So this way seems to be ok.

frameworks/base: handle globalmenu in SlimActions not over Powerbutton anymore

- We used till now a hacky workaround to show up the Power menu which worked but is indeed not the best way. Last tweek on it broke 3rd party root application which use similar hackish workaround.

- Whatever make global menu over wm service available and call it from

SlimActions directly. This respects of course the usual security checks

if the device is provisioned etc

Settings: Fix one NPE in tethering setting

- Once we not declare BT feature, go Setting->more->tethering will trigger this NPE.

- Cherry-picked from AOSP: https://android-review.googlesource.com/#/c/63695/

Dialer - Full theme capabilities

Email - Full theme capabilities

smdk4412-common: camera: Hold 25 msec between preview cycles on restart

- If doing a preview restart with an active listener, give said listener a bit of time to clean up before starting up the preview again. This should be sufficient to prevent shutdown/start race conditions during externally triggered restarts.

Updated cm source - Quite a fair bit. Read on your own :p

DOWNLOAD SITES

temasek.hopto.org - i9300 / tilapia / grouper / hltexx

Dev-Host i9300 / tilapia / grouper / hltexx

AndroidFileHost - i9300

MediaFire- i9300

Available for all my supported devices.

Enjoy :)