AudioService : Fix NPE

Initialize mVolumePanel prior to registering the receiver,
since 4.3 now invokes the layoutDirection call on it.

Change-Id: I8d00f0886b603d52bc55cba5fd3ba1d86f7ea56c
Feat: Allow users to disable safe headset volume warning (1/2)

Change-Id: I5da8e84215a7d6e4c2f9a1f21e7239826e6f9fda
Signed-off-by: Gergely Szell (sethyx) <szell@hu.ibm.com>
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.

Change-Id: I5df2465c46de8fe875d1581bdefe26021c8ffb33
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.

Change-Id: I1250b3778de8961ba2a89d8ea8fa29d729bbc4e8
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.

Change-Id: I6f23cc17e29e7ce12a138c747765e6bab8c126d9
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

Change-Id: I4e2ff1f4be1ad044aa350886a3ea69ee5a576f74
CRs-Fixed: 591170
CRs-Fixed: 591511
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.

Change-Id: I0aec08f118c3f33fceea60f5a6b44622717d93ed
CRs-fixed: 567655
 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

Change-Id: Ie929f407bfa12eacd29cf36031024a4a6a979b63
Fix to NullPointerException when activity is relaunched

When ChooseTypeAndAccountActivity is relaunched and resumed
by ActivityManager a call is made to onActivityResult without
first triggering onResume. This leads to mAccounts object
still being null.

Fixed by properly setting mAccounts object if it is null prior
to use after function onCreate has been called.

Change-Id: Ife7e1e052c473970d923fa43ee6189eb62a1113b
Don't confuse stat and stat64.

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

Change-Id: I45e65036d86c58943b9c273777f3f8be79a6966f
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.
Cherry-picked from AOSP: https://android-review.googlesource.com/#/c/79511/

Change-Id: Ic24b5882f65dabdfae9cc39da3d68661bed4fc31
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.

Change-Id: I046e0330147e7ace4b720a7e70f9d5047d42cfe6
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.

Change-Id: I46b8a24ecc732e441f836692c6584a78d8108dff
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/platform/frameworks/base/+/a8ee262c04749db4f32f73d2b9e7f58989c4638b%5E%21/#F0

[Reproduce path]
Settings -> Location -> Location OFF -> Location ON -> "Location consent Dialog" Popup-> "Agree btn" press
-> Black screen appears for a while

Change-Id: I14efdce87e8d78d38f9aae48568f69937e4fe1fa
Frameworks: Update DocumentsUI for theme chooser combatibility

PS2: credit: djdarkknight96
PS3: this time, use the correct owner info
PS:4 fix typo in styles.xml

Change-Id: I121099de6c09d33ef9f02019996eac1c6f1d3731
Fix dest == src bugs in Matrix.cpp.

The main bug was that the AutoJavaFloatArray autoSrc was not passing in
read only. This meant that the destructor overwrote the data which
the autoDst AutoJavaFloatArray had written in it's destructor.
This case only happened if src == dest and the arrays were copies.
Also improved performance by passing in read only a few other places.

Bug: 12570144

Change-Id: Idc8764087dc165433c584b87a0f9d4ed0ec795e8