framework: Privacy Guard

 * Introduce a new privacy feature which allows the user to run an
   application with reduced visibility into his or her personal data.
 * Adds a per-application flag and simple API to determine if this flag
   is enabled for the current or calling process.
 * This flag can be used by content providers to decide if they should
   return a limited/empty dataset.

Change-Id: Id7c54d728e63acb2b02a2a9322930b54949f6c5d
Add missing @hide annotations for Privacy Guard

Change-Id: I6072ed2d3ac05382f9cabbada0c42cea6cbe2422
privacy guard: Use LocationBlacklist for location filtering

 * Google has built a per-package blacklist into the location service.
 * Let's use this to handle Privacy Guard instead of our one-off code
   which has a bunch of edge cases and can leave apps in a weird state.

Change-Id: I2f2ecd0b75ff51b44b1a6035189355d7bd63eaf4
am: Fix the privacy guard notification

 * The privacy guard notification was not showing everytime. Fix the
   logic and handle it in the right place so it hits both the create and
   resume startup path.

Change-Id: I80c88ffb0fcb4ed3ea64ceb228bb436975278ecc
Frameworks: privacy guard fix possible NPE

If the user flash a data app over recovery on clean flash
(like a lot themed apps or gapps packages are doing)
the user will get into a bootloop because of an NPE
due an unknown state of the user due that
installedUser == null

To fix it
Check if installUser exists if yes then
call the provider settings value for the current
user

PatchSet 2+3: message update
	      fix for real now

Change-Id: Ie5f94a0d0a11ae24fdfdc8372c0433b26793b66e
Frameworks: privacy guard fix UI freeze

randomly sometimes the complete UI freezes when toggle
privacy guard. Move out the forcekill from syncronized to
fix it so that it kills the app when all threads are open
and they can react to the forcekill which cannot result then in unknown states

cheers

Change-Id: I81514dc5ca9149477ee747a7d90720b83f741baa
Revert "framework: Privacy Guard"

This reverts commit 015b1ec026b7d8835590017b6c66585fa218cf59.
Privacy Guard : Reimplement backed by AppOps

Re-implements privacy guard to use appops.

Change-Id: I2b52e8cf0d6e126fb156f83df885b5551503cd9d