Add system|signature permission for intercepting package launch.

The preLaunchCheck (add, remove) functions which allows an application to
perform any checks before the framework launches the app
needs to be a protected with a system|signature permission.
This change defines the permission and protects the functions with it.

Change-Id: Ib62e25b780df39c4a7d9d1e4eaf3fc98ffa4089c
PackageManager: Add configuration APIs for pre-launch checks

This change replaces overlays with an audited set() API, allowing
application with INTERCEPT_PACKAGE_LAUNCH permission to bootstrap
themselves.

Additionally, checks have been added to ensure that the custom prelaunch
check activity always resolves to a valid target.

Change-Id: I7f6be647fde3ce4ed699e6abfbe0392176ec96d3
Call recording encoder/format choice 3/3

PS1: Adds a user option between WB AMR (the default) or HE-AAC for the encoding
 of call recording audio. Also changes the output format of the file
 appropriately (WB AMR now uses the WB_AMR output format and HE_AAC chooses the
 MPEG_4 output. File extensions are adjust accordingly as well).

This was in reponse to people complaining the quality of call recording audio
 is poor. It's noticibly better using HE-AAC, but filesizes are larger.

PS2: Removed Whitespace

Change-Id: Iffcdd3ba6f9aa80e238bbcc5db51809a4721711e
Automatic translation import

Change-Id: Idfc4f2ffb3420870742c010835aaf0a057585296
Expand android.permission.WRITE_THEMES to system|signature

Change-Id: I5dd3dc7ea09276227a47f72f8a1c1f312354ddb8
Add API for protected SMS receive broadcasts.

  - Allows an application to receive an sms (usually for auth
  or registration) from whitelisted addresses, without broadcasting
  to any other listeners.

  - Allows an application to modify the whitelisted addresses within
  System.Secure settings.

Change-Id: I5dfeb94832eefac9607070e9fb29db589bac7a57
SystemUI: Utilize TextureView for CameraTile.

  SurfaceView causes unecessary and confusing view bleeding
  when the camera preview is about to begin. Utilize TextureView
  to display the content stream which behaves better within the
  QuickSettingsTile's container.

Change-Id: I408545ea92e29ab2cf4760b097ecf0cea4d813c9
Start autofocus only when we have a previewframe.

  - No quicksettings tile should be allowed to take down
  SystemUi. Thus, we need to handle a sporadic RuntimeException
  being thrown because the underlying camera ABI may be a bit dated.

Change-Id: I4d87bee0827a1133a6fb59c893d1fca124546471