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
wifi: Confirm user permission before toggling wifi.

Check user permissions before enabling/disabling wifi.

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

Check user permission before enabling/disabling mobile data.

Change-Id: I6e1895b130788dfccbc0a8523dadf1559b698988

Conflicts:
	core/java/android/app/AppOpsManager.java
	core/res/res/values/arrays.xml
AppOps: Add Bluetooth enable control into AppOps

Check user permission before enabling bluetooth.

Change-Id: Iefa4ea3319b33b2639beaf38d261d83649bbcf85

Conflicts:
	core/java/android/app/AppOpsManager.java
	core/res/res/values/arrays.xml
AppOps: Add support for whitelist of packages.

By default AppOps gives MODE_ASK permission to all strict operations.
This can degrade user experience for pre-installed apps.

This change adds support for passing a whitelist XML file to AppOps.
Operations requested by packages listed in whitelist file will be set
to MODE_ALLOWED by default.

User can still go into settings and override permissions of these
operations.

Whitelist XML file should have following format:
Example: whitelist_appops.xml

<whitelist-pkgs>
    <pkg name="com.android.settings"/>
    <pkg name="com.android.systemui"/>
    .
    .
    .
</whitelist-pkgs>

Change-Id: I78bf5e7baa95f0e86f9856fb38bf1ca238691303
Partial rewrite of traffic indicator

[log]

- lower system impact: nothing runs when screen is off (previous version ran continuously unless the network speed indicator was disabled
- show summary of traffic when traffic stops (number of bytes in the current "burst")
- better formatting of the indicator

Remaining to improve:

- stop the indicator when the status bar is hidden (can't figure out how to get notifications when it does get hidden)

Change-Id: Iae248454a9f66979eb6c8148ac91faf820764831

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/policy/Traffic.java
Add ButtonsHelper classes from SlimRoms

Change-Id: Ib834af5b18131e6eda7735b822542fee31b6552b
Notification Shortcuts…

…[1/2] [log]

This feature adds shortcut icons to the bottom of the notification drawer.
Preview: http://goo.gl/hSHQM

Feature highlights:

- Select up to 16 different shortcuts
- Link to any application or activity
- Use the default application icon, pick from an image or pick from included stock icons
- Colorize application/image icons as well as stock

Change-Id: I9a2770c560c765453549b8f99598afbbb24e663a

Conflicts:
	core/java/android/provider/Settings.java
	core/java/com/android/internal/util/cm/ButtonsHelper.java
	packages/SystemUI/res/values/colors.xml
	packages/SystemUI/res/values/dimens.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
Frameworks: add DeviceSupportUtils helper class

adapted partly from cm (thanks) + own modification for our needs.
Currently unused but there will follow a bunch of commits which will
use it next days

Change-Id: Ifc0c1353e1d65ead000d07e2eab2ed7d8eaa1894
Add ic_shortcut_* drawables from SlimRoms

Change-Id: I6dad57d7aa6be5e4bb8340992c4bd8ec7b3bd892
Update DeviceSupportUtils.java

Change-Id: I2c4f1044b81bb578b76796b40c5e6de4964f37b7