[1/2] base: add CPU info overlay

this shows
CPU temp (if available)
for every core governor + online + freq

PS3:
increased font size

PS4:
whitespace cleanup

PS5:
more of that :(

Change-Id: I8e2fd81edd8499eea2b1a6de8c042938387b33ef
Custom actions on navbar recents long press (1/2)

For now 7 actions are possible
1 - none
2 - last app
3 - screenshot
4 - kill app
5 - notifications panel
6 - QS panel
7 - power menu

Thanks to @kufikugel for base and idea in SlimRoms navbar and navring customization

Change-Id: Ic96d8bb31025efd7260759709ddb8d9736c2619f
Toggle Last App: move toggle last app method to a separate class in com/android/internal/util/crdroid/TaskUtils.java

- Use the modified class from OmniRom

Change-Id: Iec1aa13aa5fbbc53b4d166e6fe3b10b3f1ef9dca
Navring last app toggle (1/2)

Change-Id: I5f744732f39cd33c0ec7dcae23da0295f945c9a1
Fix soft reboot using power menu through tile, navring and recent long press

- Using slim roms idea of this commit: https://github.com/SlimRoms/frameworks_base/commit/2d7b1afb903858bf26ac98dc9de64924a5ce9a05 and calling all power menu actions from the same thread

Change-Id: Ie4768a1722a41164474ef300f4a1b67c535349f6
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

-------------------------------------
PS1: PAC Upload, ported to CM11.0 sources by @cristianomatos.

Change-Id: I2c3f5f23909f746e1a325be81ec4c3ec83e26568
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)
- add Converter class for common methods we always use....till now only px->dp
  and dp->px method

Change-Id: I413634fc433e0501eba69db2a463fac231e22f72
fb: restore navbar compatibility with several xposed modules
I am tired of the complains....

Xposed use the emulator overwrite to enable/disable navbar...this results
into showing up navbar on reboot even if the user has set it to off in settings.

This fixes the issue and still keeps for emulator tests the basic overwrite functionallity
alive as long the provider value was not set.

We may should reflect that in settings as well.

Change-Id: I99f04da8110bbcfcdba62604610d1f4330aea4d0
Frameworks: fix qs and notification shade toggle on expanded desktop
If expanded desktop is enabled and statusbar hidden the toggle does not force
the statusbar to show before it pulls down the shade

fix it with just requesting the the statusbar to show up before we actually
peform the action

Change-Id: I3cfae445f02d7911048dcb5199a5492c0f05acc5
Frameworks: Imagehelper...do a nicer resize with better quality

Change-Id: Ibec4658d46a2c6ef1b6bacf505227949c3bcbfdc
Frameworks: fix navbar and pie icons for tablets and RTL

well due that we use a completly other attempt then googles navbar we do not
need to rely on different sized icons for portrait and landscape. So just a square
icon fits our needs perfect (which is so or so everwhere in AOSP default to use square ones).

Whatever recents pie feature showed us that we still forgot to size the pictures for our tablets
and as well for RTL user.

So let us do it now to fix any resizing issues on navbar and or SlimPie

Change-Id: I5257b789a5450754a296141b0af63d2eacaa87c9
Framworks: clean up the AOSP tablet icon mess

well.....on grouper the overlay size for the navbar is/was 56dp...so
google added bigger icons then the usual ones into the sw600dp folders.
Well newer tablets have 48dp as default like the phones so the slightly bigger
icons do not fit 100% correct. It is not much but it is noticable.

So all devices have same navbar default height...so all icons should have same size
as well. Just remove the overlay icons so that the system automatically chooses the right
one from the default screen qualifier.

Change-Id: I4e4d87d70996ed1def359149cea829b5794f2448
Toggle nav bar through power menu (1/2)

- This is highly based on this commit form SlimRoms: https://github.com/SlimRoms/frameworks_base/commit/4097a175f00fa0137169c4ae4a6bc35a2799c97f
- Now we can toggle nav bar on/of in power menu. It's easier to use PIE.

Thanks again to @kufikugel

Codes ported and new codes from @cristianomatos

Change-Id: I75ea9623d3701fc01ec56a504be5e6a5fcad3cc1
Frameworks: Add user protection and pie/navbar toggle to SlimActions

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

- This commit have some exclusions ond chages to fit crDroid sources made by @cristianomatos
Original commit: https://github.com/SlimRoms/frameworks_base/commit/4097a175f00fa0137169c4ae4a6bc35a2799c97f

Change-Id: I81353efc20ce82bad66ba445c7b89c86d8a8ef56
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
Frameworks: SlimPie give user ability to reduce trigger heights if IME keyboard shows (1/2)

Add a user option to reduce left and right trigger of SlimPie if keyboard shows up
(especially usefull for swipe keyboard which most keyboards are nowadays). Enabled
by default user can disable it in settings.

Change-Id: I5dce4f36f5b14320f806ac60ad75931fa7f2873b
Frameworks: SlimPie only preload recent on button press down

and not like it was before on showing up pie for better peformance

Change-Id: I87ec56649a5bc8979225036b9eb8e823de587185
SlimPie: turn on HA on highEndGfx devices

for smoother experience

Change-Id: Ie2a052e1071a8ab7ea303b6a8d21e245658bec2b
Frameworks: add 1dp more bottom padding

Change-Id: I583c8b11db8b1d0262a575669f12d1f952069857
Settings: add methods to put and get boolean values

Change-Id: Idc3e12d438bdbeb3619af3678875d66774082537
Signed-off-by: Dirk Rettschlag <dirk.rettschlag@gmail.com>