Improve scrolling cache

Scrolling cache helps make short scrolls/flings smooth but will
cause stutter when long flings are made. This patch disables
scrolling cache when long flings are made.

This patch also fixes a related bug where scrolling cache will
not be enabled properly when transitioning from flinging to scrolling.

Patch Set 2: Calculate threshold based on maximum velocity (Sang Tae Park)

Credits: Pawit Pornkitprasan

Change-Id: I1fdbaad92263c9f983a32900e74eba1f0367902b
Signed-off-by: Arham Jamal <arhamjamal@gmail.com>
Frameworks: fix possible NPE on SlimPIE

some activity chooser (from launchers) give the user choices which do not
exist and would give back a null drawable. To prevend the NPE
check the drawable for null

Change-Id: I3c2c1e1ddff32b383f1ee24e41de22a9a4524ff3
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
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
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
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
Merge pull request #7 from sakindia123/jb

Updates
Frameworks: dynamic PIE menu button + navbar menu logic cleanup (1/2)

at least the whole menu button stuff is from android version to android
version more depreciated and will go more and more away. So let us do it
like google:

- clean up the messy old AOKP navbar menu code
- make it only selectable when the menu button is really there
  and not as well when it is completly hidden
- remove the menu button action with big icon due off redundancy
- switch between modes: default jb (shows only on request), always and none
- All the above as well now in PIE...small button in first row is added
  same selectable modes for the menu lover lol
- smaller adjustments
- settings adjustments

Change-Id: Ie383843990ea40e52ef2fbe90401a3c38375d740
Frameworks: write packageinfo bits in the right order

unbelievable merge derp

Change-Id: I603a57004d8002f0ed55b2e27fbf360dfc2d2c73
Merge pull request #8 from sakindia123/jb

Updates from Slim
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
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
Merge pull request #9 from sakindia123/jb

Updates from CM/SLIM
Probable "fix for tablet_ui"
clean up
Revert "Privacy Guard : Reimplement backed by AppOps"

This reverts commit 97b33c3bf3108fce40d4e8d5473683bb82189f58.
Revert "Revert "framework: Privacy Guard""

This reverts commit 56687e5c98df015035098d9ea592dffc103c3784.