AppOpsService: Add MODE_ASK support to AppOps.

Add support for new mode(MODE_ASK) in AppOpsService to show a permission
dialog box to user to confirm user permission before allowing or ignoring
that operation.
All strict operations (defined in AppOpsManager) are going to be in
MODE_ASK by default.
Operations will be moved to MODE_ALLOWED or MODE_IGNORED according to
user's choice.

Change-Id: I1314125a2b8be558e422e4a9eea0ff066c21bf94

Conflicts:
	core/res/res/values/config.xml
AppOps: Add support for AppOps policy file

Add support to read AppOps policy file.
AppOps policy file can be used to configure Ops default policy.

Change-Id: Idb4e3501ff9f58e491b06e74152342aa9574afbf
wifi: Confirm user permission before toggling wifi

Check user permissions before enabling/disabling wifi.

Change-Id: I1ddae6e47f42b6d3fc831c2c135ece75cf9e935d
AppOps: Add Bluetooth enable control into AppOps

Check user permission before enabling bluetooth.

Change-Id: I9af341157df05104d3c5a52874538eefdbe14c4b
AppOps: Fix mms control in AppOps.

Add support to check user permission before sending MMS.
Also seperate out SMS operations from MMS operations.

Change-Id: Ia5b73e6b6a2c48b608a0ef1d199429c6c0e21f75
AppOps: Add BOOT_COMPLETED operation

Add BOOT_COMPLETED operation in AppOps.

This operation is used to allow user to control auto start of
applications and services at bootup.

Change-Id: Ie8488ec1b4683c8617ca569cfc858709f0d35ba2
AppOps: Add nfc enable control into AppOps.

Check user permission before enabling nfc.

Change-Id: Ia84e33c299e4fdecfd66ee933d9e7d37ed29c340
AppOps: change MODE_ASK to ALLOWED for receiving sms

SMS is received via broadcast. The operation checking doesn't
popup dialog to users because of broadcast ANR issue. So if the
mode is MODE_ASK and there is no popup dialog, then sms will be
ignored forever.

Meanwhile, receiving sms operation check is not the requirement
of appops. So one solution is to modify default mode for this
operation from MODE_ASK to ALLOWED and doesn't give user the
chance to modify it.

Change-Id: I2b6f90f13d3b2576bcbc6587ab2c6efa47c8dd52
AppOPs: add delete ops for some operations

Delete operation is required to be seprated from modify
operation. Add delete ops for sms, mms, contacts, and
call log.

Change-Id: I19ca4757884ba31a05b403a092796cc03042d31c
AppOps: Add data connect control into AppOps

Check user permission before enabling/disabling mobile data.

Change-Id: I6e1895b130788dfccbc0a8523dadf1559b698988
AppOps: change "modify" to "write" in popup dialog

change "modify" to "write" in popup dialog as request.

Change-Id: I7d451c85fcf80a7b2142fe3acf3c464717e355b1
SystemUI: Update cast tile when wifi display status changes

Cast tile in quick setting does not watch for wifi display status changes.
As a result, it will not update when wifi display status changes.

Register a broadcast to watch for wifi display status changes as settings
and update remote displays when wifi display status changes.

CRs-Fixed: 718032

Change-Id: Ib2ca4677be91817c007db941531849bbc7eff5d3
PrivacyGuard : expand array for additional AppOps

Change-Id: I9f91a38a1813bc0c27074c4d6d9a325e57699a1b
ShutdownThread: Add hook to call into oem shutdown function

We now invoke a oem specific function as part of the device shutdown.

Change-Id: I71643064130c606562ad21f61db937b508d43f41
BootAnimation: Play boot/shutdown animation and music

Add support to show customized boot and shut down animation, as
well as music.

Change-Id: I69c87640175a96a18833a763a34afd362bbfb487
Conflicts:
cmds/bootanimation/Android.mk
cmds/bootanimation/BootAnimation.cpp
Revert "Freeing frame map"

This reverts commit 0c1eeb3c8ab53954218d3b8f4be08ff21be3e985.
Change-Id: I535330edb636f9457beed0849147168eaa6ae2ec
Conflicts:
cmds/bootanimation/BootAnimation.cpp
Bootanimation: Fix the low memory device oom when run boot animation

Low memory device is easily to be oom when run boot animation. Here
we do optimize the boot animation GL Texture only one frame needed.
That is free timely and re-init it again. When in boot animation,
the fps=15, so it is ok to do the delete and re-init.

CRs-Fixed: 572325
Change-Id: I1e81c3d0f3600ac895f9bd7bd00a284f3d4b7d4c
bootanimtion: fix no boot sound due to error file descriptor

-wrong file descriptor passed to setDataSource(fd, offset, length)
 API and causes no sound
-use the default setDataSource(httpService,url,header) to parse
 the file of boot sound

CRs-Fixed: 731547

Change-Id: I437e7d797cd13b7f8f8e0fbf81d5de99c55c27d1
Frameworks: Add several Slim helper classes and constants back

Change-Id: Ifeaca783c7b455f6846e20dba1aebf08c9226edd
Frameworks: smart pulldown we do not support anymore

No QS nothing smart needed anymore

Change-Id: I5187fd00cf45f28d5749f26acfaefbae45f82be6