Remove navigation bar customization
Revert "navbar fix"

This reverts commit 4e9152af904605a92b33395fe07f8c925372f77f.

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarTransitions.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java

Revert "Properly null check all button usages."

This reverts commit d9f7f0e4f17d8c10d8ba691001a2eccda9f15ce3.

Revert "Revert "remove navigation bar customization""

This reverts commit 19b6983ab6baf85688c16b1324ab31916b9795e8.

Conflicts:
	packages/SystemUI/res/values/ras_strings.xml
	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/policy/KeyButtonView.java
[1/2] Reset custom user preferences

-Swipe recents:Adding Helper functions

Conflicts:
	core/res/res/values/ras_strings.xml
	core/res/res/values/ras_symbols.xml
Revert "Navring last app toggle (1/2)"

This reverts commit 11325837ac43787061df2c1bbec03e432fdb0f1a.

Conflicts:
	core/java/com/android/internal/util/rascarlo/NavigationRingConstants.java
	core/java/com/android/internal/util/rascarlo/NavigationRingHelpers.java
	core/res/res/values/ras_symbols.xml
Revert "Toggle Last App: move toggle last app method to a separate class"

This reverts commit eeffe6d52ffb4c38aec79f29b810723509cefa2a.
Revert "Navigation Bar: Toggle last app on recents button long press"

This reverts commit 4a96adec5745aed6c3c7548bcc514542850d2e34.

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
navbar edit fix
navbar fix2
Update api
Recents: Clear all button for recent apps.

An icon will appear on navbar when there are apps available to be killed on recent apps.

Credits to @BigBrother1984 for kitkat porting from jellybean

Patchset 2: Tablet mode is deprecated now, so no need of multiple callbacks
Patchset 3: Remove copyright from unaffected files
Patchset 4: Remove unused imports

Change-Id: I93d1d4cb34325190b03ae3a0d40e1bc170c92d91

Conflicts:
	core/java/android/app/StatusBarManager.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java

Conflicts:
	packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
PIE 2.0

Pie is an alternative navigation and system info interface. It replaces the
standard navbar/statusbar with a navigation arc decorated with statusbar info.

Important notes for developers:
* When PIE is enabled apps don't even have to support immersive mode, they just have
  to check for configuration updates (sadly not even this is done by all apps).
  When PIE is disabled, apps have to setup an "onSystemUiVisibilityChangeListener"
  (best practice for PIE enabled, too).
* Changed how ActivityInfo handles apps capabilities like recalculate screen
  size etc. Check code comment(s).

Some info:
* Quicksettings and notification panels are not available anymore, google now
  replace swipe up gesture.
* Switched to kitkat colors.
* General improvement to the code, reorganize classes.
* Cleanup a lot and remove useless code.
* Merge with immersive mode, they live in a homogenized state.
* Improve immersive code a bit.
* Upon first activation, toggling immersive tile, the user is presented with a dialog asking
  to enable or disable the feature. The preference can be resetted in "Backup & restore" in settings.
* Reduce and center its trigger area.
* While pie is triggered screen is keept on.
* Depending on immersive mode, will show full or lite pie.
* New circled snap points.
* Detach pie on every rotation and/or when screen goes off while you have it triggered.
* What else, what some slices?

Key contributors:
@BigBrother1984
@D4rKn3sSyS
@Anu6is
@David96
@drcmda

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
Signed-off-by: Jesus David <jesdga95@gmail.com>
Signed-off-by: Curtis Mayers <curtis.mayers@gmail.com>
Signed-off-by: David L.-W. <david.leppla.weber@gmail.com>
Signed-off-by: Paul Henschel <drcmda@gmail.com>
Change-Id: I6d09b1e2124d14e6cec48b40ea0c7948ebbb02b3

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/res/values-es/pa_strings.xml
	packages/SystemUI/res/values/ras_strings.xml
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/res/values/ras_strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java
PIE: Fix random showing of navbar when swiping from top.

We need to condition here aswell to be sure top swipe doesn't trigger up
navbar at all even if we set its height to 0 is an useless call.

Addressing JIRA AOSPA-151 issue.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
Fix: SysUi crash on Pie recents

https://paranoidandroid.atlassian.net/browse/AOSPA-79

When toggling recent apps using pie controls on secondary user account,
system ui crashes.

Change-Id: Id43b79dadf4cc4a88534aa18e1138b1daa7eece8
Fix: Graphics error when switching to recents using Pie controls

Attempt to fix https://paranoidandroid.atlassian.net/browse/AOSPA-65

I've never been able to reproduce the problem on Hammerhead, Mako or
Grouper, so I can't guarantee that this solves it.

Feedback is needed from a user that constantly experiences this bug.

Change-Id: I950e94dbb9b9d07dedee9b9f8cab6c5b6bceb6b0
PIE: Prevent a rare freeze that appears on quick iterations.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
PIE: Disable orientation sensor when we don't need it

Orientation sensor always enabled causing some device keep awake and
battery drain. This commit fix this issue.

  * Disable/Enable orientation listener when screen turn off/on if PIE
is enabled.
  * If PIE is disabled, recycle it.

Change-Id: I6bda168b3fd62d9f7047ffc3a3c6bfd08e655543

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
[TEMP] PIE: fix a freezing bug

How to reproduce:
- Enable PIE;
- Toggle between on/of;
- Without close expanded status bar click any tile that use one of this methods -> private void startSettingsActivity(String action) or private void startSettingsActivity(Intent intent);
- System will freez for some seconds and soft reboot;

Solution:
- When deteced PIE mode enabled use a runnable with a less time possible to give time to system colapse panels and perform needed actions

Change-Id: Idc5f112873aa7a31993e7a3c82a1760bb45f8b9b
PIE: Unlock screen on triggering recents

* Bring up unlock panel. Clear all is still hidden when lockscreen is showing.
  Thanks to community for pointing this out.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
Show IME back button in Pie.

Updated Pie to show the alternate back button when an IME is present like the stock navigation bar does.

Change-Id: I97b385904c183a42c6d76a9f238c4b9624668576
Picture: http://i.imgur.com/T0n9bVc.png

EDIT: Fixed whitespace and tabbing
Revert "[TEMP] PIE: fix a freezing bug"

This reverts commit 004b6dc18a6399cb592859188502ed6f0d265f19.
PIE: Use case upgrade and bugfixes:

1.Play with navigation bar height instead of view state. Just set navbar height to 0, even because
  swipe gesture is disabled aswell so it will never be called. This way we handle just one var
  that is height. PhoneWindowManager will take care to calculate decors since it uses height (width
  in landscape) as a param in the calculation.
2.Remove dependency from last systemui flags. Right now before this patch, pie showed no matter if you
  were in forced or native immersive mode. That made us bring a couple of hacks to keep this marriage,
  but there is no need in the end cause PIE is an alternative way you have to enable. That means apps will (should)
  use their own immersive mode at first unless you have already PIE mode on. Not all apps hide navigation bar,
  that means they can not cover the entire screen height (portrait). That's why there is forced mode, to supply this
  cause force the app to go immersive. Last but more important, immersive API works again now :)
3.Cleanup some vars not used anymore, just need observing main immersive mode now.

Change-Id: Ia17bb7ede36d5a14c8508841e32910e6e9595310
Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>