Change SQL to improve performance.

To know the number of images, use "COUNT(*)" instead of "_id" in SQL.
Using "_id" gets all result set. and when getCount() is called, CursorWindow is filled.
But using "COUNT(*)" gets just 1by1 data.
So using "COUNT(*)" is more faster than now.
And this SQL is called everytime per a file during a file transfer in MTP
The better way is by using "EXIST".
But if using "EXIST", modify MediaProvider.call() method.
So i applied just a "COUNT(*)"

Change-Id: Ic5882af0fad2304f836b7b7043a4746359391609
Signed-off-by: muzbit.kim <muzbit.kim@lge.com>
GC: Improve the string parsing for GC parameter setting

Improve the string parsing for GC parameter system property.
Previously we only recoganize plain number for dalvik.vm.heapminfree
and dalvik.vm.heapconcurrentstart, while users tend to use format as
2m.  Improve the string parse to cover such cases.

Change-Id: Iaf0152bc4d77e1caabc307a9a7b0e5b261f8e441
Volumes in Settings/Sound is slow to start

There is a delay after pressing volume menu item
there is a delay until the Volume popup is shown.

The reason for this is that the initialization of
the different seekbars is slow and run in the main
thread. More specifically the call to get the
ringtone from the RingtoneManager is causing this
delay.

Moving the call to the ringtone manager to the
handler thread used to play ringtones to make
the launch of the volume dialog a bit snappier.

Change-Id: I76da0226592468debd542d67164b37b2b59897c7
Frameworks: SlimPie (1/2)

Well first I want to thanks again for the ideas Jens Doll, Kyrylo Mikos and PA gave us
on 4.3 allready to make our own SlimPie possible. We used partly code from them and added
and changed it in our Slim way to have it for us most usefull.

Well as known SlimPie advantage to other PIEs is that it can bind on every button
press and longpress action like the user want. All SlimActions are available for
every button (so all possible shortcuts we have + apps etc). Of course as well
available are custom icon images or system icons. Other unique thing of SlimPie
is that 2 rows are available. First row user can setup up to 5 buttons. On the second
row up to 7 Buttons.
Of course the user can setup the style to their like and still theme engine related
things are respected.
Pie is activated present on non expanded Desktop as well

For 4.4 we reworked a lot of the frameworks base code mainly. Changes compared to 4.3

- We use now a edge detection service (thanks a ton to Jens and Kyrylo). We tweaked it only
  very minor due that it works allready out of the box. Two reasons why we want to use it.

  1. We do not have detection overlays on the borders anymore. Means the user is not disturbed
     by it and we do not need to add workarounds like we did before to avoid accidental swipe ups
     (eg old IME reduce triggers). As well it is not needed anymore that the user can setup
     thikness etc. The default values are allready quiet good. If a device has detection problems
     the dm can adjust them via overlay. As said main main main advantage  that no dead zones are present
     anymore.

  2. we will use this service for other upcomming features as well (eg new Recents)

- Centralized and adapted the code to 4.4 and some changes we did in our central classes
- reduced observer to an absolutly minimum. If PIE is disabled it does not observe any value
- A lot small fixes and tweaks
- Change default colors to KK style
- If navbar is present the navbar gets animated with the background to give a full screen overlay
  feeling to the user. Especially now with kk transparency way better.
- Full keyguard support
- complete reworked edge disable detection
- and a lot more

PS:
- add and fix the callbacks
PS:
- cleanup
- multiuser support
- reworked complete observer and attach detach handling
PS:
- fix some detection corner cases
PS
- fix derp
PS
- for pie add higher default sensivity. As well give an option
  to overlay it in device tree to set it even higher.
