Revert "framework: Privacy Guard"

Change-Id: I82ab85092e54c577a0817f3bedc85063c9a3054a
Privacy Guard : Reimplement backed by AppOps

Re-implements privacy guard to use appops.

Change-Id: I2b52e8cf0d6e126fb156f83df885b5551503cd9d
SystemUI: don't crash when user disable default apps

If the user has disabled the default clock or calendar application,
System UI will crash when the user clicks the Clock or Calendar
from the notification bar. This patch fixes the issue.

Change-Id: Icdc3679cdd35b5b3a24086e1ada67d0defabc5cb
PackageManager: Let system-defined permissions take precedence over settings

If a permission was already present in the device's settings due to having
no prior system definition, and the system tried to take it over
(after a version upgrade, for example), it'd fail, since the saved
value would clobber the one previously read from the permissions XML.

This breaks system-behavior changes (gid grants, in particular) unless
the user performs a factory reset after upgrading, which isn't acceptable.

Change-Id: If2e44110f6db735ad29cdf1086e814bd1299e290
Fix certain setting writes being incorrectly skipped.

If a value that previously had a very long value (over the 500 char
threshold) is now set to null, isRedundantSetValue would incorrectly
return true even though the value was changed.

Change-Id: Ia5304743024ec01024be98aa51ed260d38caf93c
Audio: Fix abnormal keytone playback during silent mode changing

Change-Id: Icfc4003c9756b3c33578c137e59dc4a2b4f25647
Author: Chenyang Du <chenyang.du@intel.com>
Signed-off-by: Ertao Zhao <ertaox.zhao@intel.com>
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 19084 4898
platform: Fix the gid for the theme manager service

It was mismatched with fs_config, resulting in attribution of the
"-1" gid

Change-Id: Ia6d55af0b39f659da2965f9bc0bda0df5c775ba4
Use generic alarm intent.

Change-Id: Ibb911c1e34ec95cdd52867b8a68cce25f09dbc10
services: Fix the bug in NFC shutdown logic

nfcOff should be checked for NFC shutdown instead of radioOff,
which is used for radio status.

Change-Id: Iafd620dc89ae8bed7855e313676527d4de32cb7c
Rework thumbnail handling

Since ids of media file are usually not continuous, the original file of thumbnail are
sparse. When there are big numbers files on ex\
ternal storage, the size of this file will be horrible.
Ex, when the id is 20000, then the .thumbnails/.thumbdata3-xx file will be 50000*10k = 488.28M.
Can refer http://stackoverflow.com/questions/12396715/android-huge-thumbdata4-file-in-dcim-folder
Because after 4.0, MediaProvider will scan any files, this will be a big problem. So I modify MiniThumbFile.java to avoid this.
According to the id, we now produce an index file. In this index file, one id will use BYTES_PER_MINTHUMB_INDEX(8) bytes in offset (i\
d+1)*BYTES_PER_MINTHUMB_INDEX. The data of these 8 bytes is the index of thumbnail file. The first BYTES_PER_MINTHUMB_INDEX bytes kee\
p next available index. And when you need insert a thumbnail, the index increase by 1. In this way, the block data in thumbnail file \
will be continuous. And thus unnecessary zero paddings will not be saved.

Change-Id: I66005dd69b0a5c8f4353bd7a8225d163a654fd2d
Frameworks: add never sleep screen mode (1/2)

to qs ScreenTimer Tile
to PW ScreenTimer toggle
as general option as well

Change-Id: Ic78356c1b96044562efbce3cb0d0d5c93d773a19
privacy guard: changes part 1

the new cm implementation from our privacy guard is not the best.
Some changes we needd to do next week. For first give back the ability
to filter critical apps + do not show apps without any permissions

to do
- enable only the critical permissions the app is using
- add another active icon to notify the user if he modiefied another permission then the default ones
- add ability to disable notifications

Change-Id: I59fac120dd00126533e99cb65f5136b11f42e20b
Commit Ic78356c1b96044562efbce3cb0d0d5c93d773a19 translated to Russian

