Fix remaining framworks & systemui HALO derps
Detect whether overflow button should be shown based on menu key state

Some devices may have hardware keys but not contain a hardware menu key.
Hardware keys are also able to remapped. The overflow button detection logic
currently does not take that into account. This change allows detects
whether any key is capable of emitting the MENU_ACTION keystroke in
order to determine whether the overflow button should be shown or not.

Change-Id: I8699bd0242560314f8eadc54b187c69c992cf875

Conflicts:
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Reduce number of binder calls by saving nav bar state

Change-Id: I3729d05a34a661cb74e998c40b61c615cdbf83a6
Fix incorrect fragment animation used for hiding fragments

Mirror of support lib patch
https://android-review.googlesource.com/#/c/60032/ into
frameworks/base.

AOSP Commit: https://android-review.googlesource.com/#/c/60167/

Change-Id: I8d1cb2e217721336674b8e3e2ef8722a8d9baefd
change "next" to "done" in minute IME option under 24-hour format

We don't need "next" button under 24-hour format any more.
So, we changed from "next" button to "done" in IME option
when setting minute under 24-hour format

AOSP commit: https://android-review.googlesource.com/#/c/54121/3

Change-Id: Ic9b1673248183060ba7279b63648a85dc39ca3b9
[2/2] Permit home button wake to be configurable

Change-Id: Ie52247d5c23c8f840ababc880dd41992049cefd1

Conflicts:
	core/java/android/provider/Settings.java
Fix theme provider crashing for non-primary user.

PackageManagerService's context is for user 0, so if the theme provider
for other users was invoking the getInstalledThemePackages() method, the
themes provider crashed as it doesn't have the INTERACT_ACROSS_USERS
permission.
Fix that (and simplify code) by making getInstalledThemePackages()
return the installed themes for the current user, which was probably the
intent anyway.

Change-Id: I02002cee005b74128f3b2f7cc7a93b9b8514f1f3
[1/2] Add triggers to change profile based on AP

Add data structure mWifiTriggers to store triggers per profile.
Add network change listener to switch to profile

Change-Id: I97e360d7783d3b0e2bbd70fe7a9a866d8c0fa7cd
Frameworks: Fix 0% battery QS tile

when tile is created. Fetch the values from
BatteryController

Change-Id: Id0539016e1c479ac1f75535647d91a26f69a76b5
Frameworks: fix QS shorcut picker icons

drive, direct message and direct dial showed
the wrong description due that the drive icon
was in wrong order

Change-Id: I69073dc409ff7f25135c6dbf0699fa3e406c169d
Frameworks: several fixes for TouchKey light duration

1. allow on all states window manager to overwrite current
   brightness state
2. fix duration calculation problem

Change-Id: I9956b1e6b9cca9d0823cb22749b3d2ec108e3c2b

Conflicts:
	services/java/com/android/server/power/PowerManagerService.java
Revert "Reduce number of binder calls by saving nav bar state"

This reverts commit ac9cf3932c7e36d22fb8f60f8c03332de9fa5dff.
Revert "Detect whether overflow button should be shown based on menu key state"

This reverts commit 599cb6d9172ac33325a8ede301dff8692cafee5f.
HALO cleanup

hdpi and mdpi drawables were inconsistent, if you plan to use HALO on
lower res devices you must reproduce them.

Change-Id: I2746837bacd60c3079ace4c7523a68b8cd415f5f

Conflicts:
	packages/SystemUI/res/drawable-mdpi/bubble_l_9.png
	packages/SystemUI/res/drawable-mdpi/bubble_r_9.png
HALO: new drawables for hdpi and mdpi

- scaled down the xhdpi drawables properly for hdpi and mdpi
- removed some old and unused halo pngs
HALO: Option to pause the underlying app (1/2)

- adds an option to pause the active app when using HALO
- this is enabled by default for devices with low memory
- (currently: <640MB RAM available to the kernel)

Conflicts:
	core/java/android/provider/Settings.java
	services/java/com/android/server/am/ActivityStack.java
Reworked transparent layer
When a halo'ed window is opened, the transparent layer will be always visible. It will manage the background dim.
This fixes some apps dimming its sandboxed processes (like chrome).

LayerActivity manages its own lifecycle. When it's focused after paused it finishes itself.

System processes (identified by "android" pkg in SystemUI and system uid in Activity) don't use the layer and still use their own background. This
has been kept this way to not interfere with their activity.

Conflicts:
	core/java/android/app/Activity.java
	packages/SystemUI/src/com/android/systemui/Transparent.java
LayerActivity: Corrected lifecycle
Should contemplate the case that the activity gets stopped
Fix little derp causing visual bug

To reproduce, disable halo, and press "clear all notifications" button

Change-Id: Ice7ab62229e27db53ef51fd5df55dbcd0a86358b
Show as floating window on recent apps

This also removes "hybrid properties" from recents menu, it is fairly unneeded
now. This is a test, It's probable that it will be removed later

Change-Id: I3db3a996fa08367e3dfa4231079fe5e811e3b08a

Conflicts:
	packages/SystemUI/res/menu/recent_popup_menu.xml
	packages/SystemUI/res/values-es/strings.xml
	packages/SystemUI/res/values/strings.xml
	packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java