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
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

Conflicts:
	core/java/android/view/IWindowManager.aidl
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
PIE: adjust gesture sensitivity to maximum

Change-Id: I933059dfa33b3718d07aa15dd1d7e47c6bb0f813

Conflicts:
	packages/SystemUI/res/values/cr_config.xml
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: Id60b45645d489c08539d56b8e05d135c36d38990

Conflicts:
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
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

Conflicts:
	core/java/android/provider/Settings.java
	core/res/res/values/cr_strings.xml
	core/res/res/values/cr_symbols.xml
	policy/src/com/android/internal/policy/impl/GlobalActions.java
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

Conflicts:
	core/res/res/values/cr_strings.xml
	core/res/res/values/cr_symbols.xml
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

Conflicts:
	core/java/android/inputmethodservice/InputMethodService.java
	core/java/android/service/gesture/IEdgeGestureService.aidl
	policy/src/com/android/internal/policy/impl/GlobalActions.java
	services/java/com/android/server/gesture/EdgeGestureTracker.java
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

Conflicts:
	core/java/android/provider/Settings.java
Adjust PIE trigger to better action and set new sensitivity values

Here we set SENSITIVITY_DEFAULT = 5 and SENSITIVITY_HIGHEST = 10 to high values.
Values was 2 and 5 and using this commit b36d535e6cc23dfbc986518f2b5e1d63e32d7db0 result always in SENSITIVITY_DEFAULT = 2;

Inside this method is were PIE control sensitivity is defined:

    private void setupListener() {
        ContentResolver resolver = mContext.getContentResolver();

        mPieTriggerSlots = Settings.System.getIntForUser(resolver,
                Settings.System.PIE_GRAVITY, EdgeGesturePosition.LEFT.FLAG,
                UserHandle.USER_CURRENT);

        int sensitivity = mContext.getResources().getInteger(R.integer.pie_gesture_sensivity);
        if (sensitivity < EdgeServiceConstants.SENSITIVITY_LOWEST
                || sensitivity > EdgeServiceConstants.SENSITIVITY_HIGHEST) {
            sensitivity = EdgeServiceConstants.SENSITIVITY_DEFAULT;
        }

        mPieManager.updateEdgeGestureActivationListener(mPieActivationListener,
                sensitivity<<EdgeServiceConstants.SENSITIVITY_SHIFT
                | mPieTriggerSlots & mPieTriggerMask);
    }

Change-Id: I8b2a4cc0b7b634f6d805c4566a61602f9841c2b6

Conflicts:
	core/res/res/values/dimens.xml
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
Fix navbar not showing when swiping down in expanded desktop with pie disable

Change-Id: Ia5f487ef26aeb1c67cf5f5e672332cc1c6fb1e6b

Conflicts:
	packages/SystemUI/res/values/cr_config.xml