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

Change-Id: I7231cefc31b9aaad47d9c4ccfe9ea43467cdf05b

Conflicts:
	core/java/android/app/Activity.java
	core/java/android/provider/Settings.java
	packages/SystemUI/res/values-land/dimens.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/view/PieStatusPanel.java
Small patch for Halo [1/2]

Change-Id: I4233b58da2cc0d31e33c47ab458d074977a695be
Fix Center Clock with HALO

Missed in PhoneStatusBar.java

Change-Id: Id6414db27ab3178696fb494f6aa1d2d849eac282
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
HALO: new drawables for hdpi and mdpi

- scaled down the xhdpi drawables properly for hdpi and mdpi
- removed some old and unused halo pngs

Change-Id: I1d398042059911efad15e0ec6dbdd95e1a7eed04
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)

Change-Id: If450d81aa3f6b660a518c1b11a451a5b113f3817

Conflicts:
	services/java/com/android/server/am/ActivityStack.java
solve conflict
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
Merge branch 'jb-mr1-wip' of github.com:espmartin/frameworks_base into jb-mr1-wip
Merge branch 'jb-mr1-wip' of github.com:espmartin/frameworks_base into jb-mr1-wip
Halo: Add master switch to disable Halo (1/2)
-Port master switch from @Der-Schubi.
-Fixed Halo not showed at first notifiction pulldown.

Change-Id: I4d8708e27439546d359d6ec53e8d95809278a517
Don't bring home to the front if we're opening a floating activity

Change-Id: I27e237757ea04346a943361c20d1eb53746cdecc
Give floating flag to previous activities in the stack
When launching stacked activities, only the last one is flagged as floating in sysui when tapping halo.
This causes the system to show the launcher when the first stacked activity is launched (this first intent gets the flag FLAG_ACTIVITY_TASK_ON_HOME
in TaskStackBuilder).
This change makes all the stacked activities get the floating flag if the last one has it.

Change-Id: If60a777812196e0cbbe41c0535aa37c8a57e710d
Derp...
Revert "HALO: Option to pause the underlying app (1/2)"

This reverts commit aac0359e063186d8b9c26a5d428a6bf63a8f8eb5.

Conflicts:
	services/java/com/android/server/am/ActivityStack.java
Merge branch 'jb-mr1-wip' of github.com:espmartin/frameworks_base into jb-mr1-wip
Halo: Add master switch to disable Halo (1/2)
-Port master switch from @Der-Schubi.
-Fixed Halo not showed at first notifiction pulldown.

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java