Frameworks: Ehance toggleNotificationShade feature

allows to toggle notification drawer in any situations
on fullscreen mode as well in expanded desktop mode
and on all other features we have
cheers

Change-Id: I56185f2c48700d9f2d69c02585810db4e95e2e32

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Frameworks: SlimPIE extended (1/2)

This commit introduces SlimPIE. A very popular feature which
was till now for us no point to integrate it because it did
not fit our concept. Now I found a bit time to program a PIE
which is much more extended then the usual kanged PIE on
most roms but still resource friendly. At this point
many thanks for the great basic idea to PA and the work
from Jens Doll from CM. Based on this ideas SlimPIE goes
it's way now.

@kangers....we would like to see if you can wait till we
released this feature this week.  Thanks a lot.

Features of SlimPIE

- custom Buttons (user can choose between 11 different default actions (like navbar/hardware key bind)
  + custom app/shortcut for every button
- custom longpress action for every button (user has  same possibility like the normal custom Button)
- button quantitiy up to 5 buttons (so 5 + 5 longpress actions are possible)
- selectable trigger positions + trigger width (with optical help to set up)
- turn off text and status information + abillity to hide statusbar information which are redundant
- turn off snap points
- turn off background
- ability to use SlimPIE only on expanded desktop as well as using it always
- integrated logic disable triggers which can conflict with system actions
  (like statusbar or navbar.....SlimPIE detects if one is present and turns this edge off
  temporaly)
- same for snap points
- option to disable bottom trigger and reduce left and right trigger when
  IME keyboard is active

Style feature:

- button color + transparency
- button pressed and button longpress color + transparency
- button outline color
- snap point color
- text color
- background color + transparency
- for every shortcut user can choose a  custom icon from gallery
- custom icon color
- custom icon  color mode (only system icons eg or gallery icons + system icons or all icons)
- Pie size

Also it is possible via overlay to set a minimum, default and max trigger height
due that some phones need a bit adjustment on that (this setting reflects on
the trigger seekbar in settings user can adjust)

Screenshots:

https://dl.dropboxusercontent.com/u/106208842/use_it_for_app_shortcuts.png
https://dl.dropboxusercontent.com/u/106208842/other_colors_or_icons_no_problem.png

Last PatchSet:
- reduce trigger sizes and disable bottom trigger if IME shows up
  optional in trigger settings, default value is on
- DEBUG mod fixes
- autoHide feature worked in
- string corrections
- some minor fixes

Change-Id: I9bcc88375bbd770b0f5bd24fc84aaf7cdbf17238

Conflicts:
	core/java/android/inputmethodservice/InputMethodService.java
	core/java/android/provider/Settings.java
	packages/SystemUI/res/values/dimens.xml
	packages/SystemUI/res/values/strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/CircleBattery.java
Frameworks: Race conditions can be funny

especially on slower phones. Whatever this commit
changes the disable logic for PIE on lockscreen.
With this correction SlimPIE is now unbreakable
lmao

cheers

Change-Id: I442f771b57f1cbeb661418dea17ca0f4362428c5

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
Frameworks: kufikugel should not work with headaches

small correction....now all triggers are disabled on
Lockscreen like it should

cheers

Change-Id: I33b23e082135662635eb304726ae075ad26a1f41
Frameworks: toggleQSShade (1/2)

we have a notfication shade toggle....but we cannot toggle
directly the QS drawer via SlimPIE, navbar or hw keys.

This commit does:
- bind qs shade toggle to slimpie, navbar or hw key
- logic detects if you are already in the notification drawer
  and switches then between qs and notification area. If not
  it closes the notification drawer or qs panel depending
  which of both is open
- icon changed to the same icons which are used in the notification
  drawer to have a visual consistence
- as well like the notificationshade toggle it is toggleable
  in expanded desktop mode or on fullscreen apps
- bindable as usual on normal and longpress actions
- for tablets it is of course just opening and closing
  due they have seperat notfication drawer and qs

small demonstration:

https://dl.dropboxusercontent.com/u/106208842/qstoggle.mp4

Change-Id: I0766f837fdfc19da8d4d136cee3022d4484feec9

Conflicts:
	core/java/android/provider/Settings.java
	core/java/com/android/internal/statusbar/IStatusBar.aidl
	core/java/com/android/internal/statusbar/IStatusBarService.aidl
	packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
	services/java/com/android/server/StatusBarManagerService.java
Framework: Add Home/Back buttons available for rebinding (1/2)

Finally, we can disable or rebind all hardware buttons!
Also adds Expanded desktop toggle and Notification shade toggle

Change-Id: I0ca51c25e8434696a514fd1ef1e1e33543bf066a

Conflicts:
	core/java/android/provider/Settings.java
	core/res/res/values/symbols.xml
Frameworks: Add Widgets viewpager for all devices (2/2)

First thanks AOKP for the basic idea and some parts of code.
This commit gives the ability to show up a viewpager with
custom user set widgets. It is bindable to navbar, navring
and to hardwarekeyboards. It works with navbar enabled as
well as with navbar disabled. Like every time we polished it
Slimusual a bit up.

Change to the original widgets viewpager
- bindable also over hardwarebuttons
- shows also up without navbar
- color settings for background and text
- transparency of background (default 25%)
- settings complete overwork
- TRDS compatible
- complete overwork of widget height handling
- multiDpi (thanks mnazim)
- slimup and a lot improvements and fixes

cheers

Change-Id: I64c1a56131616769588500c0faedb7eec6f59249

Conflicts:
	core/java/com/android/internal/statusbar/IStatusBar.aidl
	core/java/com/android/internal/statusbar/IStatusBarService.aidl
	packages/SystemUI/Android.mk
	packages/SystemUI/res/drawable-hdpi/ic_navbar_widgets.png
	packages/SystemUI/res/drawable-hdpi/ic_navbar_widgets_activated.png
	packages/SystemUI/res/drawable-mdpi/ic_sysbar_widget.png
	packages/SystemUI/res/drawable-xhdpi/ic_navbar_widgets.png
	packages/SystemUI/res/drawable-xhdpi/ic_navbar_widgets_activated.png
	packages/SystemUI/src/com/android/systemui/SearchPanelView.java
	packages/SystemUI/src/com/android/systemui/slim/SlimTarget.java
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/ExtensibleKeyButtonView.java
	services/java/com/android/server/StatusBarManagerService.java
PowerMenu : Improve keyguard filtered actions

Replaces the check for visibility of lockscreen with the state
of the keyguard instead. This avoids the situation where actions
returning false from showDuringKeyguard, are still shown if user enters
emergency call screen.

Change-Id: Idb5df14813d9479bd4178dbb9eb3b91cbecda5de
Camera button rebinding and lockscreen action additions (1/2)

Adds new config_deviceHardwareKeys bitmask for camera button.
Lets you rebind the camera press/longpress and adds a new KEYCODE_CAMERA handler to inject a longpress KeyEvent
in order to let you bind keys to actually trigger the shutter, in addition to launching the app itself.

This also adds KEYCODE_ASSIST and KEYCODE_APP_SWITCH to the available keys to assign longpress lockscreen actions to.

Change-Id: I63583dbbaa0f6a3d21724f4948f86bb01e44b71b

Conflicts:
	core/java/android/provider/Settings.java
	core/res/res/values/config.xml
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
	policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewManager.java