QS: Get your theme on from quick settings [1/2]

Change-Id: Ic9319309bc2e9a8fd1815f43b84638137379da56
SystemUI: protect Protected App notifications

Change-Id: I85ff0e8c0ba0fcfc0e1426f2d2b102784f437847
Signed-off-by: Roman Birg <roman@cyngn.com>
frameworks: add alwaysRequestAudioFocusForCalls overlay

Change-Id: I0e3e5dd0741d295cdb6cbb0867f19a83c3363dc5
Signed-off-by: Roman Birg <roman@cyngn.com>
Remove Application Widget from LockPatternUtils

The application widget option has been removed from Settings, and should
instead be handled by the application granted with the
SET_APPLICATION_WIDGET permission.

This change:
- removes the configuration value from the LockScreenSettings database; and
- removes the producers and consumers of the value.

Change-Id: Ia83e8d713d4455a9c898a8048a256afb7291af0b
SettingsProvider : Add ability to override default volumes

Change-Id: I5e1a5e5a7e872f9ead1700af0da09a3f2efd6e84
Installer: Use nanoTime instead of currentTimeMillis

It is possible for the Installer to timeout even though the elapsed
time of 100,000 ms has not elapsed.  This can happen if the system
clock changes while we are running something from the Installer.

The documentation says not to use currentTimeMillis for determining
timeouts and recommends using nanoTime() instead.

Change-Id: I376d5b0fad8eefcdeabbb7ed89ebd3d1d3c96ba0
Change permission guard on bindBackupAgent()

Bug: 15829193
Change-Id: I6c1c39923b7b1a9f528f97da10913cb7f2d7e8f9
Fix issue #16794553: Duplicate ArrayMap entries in Bundle...

...can lead to launching of un-exported activities

We now validate the array map after unparcelling to make sure there
are no duplicate keys.

And to make up for the performance overhead this introduces, I switched
the parcelling/unparcelling code to write keys as explicit string
objects rather than generic values.  There was no reason to use generic
values since the write method itself only accepts an array map with
String keys.

Change-Id: I57bda9eb79ceaaa9c1b94ad49d9e462b52102149
Do not persist and restore the media button event receiver

Do not persist the media button event receiver.
Do not restore the media button event receiver on behalf of the
  application that registered. Prevents reported vulnerability.

Bug 15428797

Change-Id: I7ca3e7fccb165c55b23f471c00e0ed77436f7dc1
Revert "UsbSettings: Add UMS mode support"

This reverts commit 650a8551b1bc2e8381195808eb0877b1975c42ae.

Change-Id: I39c13931e271e7b67d7f7df8f76861797bf07a79
lights: fix notification and attention lights

- Turn off attention light in pulse rather than
  just turning flashing off.  This was causing
  the LED to be left on for any HAL that obeys
  the concept of LIGHT_FLASH_NONE.  Most HALs
  will either treat this as OFF, or have special
  handling for the attention LED case where
  it was getting left on.
- Remove some unnecessary code in Light

Change-Id: I36292ae0d57e0454d7c9f1d3c909a87affeaf7d2
Pass all theme apks to themeservice for processing

3rd party apps expect ACTION_THEME_RESOURCES_CACHED once a theme is installed
regardless of the contents of the theme.

Previously only packages with overlays were passed to the themeservice
for resource processing. The result was packages without overlays would
install and ACTION_THEME_RESOURCES_CACHED would never be broadcasted.

Change-Id: I7cf3f8267805ef2a0626b2690b708e7bbae46bcc
MediaScanner : Add support for default ringtones per sim

Change-Id: I1ed112a38d2b3676e31a78eb70ea0e16a3957b02
ums: support UMS on any volume

Change-Id: I43668a5200d30cef953e0d3e9ded2d8cf0cbbd22
Vectone UK (MNC01) considered non-roaming on T-Mobile (MNC30)

Change-Id: Id74c854f958be721be12451a124cfd2f8b150255
Restored original autobrightness speed
The speed was changed from this commit:
https://github.com/CyanogenMod/android_frameworks_base/commit/e941b1e27f6aad

Change-Id: I0be1ebbafc20a067ec3c2c6f9851993182bfc994
Improved the minimum amount of time that must have elapsed for change the rotation

Change-Id: I36f27727bbd5d6d7a192ffb9222223ecda2be0eb
Frameworks: Lockscreen Blur

  If user selects "See through" under screen security,
  the locksceen background will now appear transparent
  with the content behind it blurred.

Modificaitons made to the orginal commit to support Hammerhead and Flo.
It seems full HD images causes rendering artifacts. To prevent this,
we scale the image size to something more manageable.

PS2: Reduce calls to System.Settngs
     Move bitmap scaling to DisplayPowerController
PS3: Fix styling
PS4: Fixes: 1. Black wallpaper after turning off see through
            2. Wallpaper flicker on unlock when blur is enabled
PS5: Ignore status bar and nav bar when capturing screenshots
PS6: 1. Remove content observer and unnecessary calls from viewManager
     2. Restructure the flow of setting the custom image
         * now closely follows setting album art as lockscreen image

Change-Id: I12abd661510ff398251cd404f5aea670f7710789
added FastCharge QS tile
adapted from the code of bigrushdog and kasperhettinga, thank you

Change-Id: I9f43768de609db8e2ded6c11b389696ae9982d80
storage: allow swapping primary storage for apps

Advanced storage settings patch series:
[1/4] vold: allow swapped storage paths at vold init
      http://review.cyanogenmod.org/56515
[2/4] Advanced storage: vold swap storage paths
      http://review.cyanogenmod.org/56516
[3/4] storage: allow swapping primary storage for apps
      http://review.cyanogenmod.org/56950
[4/4] Advanced storage: swap primary storage for apps
      http://review.cyanogenmod.org/56951

By setting the persistent system property
 persist.sys.env.switchexternal=1
the primary device for applications storage will be reported as
/storage/sdcard1. This method currently only works with non-emulated
storage. The path swapping will probably have to be relocated within
getExternalStorage() and other functions emulated storage swap to work.

Change-Id: Ie091eb632280c2dbfd00bbf5f9b0b09be0239234