Make system UI settings work for multi-user (2/2)

Change-Id: I88ab9fa0cb7791c5f9d859ab6531346f2aa55193
settings: Privacy Guard support

 * Add toggle to InstalledAppDetails to enable/disable privacy guard flag on
   a per-application basis.
 * Add toggle to enable privacy guard by default for applications.

Change-Id: If03aa5319c520b6c4a78887f0f46ef1443ddaa83
Merge "Make system UI settings work for multi-user (2/2)" into cm-10.1
unlock google play

Change-Id: I297944c586a73b07b2ecd483f9ca2199c78b537f
auto expanded desktop (setting)

Change-Id: I1b8815b0a5d082d0b141ec07c4099a330f742c62
Add disable button to apps details for user apps

Change-Id: I27bd18a12e81cc1d907006fbc39036eddb9d11b4
HALO (2/2)

HALO is Androids one and only multitasking solution.

We explicitly do not go the Samsung/Cornerstone route. This solution is basically an extension of
the regular notificationshade, which is an aggregator for notifications that can be checked out when
time permits. HALO completes it by allowing you to respond to tasks on the spot, trying to be as
unintrusive as possible and flexible in regards to policies (white/black lists).

Features:

- Apps open up in floating state, apps underneath do not pause
- complete SystemUI & Core integration, making HALO feel like a native feature, source/SDK and UI/UX
- HALO has white and blacklists, which for now allow fine control for apps pinging through HALO
- multiple gestures to navigate HALO:
  - double-tap-move: move
  - tap-drag-left/right: task through notifications, finger up launches
  - tap-drag-up: dismiss notification
  - tap-drag-down: put HALO into semi-hidden state
  - swipe while HALO is hidden wakes it up
  - drag-to-X to remove HALO altogether
- comes with as few settings as possible, everything should be self explanatory and intutive,
  users must be informed about the double-tap gestures which is the only catch.

Known issues:

- Integration has been finished for PhoneUI. TabletUI and PIE must be integrated still.
- Packageinstaller must allow HALO through its overlay check or it will disable the install-app button.
- The low level has a few remaining issues:
  - Some apps still go up fullscale (they trick us with services, circumventing the intent flagging)
  - Some 3D games still pause
  - There is one known app that refuses to end on back or touch-outside, that is WeChat
  - The activitystack pause implementation works but is makeshift

To-Do:

- On-screen tutorial at first start up to teach users the gestures
- Fixing all known issues, full integration in the remaining UI's
- Perhaps hybrid engine integration for running floating apps in a decreased size

Merge branch 'multiwindow' into jellybean

Conflicts:
	res/values/arrays.xml
	src/com/android/settings/paranoid/Toolbar.java

Change-Id: I87ad32f302592fff2c77e7cb37c5695d40ee90cd

Conflicts:
	res/values/arrays.xml
	res/values/strings.xml
	res/xml/tool_bar_settings.xml
	src/com/android/settings/paranoid/Toolbar.java

Conflicts:
	res/layout/installed_app_details.xml
	res/values/cm_arrays.xml
	res/values/cm_strings.xml
	res/xml/system_settings.xml
	src/com/android/settings/applications/InstalledAppDetails.java
	src/com/android/settings/cyanogenmod/SystemSettings.java
Floating window (2/2)
This is the setting part for the framework commit. This is a simple checkbox that allows the user to not make use of the floating window function seen in conjunction with PA's Halo feature. We are taking a different route on that Halo stuff and this is a very early start of it.

Schubi:
	Moved to CM System Settings

Conflicts:
	res/values/strings.xml
	res/xml/display_settings.xml
	res/xml/quicksettings_tiles_style.xml
	src/com/android/settings/DisplaySettings.java

Change-Id: I368248ec99d7cf2257640a0fdcf0e0738595b7ca

Conflicts:
	res/values/cm_strings.xml
	src/com/android/settings/cyanogenmod/SystemSettings.java
Halo: Add master switch to disable Halo (2/2)

Change-Id: Iafde2e47f4d7fdafdf49c475eba26a8437c52089

Conflicts:
	src/com/android/settings/cyanogenmod/SystemSettings.java
Storage Settings: Allow user to trigger a volume rescan

This change allows to trigger a rescan of a volume with the next restrictions:

- Internal volumes if they are emulates
- Primary volumes
- Non-Removable volumes

Requires http://review.cyanogenmod.org/#/c/44585/

Change-Id: I42aebc9fc0d3530cf0a3efb4d2139b688707d43d
JIRA: CYAN-1391
Issue: https://jira.cyanogenmod.org/browse/CYAN-1391
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Add lockscreen rotation as an optional rotation setting (2/2)

This will allow the user to select wether or not to use the
rotation settings for the lockscreen.  This is dependent
upon the rotation setting being checked.

Signed-off-by: Michael Bestas <mikeioannina@gmail.com>

Change-Id: If45c13a395e0d71b7c4cdcf484a6b8cef964ee37
JIRA: CYAN-339