Settings: Introduce Privacy Guard Manager

Due that on the one hand a lot user are not familiar
with permissions and how to read them and on the
other user want to have a faster easy access to
setup privacy guard for several apps this small
manager assist the user to setup.

Privacy Guard Manager shows a list off all installed apps
Per default it shows only user apps which have critical
permissions privacy guard can protect.
The user can optional show in the list as well all system apps
or turn off the filter to show all apps undependent of the
permission the app has. To activate privacy guard for an
app a simple click on the entry activates it so that the user
can go fast trough the list. Longpress opens app detail page.
Initial help dialog tells the user how to use it.

Due the filter user who are unfimiliar with permissions can
fast see which apps are effected without deeper knowledge

cheers

SlimRoms

PatchSet3:
- go inline with AOSP style
- move PrivacyGuard by default into manager
- change behaviour off active icons

PatchSet4:
- change app icon size to 36dip

PatchSet5:
- string change

PatchSet6:
- add reset option to disable privacy guard for
  all shown apps in the list

PatchSet7:
- Cleaned up the intro dialog a bit.

PatchSet8+9:
- cleanup
- fix alignment of top checkbox

PatchSet10:
- fix permission filter

PatchSet11:
- improve icon loading

Change-Id: I6bc886393bf90f8daed92b66d5fee1ce9e1accd0

Conflicts:
	proguard.flags
	res/values/cm_strings.xml
	src/com/android/settings/SecuritySettings.java
Settings: privacy Guard enhance app logic

This commit changes the following

- do not show apps signed with the plaform certificate at all
  (like settings, systemUI, android system etc)
  IMO the user should trust the android signed apps to be save and this will
  prevent weird behaviours user can get when they activate it on this packages
  all other system apps (like calculator, browser) and all which are not signed with
  android key are not effected.

- to go inline with AOSP disable the checkbox in detail app screen
  for built in apps

cheers

SlimRoms

Change-Id: I12b5522f6e58047173778381fb7290bb1c71bab3
Settings: Include HALO preferences in manifest for long-press toggle action.
Settings: Camera button rebinding and lockscreen action additions (2/2)

Adds new config_deviceHardwareKeys bitmask for camera button.
Lets you rebind the camera press/longpress and adds a new KEYCODE_CAMERA handler to inject a longpress KeyEvent
in order to let you bind keys to actually trigger the shutter, in addition to launching the app itself.

This also adds KEYCODE_ASSIST and KEYCODE_APP_SWITCH to the available keys to assign longpress lockscreen actions to.

Change-Id: Iad1c850e07974ef45313b32c9427b9e0d31dedd7

Conflicts:
	res/values/arrays.xml
	res/values/strings.xml
	src/com/android/settings/cyanogenmod/HardwareKeys.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
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>

Conflicts:
	res/values/strings.xml
Merge remote-tracking branch 'upstream/jb-mr1' into jb-mr1