Recover apps with malformed certificates.

There was a window of time in Lollipop where we persisted certificates
after they had passed through a decode/encode cycle.  The well-written
OpenSSL library was liberal when decoding (allowing slightly malformed
certs to be parsed), but then strict when encoding, giving us
different bytes for effectively the same certificate.

A related libcore change (0c990ab4a90b8a5492a67b2b728ac9a4a1ccfa1b)
now returns the original bytes verbatim, fixing both pre-Lollipop
installs and installs after that change.

This change recovers any apps that had been installed during the
window of time described above by doing a one-time check to see if
the certs are effectively equal.

Bug: 18228011
Change-Id: Ib82bd6db718d0490d7a26c9c1014b7c8457a7f2d
Merge tag 'android-5.0.0_r7' into HEAD

Android 5.0.0 release 7
Merge changes I4fa94d4b,Ie950679d,I02ecba75,Ic828315b,Id1914564, ... into lollipop

* changes:
  Proper supplementary service notification handling (1/5).
  Framework: Configurable 0, 90, 180 and 270 degree rotation (1/2)
  Statusbar clock and date customizations
  Netowork speed indicator layout fix
  TrafficMeter: fix auto hiding when Bytes is set as the unit
  [1/2] TrafficMeter: added option for auto-hiding on inactivity
[1/2] TrafficMeter: added option for auto-hiding on inactivity

Together with inactivity threshold

Thanks to @C3C0 for the code

Change-Id: I5cb40e600a4c8c80daeeb465343541f133e2413e
TrafficMeter: fix auto hiding when Bytes is set as the unit

Change-Id: Id191456439a2695dd299be08ae3c4716b837f0f1
Netowork speed indicator layout fix

Change-Id: Ic828315bb6512a13bb9b33c0785387883611e1d3
Statusbar clock and date customizations

Some things changed on kitkat + our old code needed in general a bit
rework. All done with this patchset.

This commit add support for:

- Clock and date enable/disable
- Clock and date position
- AM/PM styles multilang support
- color
- Date format
- Date style

Change-Id: I02ecba75ecece70a50ed560834ec98b9afe6021a
Framework: Configurable 0, 90, 180 and 270 degree rotation (1/2)

thanks cm

Change-Id: Ie950679d3515234ab30e6da04cba2659c463425d
Proper supplementary service notification handling (1/5).

Remove CAF's passing of implementation details from the base classes,
and replace it by well-defined call properties.

Change-Id: I4fa94d4ba68a1570d3f822be569ae124882c0e66
Framework: safe headset volume option (1 of 2)

thanks DvTonder

Change-Id: I5355820a24d48c1d8f54ea17a7022d891ad07857
Option to use volume keys to control media volume anytime [1/2]

The volume keys control the Media volume rather than the Ringer
hence removing the issue of accidentaly changing the Ringer volume.

Credits: Pawitp

Change-Id: I789e05bdb0bb7c968f71e4e10f4a759b3dbd0b59
fb: less notifications sound (1/2)

add back the 4.3 feature like it was.
User can setup how often notification sound
for an app comes trough so that
it does not annoy to much

Change-Id: I3d7b2ef2e2ff99b7c23880626e0268ec4c5d8543
base: fix external sdcard mountpoint

It needs to add that line on init.xxxx.rc on rootdir folders.

"chown root root /mnt/media_rw"

Needed for devices that has some troubles mounting storages.

Credits: http://forum.xda-developers.com/showthread.php?t=2537793

Change-Id: I0c9e2ae5439c8d8a762904e2760eb6590ce77a62
Make "SD Card removed" notification dismissible if the removed SD Card is not the primary storage

The Galaxy S uses the "external SD Card" as the extended storage
and it the notification should be dismissible as it's okay not
to have it.

Additionally, this patch also not hide the USB storage mount dialog
if the removed storage is not the primary storage

Adapted for CM 11

Change-Id: Ic752a3da917e0d7736a619fb68f07905106987fb
SystemUI: Add missing recycle calls

Change-Id: I6e5346d9f423350e643d696299136799b78cdd28
ServiceState: add support for DCHSPAP

Change-Id: Ib0a328652c14580718400b00146b770481be5458
Remove unnecessary updateSurfaceScreenOn call.

This change stops updateSurfaceScreenOn() from being called one time
right after another. It's called at the end of stayAwake(boolean awake),
which is called right before updateSurfaceScreenOn() in release().

Change-Id: I3e5db322f0abce0cd37320a103015ba72dffa64f
Ringtones: Fix ANDROID_LOOP=true for ArgoNavis and Perseus ringtones

Add ANDROID_LOOP metatag to ArgoNavis and Perseus ringtones, removed in commit
https://github.com/CyanogenMod/android_frameworks_base/commit/5d7c089cabe599c3c5614c53f5a94c8c2357340f

Change-Id: I2fd05e73d68758867a17d2c3369cfeefc203ac5a
Add an option/category in Dev Set to customize the device hostname (1/2).

PS:
- cleanup

Change-Id: Iddeca1ea525f7c0ed84d6495babcdd73ec1db705
PowerManager: Don't wake up device when charger is plugged/unplugged (1/2)

This will add the option to disable waking up the device when a charger
is plugged or unplugged.

Change-Id: I3367041a05931510f367dafe412b173c80b89df1