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
Make people lookup default overlay

Change-Id: I6dd7267bc82d33e04d99024e4dfb193f071d4f97
SettingsProvider: fix load protected sms setting logic

The method assumed a string resource, but we are working with
string-arrays.

Change-Id: I7d03821c5f5ac5d24445e5c03f7911c3a81c16dd
Signed-off-by: Roman Birg <roman@cyngn.com>
ProximitySensor: check for correct MaxRange value

Use TYPICAL_PROXIMITY_THRESHOLD for devices that returns incorrect mProximitySensor.getMaximumRange() value;

Presto's proximity sensor returns values: 0.0f(near) or 5.0f(far).
mProximitySensor.getMaximumRange() must return proximity sensor's availible range, but it always return 0, so mProximityThreshold is also 0.

So boolean positive = distance >= 0.0f && distance < mProximityThreshold;  positive will never be
true.
The cause of this problem is proprietary sensor.msm8660.so, it must set proper Range and Resolution for proximity sensor.

Change-Id: I0cf81fd20f210115cbd6db10c0070b12f1c57336