HALO: make windows moveable and scaleable [WIP]

Change-Id: I8c3118f6d548dc70f186454fb8d15a4bae9bbeb0
Base: Floating window with multitasking

basic floating window are taken from AOSPA (HALO) by @D4rKn3sSyS

Drawables courtesy of @Alex Cruz thanks to him :)

with heavy change to get this work for multitasking

this feature, has ability to:
1. Moveable window to various position
2. Scaling window with 2 finger like zoom in/out
3. Double tap in actionbar or above window to fullscreen or back to floating window
4. Automatically resize when Snapping into one of side (Top, Bottom, Left, Right)
   (taken from xhalofloatingwindow by @zst123)
5. Automatically switch focus from other app (taken from multiwindow by @xplodwild)
6. Unlimited floating window app (depends on RAM)

this is still under testing, to make fully works
so if there any bug because of this, DO NOT REPORT INTO OMNIROM JIRA

to make app launch using Floating window feature

you must add Intent.FLAG_FLOATING_WINDOW
before start an activity

for example you can look at https://gerrit.omnirom.org/6515

need https://gerrit.omnirom.org/#/c/6561

PS.17 : fix scaling

Change-Id: Iad00c239de7d66e8bb45205ce626d4f08417b7cd

Conflicts:
	core/java/android/app/Activity.java
	core/java/android/app/ActivityThread.java
	core/java/android/content/Intent.java
	core/java/android/view/IWindowManager.aidl
	core/res/res/values/custom_strings.xml
	core/res/res/values/custom_symbols.xml
	services/java/com/android/server/am/ActivityRecord.java
	services/java/com/android/server/am/ActivityStack.java
	services/java/com/android/server/wm/WindowManagerService.java

Conflicts:
	core/java/android/content/Intent.java
	core/java/android/view/IWindowManager.aidl
	core/res/res/values/crom_strings.xml
	core/res/res/values/crom_symbols.xml
	services/java/com/android/server/wm/WindowManagerService.java
App sidebar: floating window

long click to launch app in floating window

Change-Id: I9b5df1cceb2314ee0f8727136c007c481346a264
Floating window: Enable transparent layer

Halo: Re-enable transparent layer

Change-Id: I3af24ed40314ca5edb1e5157c0ad9df8ac89c99f

App sidebar: enable transparent layer for floating apps

+ cleanup

Change-Id: I6ae8209f7d7839c78840e69bc9597d43fbedc790

enable transparent layer on notification long click

Change-Id: I058a19776bd90d964b5d5df4fcf251c784b3ba8c

Conflicts:
	core/java/android/app/Activity.java

Conflicts:
	packages/SystemUI/AndroidManifest.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
Bring floating window in line with ParanoidAndroid

Change-Id: Id39b454ce58ff6071d2bb739cca4bb012039b2d5

Conflicts:
	core/java/android/app/Activity.java
	core/java/android/content/Intent.java
	packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java

Conflicts:
	packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
Halo: allow choose notifications on floating window or not (1/2)

Change-Id: Ia94a00ed7648fea2984606cae50fa3ad684d40de

Conflicts:
	core/java/android/provider/Settings.java
Attempt fix
Base: App Circle sidebar (add support floating window)

PS.8 : rebased
PS.9 : add support minimize/maximize window

Change-Id: Ied388a0a4054dfaf1d3e6fcdc33dd5aab28565a9

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

Conflicts:
	packages/Keyguard/res/values/slim_strings.xml
	packages/SystemUI/res/values/crom_strings.xml
	packages/SystemUI/src/com/android/systemui/appcirclesidebar/AppCircleSidebar.java
Pass the Floating all around....

AOSPA's old floating from notification popup menu && classic recent popup
Also adapted for Slim Recents

Change-Id: Ief2928e3bc35ed280f7e2e03ddbf615c5d57cd0e

Conflicts:
	packages/SystemUI/res/menu/notification_popup_menu.xml
	packages/SystemUI/res/values/strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java

Conflicts:
	packages/SystemUI/res/values/strings.xml
	packages/SystemUI/src/com/android/systemui/slimrecent/RecentPanelView.java
Fix derp
Launch floating notifications from notification panel (long click)

 * Status bar - long click on notification select 'floating mode' option
 * PIE - long click on notification, auto launches floating window

Change-Id: Ia7b85ddd41a663d1fb175d60c0fa34bcaf43f28f

Conflicts:
	packages/SystemUI/res/menu/notification_popup_menu.xml
	packages/SystemUI/res/values/cr_strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
fix derp in floating notification launch

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
Circular Memory indicator for recents panel [1/2]

Change-Id: I8f726c0976c0cc841d2cb39d12006a208b665b7e

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/res/layout-land/status_bar_recent_panel.xml
	packages/SystemUI/res/layout/status_bar_recent_panel.xml
	packages/SystemUI/src/com/android/systemui/recent/Constants.java
	packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
[1/2] Base: implement App circle sidebar

add whitelist app to include into circle view
rebased
make standalone patch

PS.15 : rebased
PS.16 : cleanup

Change-Id: I08d2a3a7e0f8df20e801e585d4cac8547a740a3e

Conflicts:
	packages/SystemUI/res/values/crom_dimens.xml
	packages/SystemUI/res/values/crom_strings.xml
	packages/SystemUI/res/values/crom_styles.xml
	packages/SystemUI/src/com/android/systemui/appcirclesidebar/AppCircleSidebar.java
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
Base: App Circle sidebar (add support floating window)

PS.8 : rebased
PS.9 : add support minimize/maximize window

Change-Id: Ied388a0a4054dfaf1d3e6fcdc33dd5aab28565a9

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

Conflicts:
	packages/SystemUI/res/menu/sidebar_maximize_popup_menu.xml
	packages/SystemUI/res/values/crom_strings.xml
	packages/SystemUI/src/com/android/systemui/appcirclesidebar/AppCircleSidebar.java
Fix build
Try to fix long click floating mode on notifications