PS
- refresh settings if user changed
- small cleanup
PS
- fix another derp :(
PS
- add disable activation edges logic

  if navbar or statusbar is present (either visible or as swipe in expanded the bottom and top are disabled)
  is notification drawer is down top left right is enabled
  if one of the different navbar modes or the navbar in the current view has 0 height this edge is enabled
  if navbar is off navbar edge is enabled
PS
- our service is always present
- cleanup commandque as well aosp and our code
- some minor tweaks
PS
- animate navigationbar on non expanded to overlay the background on pie over the complete screen
PS
- add recents preloader logic
PS
- space out a bit the clock
PS
- change default colors
PS
- use our color classes and fix it that they can handle our new logic
PS
- cleanup
PS
- fix second layer disable
PS
- reflect new sensitivy steps in edge service patchset
  (1 minimum, 10 maxium)....pie default to 8 high sensitivy
  if someone need mor increase it
- in general made it per default a bit more sensitiv
- fix bug with trds switch on reconstruing statusbar to
  restore last correct state
- cleanup the inline comments
PS
- minor tweaks
PS
- fix reported wrong icon sizing of some apps which do not follow
aosp default sizes
PS
- fix race conditions on init
PS
- attach basestatusbar directly to PieController and pass to PieView to simplify
  recents loading
- cleaned up some method and var definitions
PS
- remove obsolete null check

Change-Id: I3b28b8155a668f2c9b32aac4cd294b79ac3f3eb9
framework/base: Add EdgeGesture service.

Based on code of PieService.

PS
- add more sensitive steps

default: 5, minimum: 1, maximum: 10
PS
- fix mask derp
PS
- cleanup
- reduce left and right trigger to from 80% to 70%
  till new size flage for the service are ready

Change-Id: I053737e36340a5ec6814b21eb87575f9689c7e88
Frameworks: EdgeGestureService give abbility to reduce the left and right trigger height if IME shows up

This patch gives the abbility that features can set the IME_CONTROL flag in addition to the position flags
to enable reducing trigger heights on the left and right edge to avoid conflicts with swipe keyboard.

Although the inputfilter lets come presses to the application trough the normal user behaviour is to start keyboard swiping
before they really even pressed the char button which results in conflicts with whatever feature is using the left and right
edge as trigger.

Features who want to use it need to set IME_CONTROL flag. As well if notification drawer was pulled down or global menu is
shown on top of the IME keyboard the original size gets restored till they are dismissed/closed

This patch adds only the support for it.

PS
- Fix small logic derp in BaseStatusBar
PS
- follow Josues suggestion and make the trigger a bit bigger

Change-Id: I51804d6e0768cc7770a6e52fac454dbad0ab632b
fb: Handle navbar heights correct on dpi changes + more (1/2)

Till now we set the height in px in the settings. Which is a problem
especially on multiDPI roms like we are when the user afterwards changes
the dpi due that it isn't calculated correct anymore on the new dpi.

This commit does
- save the dp value in provider and calculate the real px in fb
- clean up the settings stuff for it + do it a bit nicer (only settings part
  where we do not set the value for the listview)
- as well this commit disables movable navbar for tablets (we may will enable
  it in future but it needs a lot more work to have it on tablets correct working)
- add Converter class for common methods we always use....till now only px->dp
  and dp->px method

Change-Id: Ib962b2cd62c991fe4d6f3b6b27b5d97c9ec653b0
fb: allow navring to show without assisten application

this commit adresses two problems

1. If the user does not install google now eg the navring does not
show up anymore even when other targets are assigned. Due that we moved
the disable/enable controll completley into searchpanelview which
calls DelegateHelper to disable it we just can remove the check
here in BaseStatusbar

2. On camera widget the navring is disabled and gets enabled afterwards.
This is of course a problem if we do not have targets assigned at all.
To fix it check for existend targets on the navigation ring

Change-Id: I1aa83fc8274995d9c1e9b88c76977977589502a6
Frameworks: Fix possible ANR and navigation bar freeze

Big thanks to ralpheboyo which provided us the first time a usable
anr trace where we can see what the actual problem is.

The random ANR is caused due of to much work on the navigationBarCanMove
feature. We call way to often the provider value even though it is only
needed on initiliazing or on update of the value. Currently we call it on every
possible navigation bar change and this multiple times.

To fix it just call it on init and on contentobserver changes and pass
the new value to the navigation bar view and the search panel view

PS:
- remove another call
PS
- add one security check just to be sure
PS
- get one step further and put out the navigation ring config as well
  and reduce it to just one call.

Change-Id: Ica6116289d5bc50e9bedcd34b4b165062fa3468d
fix statusbar/navbar recreating

our statusbar and navbar have had significant changes with the addition of pie so we need to make sure the methods to recreate them stays inline with the changes

Change-Id: I00541065ac7a4069d1911cff48cbd45d90e2916d
Framework: Minimum Vibration Duration (1/2)

PS2: String description
PS3: Derp spacing
PS4: Derp hiding.

Change-Id: I4f2d4cce90a87016d0c02e67f1566e38dfbc7c37
Frameworks: Add user protection and pie/navbar toggle to TGActions

Add drawables for it and enable it for navbar, pie, hwkeys
and GlobalMenu and whatever other shorcutfeature want to have it

Keep the user save and do not allow to disable all navigations to keep
the device usable. User will be notified

In Settings user get the choice to enable the other navigation method. Of course
only on navbar devices due that hw key devices always have a working navigation

PS
- extend it and make the actions on global menu as toggle action
  to show on/off and reflect it on the icon as well

Change-Id: I69227e6653f4fe780aa41a91e3d4896d9ccc0f0a
Merge "Change SQL to improve performance." into kk4.4
Merge "GC: Improve the string parsing for GC parameter setting" into kk4.4
Merge "Volumes in Settings/Sound is slow to start" into kk4.4
bootanim: Add continuous splash support

 * We may or may not want to have a very smooth transition from the
   bootloader into Android by way of a continuous splash feature.
 * Add a compile-time flag which disables the initial screen clearing
   so that we don't drop a frame during the transition.

Change-Id: Ic453c901f1030ffebd9bdbeec59109bb5c585629
Register the ActivityTrigger on all QCOM devices

Change-Id: Iaecb5dd82be64fea5a625cc42243203d0f2f2ce9
AssetRedirectionService: Check for permissions before running dump()

Fix android.security.cts.ServicePermissionsTest failure

Change-Id: I9d629d19f3ff231db477d156c8bf557d4b8ee861
Remove T-mobile items not used by new theme engine

Change-Id: I1e9c14e63ec25fdff61cfd2b7b8a05b1e488e558
New command line tool 'idmap'

Introduce a new tool 'idmap' to handle generation and verification of
idmap files. The tool is modelled on 'dexopt', and is intended to be
used similarly, notably by 'installd'.
See cmds/idmap/idmap.cpp for further documentation on 'idmap'.

Note: this commit is interdependent on a commit in project build/ to add
'idmap' to PRODUCT_PACKAGES.

Note: the changes to androidfw are only stubs. The actual implementation
will be provided in Runtime resource overlay, iteration 2.

Change-Id: I7131b74ece1e46c8a9c0a31d103e686aa07da2bb