Disable/Enable some system apps (the special carrier apps) based on UICC

The special carrier apps follow a similar lifecycle than ones using
the AOSP UICC carrier privilege functionality. Instead of enabling
apps based on a certificate signature embedded on an UICC, this
feature merely relies on the operator code exposed by the UICC.

* The special carrier apps can only be enabled if the user did not
  explicitly change their status (enabling or disabling).
* If a special carrier app is still in its default state and matches
  against one UICC carrier, the SpecialCarrierAppIntentService service
  (living in the Telephony service) is asked to handle the app request.
* Only the system user (a.k.a. owner) can act on the special carrier
  apps.

DO USE WITH CAUTION! Especially if you enable priviliged apps.

FPIIM-1428

Change-Id: Ib4d6850d751a905f3d4598172e712a2c8a7b6551
3 files changed
tree: 61d8bebf292d7aa7b2e27bed3f4dff8da2c26aa1
  1. resources/
  2. src/
  3. tests/
  4. tools/
  5. Android.mk
  6. CleanSpec.mk
  7. README.txt