Change-Id: I63f3040282be37ef536e32a0691b47349bcf33a1
Do not always call setIsConnectedToProvisioningNetwork(false)

Previously I was calling setIsConnectedToProvisioningNetwork(false) always,
but all MDST's receive every broadcast. Thus we could over write an MDST's
mNetworkInfo.mIsConnectedToProvisioningNetwork to false, unless the MDST
that was set to true was last, i.e the code was order dependent.

If the provisioning networks value was false instead of true
when handleMobileProvisioningAction was called we wouldn't invoke
mdst.enableMobileProvisioning because network info would be null.

Thus the provisioning network would never transition to CONNECTED and
a default route wouldn't get setup and the browser couldn't access the
website.

Now setIsConnectedToProvisioningNetwork is only set to false when the
apnType matches and we won't indiscriminately change it and are not
order dependent.

Bug: 10853805
Change-Id: I68a4f9bdf5dc18d90f4cdef7a60811f57be67261
Merge "Do not always call setIsConnectedToProvisioningNetwork(false)" into jb4.3
When wifi wants ASCII lowercasing, it needs to ask for it.

http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: Ibf25d0bbc76015cf8353ec01ab2b743cbc2bde67

Conflicts:

	wifi/java/android/net/wifi/WifiStateMachine.java

If frameworks wants ASCII casing, it should explicity ask for it.

http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: Iaab02e718a7be7bda22e626dca05d79bfd2a8fc4

If graphics wants ASCII lowercasing, it needs to ask for it.

http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: I13c106985302335dbb15bb9176d35ec6b4546d4e

If media wants ASCII lowercasing, it needs to ask for it.

http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Use toLowerCase(Locale.ROOT) if you want ASCII for machine consumption,
and use toLowerCase(Locale.getDefault()) if you want the user's locale's
casing rules for human consumption.

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: Id9005a17e34217a81bef3b40031b9e2e6272f45d
Correcting NULL pointer when callerApp is not set

Change-Id: I7252479f4e456aa9da4678dce40f77c60629d469
KeyguardViewMediator: Play lock screen sound sooner

When the screen is locked, there is a long pause before the lock
sound actually plays.

This makes that sound happen much sooner.

Also modified Lock.ogg slightly to remove the initial silence.

Change-Id: Iede7a5d22291d1ada98800d2b380c255547df61d
Merge "When wifi wants ASCII lowercasing, it needs to ask for it." into jb4.3
Frameworks: Privacy Guard part 2 (1/2)

Current implementation does not really merge both awesome features
appops and privacy guard. As well it is from UX perspective too complicated

So this commits changes:

- Move int array to logical correct place AppOpsManager
- Switch only the privacy guard permissions which the app
  really requests and not all...this irritates the user
- give support for custom permission set and reflect this state
  with an icon in notification and pgm
- add pack filterpermission feature due that user mainly are interested
  in the apps which use critical personal data
- permit by default as well writing off personal data
- do not show apps where either permissions are not changeable due
  off appops or apps which do not have permissions at all
- ability to hide pg notification
- remove pg checkbox in InstalledAppdetails and add a button to
  modify appops. Button is disabled if either the app does not have
  permissions or appops does not support it. As well for platform
  certificate apps
- add on appops detail screen reset and privacy guard button to quick
  change all states
- rework of the complete dialog handling in pgm and add several dialogs
- move all notify icon for pgm and notification to frameworks base
- and a lot more minor fixes and fc fixes

cheers

PatchSet:
- correct privacy guard filter logic
- add pgm map
- add status icons.....PGM shows either off/partly enabled/enabled
  in addition to it other set permissions shows a red plus sign on
  the top right corner of the PGM icon on all states
- tapping on PGM and menu pgm button on detail appops screen turns on/off
  only PGM permissions to be more consistent
- some minor fixes

Change-Id: I990a6c7f25cdee5febdb95c1e26c022d6bcb27e0