HALO (1/2)

HALO is Androids one and only multitasking solution.

We explicitly do not go the Samsung/Cornerstone route. This solution is basically an extension of
the regular notificationshade, which is an aggregator for notifications that can be checked out when
time permits. HALO completes it by allowing you to respond to tasks on the spot, trying to be as
unintrusive as possible and flexible in regards to policies (white/black lists).

Features:

- Apps open up in floating state, apps underneath do not pause
- complete SystemUI & Core integration, making HALO feel like a native feature, source/SDK and UI/UX
- HALO has white and blacklists, which for now allow fine control for apps pinging through HALO
- multiple gestures to navigate HALO:
  - double-tap-move: move
  - tap-drag-left/right: task through notifications, finger up launches
  - tap-drag-up: dismiss notification
  - tap-drag-down: put HALO into semi-hidden state
  - swipe while HALO is hidden wakes it up
  - drag-to-X to remove HALO altogether
- comes with as few settings as possible, everything should be self explanatory and intutive,
  users must be informed about the double-tap gestures which is the only catch.

Known issues:

- Integration has been finished for PhoneUI. TabletUI and PIE must be integrated still.
- Packageinstaller must allow HALO through its overlay check or it will disable the install-app button.
- The low level has a few remaining issues:
  - Some apps still go up fullscale (they trick us with services, circumventing the intent flagging)
  - Some 3D games still pause
  - There is one known app that refuses to end on back or touch-outside, that is WeChat
  - The activitystack pause implementation works but is makeshift

To-Do:

- On-screen tutorial at first start up to teach users the gestures
- Fixing all known issues, full integration in the remaining UI's
- Perhaps hybrid engine integration for running floating apps in a decreased size

Merge branch 'multiwindow' into jellybean

Conflicts:
	core/java/android/app/Activity.java
	core/java/android/app/INotificationManager.aidl
	core/java/android/provider/Settings.java
	packages/SystemUI/res/layout/status_bar_expanded_header.xml
	packages/SystemUI/res/values-land/dimens.xml
	packages/SystemUI/res/values/dimens.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/view/PieStatusPanel.java
	services/java/com/android/server/NotificationManagerService.java
	services/java/com/android/server/am/ActivityRecord.java
	services/java/com/android/server/am/ActivityStack.java
Fixes for Halo

Now Halo should work perfectly. Thanks to Gerar for helping me resolve the errors.
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:
	core/java/com/android/internal/widget/ActionBarView.java
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
Halo: Add master switch to disable Halo (1/2)
-Port master switch from @Der-Schubi.
-Fixed Halo not showed at first notifiction pulldown.

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
Revert "Halo: Add master switch to disable Halo (1/2)"

This reverts commit db67c28e8e8baf3e28f3752ddd1c5cfd1a0264ef.
I revert his commit because PA revert it
Enable Halo pressed image in expanded status bar
Halo: unregister settings obeservers

Change-Id: I57ec9b874c332bec8be2b3e3ed2505f6be53b79e
HALO: halo can save last position now

Change-Id: I5a608b02323ab9fdfa3922a3c9844e75c3a1ab09

fix

Change-Id: I00ced429cfcc90507b8cc14b228a74b8902e67e8
HALO: keep apps in recents

There are one error, I will resolve it later

Change-Id: I9ede8a1aba8d6721f077a39a31b6cc5cd8272dc2

Conflicts:
	services/java/com/android/server/am/ActivityRecord.java

Conflicts:
	core/java/android/app/LayerActivity.java
	packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
	services/java/com/android/server/am/ActivityRecord.java
Revert "HALO: keep apps in recents"

This reverts commit 6626cc71c0f695debf70dcc629cb7e947381bb3d.
Prevent notification acces via HALO on protected lockscreens
HALO Style revamp

- speech bubbles are centered
- number batches are roundand simplified, same color as in g+
- markers appear as dots above the bubble
- hiding and dimissing triggers text hints
- couple of bugfixes

WARNING: some of the drawables are good for xhdpi only for now and must
be scaled down for the other resolutions

Change-Id: Ib656664f6f8c42b747df18d65d1e3fb40cb7480c

Conflicts:
	packages/SystemUI/res/values/strings.xml
HALO hiddenstate-fix + smaller numberbatch

once HALO is hidden an orientationchange won't wake it up getting in
your way.

Change-Id: Id7c2232e4e3e6e49392becbdcddeb1a494faafc8
HALO cleanup & better drawables

Change-Id: I7afb5f1e473e9611059e1ea2acfaa9d307696449
HALO hide bugfix, smaller numberbatch still

Change-Id: I5a94e0a7c39a7369cae2b0cabdbe8696eb15dbc5
HALO new vertical gestures (NOT READY FOR RELEASE)

itroduces step gestures

-- Clear all notifications
-- Clear current notification

(*)

-- Hide HALO
-- Silence HALO until woken

Change-Id: I4b5bb7ec612dc0eb1d95e970348b15fba1d79df0

Conflicts:
	packages/SystemUI/res/values/strings.xml
HALO clearall/silence (STILL NOT READY FOR RELEASE)

but working ...

Change-Id: Ie1c25f4ad60d2fac6321417c6fcf93e3dccd9d93

Conflicts:
	packages/SystemUI/res/values/strings.xml
HALO clearall-fix + dismiss icon (READY, BUT NEW STYLE IS XHDPI ONLY!)

Change-Id: I5d47a2dda9139445503f4e93f9a72c02b48cb88d