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
Reintroduce button-backlight (and respective inactivity timeout)

The power manager rewrite from Change I1d7a52e98f0449f76d70bf421f6a7f245957d1d7
completely removed support for control of the button backlights, which makes
all capacitive buttons out there stay dark. The commit message in that change
mentions it hasn't been implemented _yet_, so this fix should be temporary
until upstream does their own implementation

[RC: Updated to 5.0]

Change-Id: I6094c446e0b8c23f57d30652a3cbd35dee5e821a
Camera: Don't throw exceptions when value pairs have spaces in them

"(1,2)" worked, "(1, 2)" crapped out. Fix it.

Change-Id: I71262909280f88d930898a2bcf37d379add4fdea
SettingsProvider: Update icon.

Change-Id: I9e1b540e0268643371dd95593eaefa63d4a1827d
Camera: Add support for QC camera features.

Added APIs and keys for all QC features. This
will enable application to get/set paramters.
(cherrypicked from commit d0c5a0ee7e9af41320fed00ff324c6d0f22eb697)

Change-Id: I68c23aaf7267645efeb4d4743b390a048292b7fd
Telephony: Set the value of min match according to one property

CTA requires to match 11 phone numbers, so use the value of the property
"persist.env.c.phone.matchnum" to set it 11 in case of CTA tests, but by
default it is 7 without change.

Change-Id: I8cd4105c06c71af1ad242858d8de474459d96ee1
Telephony: Check the length of phone numbers before use

If the phone number string is null or empty, just return
to avoid null exception.

CRs-Fixed: 399293

Change-Id: I78db37d70e38cd2782c13621f98dc25d8624bfb7
frameworks/base: media: add support for DIVX files

Change-Id: I6e922c5d6e17ee590606268af97b7894f35d19ae
Telephony: Add new apn.sim.operator_numeric property

Use new property to filter apns. We need this new property
because icc.operator_numeric property is also used in cdma
and ApnSetting UI might display wrong set of apns if the
peroperty value used was set by RuimRecords
CRs-Fixed: 362846

Change-Id: I3831a703a2fdc69df8552af57e0bb981d0c7e46f
Camera: QCFace camera framework added

Add framework support for extended face detect

CRs-Fixed: 587195
Change-Id: I2a1c477ee6d11f2b9764966abbb85ede9100fe91
Conflicts:
Android.mk
Camera: Extended face features added

- QCFace renamed to ExtendedFace

CRs-Fixed: 587195
Change-Id: I7c7e2073f283522c2f0bd0fa5e7b96a74ae18011
camera: Fix Camcoder quality levels based on video profiles

Fixed the enum map between the framework and native layer
for extended camcorder profiles

Change-Id: I38ce375841bf83ac01c4ac8f42c22a72e8ed2c19
Camera: Add support for manual 3A

Add API for manual 3A (awb/af/aec).

Change-Id: Ia5240207ce7a6628e8fdfef79f56db01add14aef
EncoderCapabilities: Adding HFR entry in EncoderCapabilities and JNI

--Adding HFR entries like max HFR mode, max HFR width & max HFR height
  in the EncoderCapabilities.java and android_media_MediaProfiles.cpp

Change-Id: I544a17e32ddd7ddccb0c48cf07b3199d2c485e09
CRs-Fixed: 589983
libmediaplayer: update MIME types to include DASH support

Update MIME types to include DASH support

CRs-Fixed: 539815
Change-Id: I300e3bec1425ec1e1170bd489097237218c52baf
frameworks/base: Use ExtendedRemoteDisplay to launch Wifi Display

- RemoteDisplay class is used to launch WiFi Display
  implementation in the Android framework with a discovered peer.
  There is a need to support proprietary implementation of wifi
  display instead of the framework implementation.

- To enable this support, ExtendedRemoteDisplay is added,
  which launches the proprietary solution. ExtendedRemoteDisplay object
  is created if the class is available in the package. If the class is
  not available the default implementation will be used by creating
  RemoteDisplay.

Change-Id: I2e2a5e552bc86888848c0402bafd873620b05c21
Fix setSurfaceTexture to handle surface caching

Changed the TextureView.setSurfaceTexture to apply the
existing listener to the surface provided in the method.
This is done to allow surface caching to work.
Whenever a new SurfaceTexture gets created, its listener is
created as well, so when the setSurfaceTexture is called
we should be attaching the listener to the new surface.

Change-Id: I4c1a704c587e977ab7a6b1fe3a7d3e0d20d00218
CRs-Fixed: 639136
Framework: Adding support for Auto HDR

Adding support for Auto HDR for camera

CRs-fixed: 629556

Change-Id: Ie5e4718524d2ed799f1f9af1f76e89c01d743ac8
idmap: Use local long variable to get the crc value from zip.

As the size of the long is 8 on the 64bit system and it is different from
the uint32_t as it's size is 4. So we need use a local variable of long to
get the crc value from the zip file.

Change-Id: I033251dac0b9478b638e5d68733d74f2fc2f4d8a
Camera: QCFace AOST copyrights fixed

AOST files copyright data must not be updated to 2014

CRs-Fixed: 587195
Change-Id: I0cd603da674152c9f47350e571ec3e230b61f8dd