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.
privacy guard: Fix crash when uninstalling an app

 * Don't try to update the privacy guard flag while refreshing after an
   uninstall since the PM will throw an exception at us.

Change-Id: Idadb99fefc2861e871f6206b08c844dda742fa68
Handle cancellation of the 'enabling PrivacyGuard' alert box.

I noticed that the option could remain ticked but not actually enabled
if the alert box is cancelled.

Change-Id: If9a4e88641a5e4283d6ea16c17ca4461841580e3
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
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
Fix IllegalArgumentException in Privacy Guard Manager

On tablets such as manta a this occurs.  To reproduce go into PGM, press
the back button one time, then go back into PGM.

http://pastebin.com/N7XAybUB

Remove privacy guard fragment in onDestroyView

Change-Id: I61cebe273fa6fd514f18c86894acd176701148f6

Check if fragment transaction is empty before attempting to remove it

Change-Id: I08591c89559d33fee30ac2934fdbcc30637147da

PrivacyGuard fragment fix - change from empty check to isDestroyed check

Change-Id: I52fe44b7446cd16793df6ac9cdbe31e2ddd70210
Signed-off-by: Paul Beeler <sparksco@gmail.com>

PrivacyGuardManager: Reduce calls to getFragmentManager

Change-Id: I74f07a58b09cf0e9114d0c1c56e9a97d55ab0900
Sort disabled apps to the end of the list in privacy guard manager.

JIRA: CYAN-1707
Change-Id: Ie3c1cf0339d66405d27c06dba07cc80e4001d669
PrivacyGuard : Reimplement to use appops

Re-implement privacy guard to use appops

Change-Id: Id97b6ecf8d4c844d3496adc71eeaba7ea050ce1d
Save last list position in privacy guard manager.

Change-Id: If04fd42b1a50059996d2a002f0c2451c3cdf82a4