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/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
	services/java/com/android/server/NotificationManagerService.java
added necessary includes
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
Remove Halo Setting 1/2
Merge branch 'jb-mr1' of https://github.com/pcarenza/platform_frameworks_base into jb-mr1

Conflicts:
	core/java/android/app/Activity.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
	services/java/com/android/server/NotificationManagerService.java
floating recents - credit to the PA Team (Jesus David)
Merge pull request #9 from pcarenza/jb-mr1

halo disable setting (2/2)
PA's hybrid engine

Change-Id: I1aef85f92c67019045d0fd3322a0b529168d9d9f
Signed-off-by: iceandfire <arhamjamal@gmail.com>

Conflicts:
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
UI change w/o reboot and navbar height

Change-Id: I017c1ccb1d4c87fb166f1e744a36690a2150468f
Signed-off-by: iceandfire <arhamjamal@gmail.com>

Conflicts:
	core/java/android/provider/Settings.java
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Navbar height fix

Change-Id: I1fc9f1af7ed4aedee0929f8e8be1ddde71698ae6
Signed-off-by: iceandfire <arhamjamal@gmail.com>

Conflicts:
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Switch UIMode without reboot

Change-Id: I8fb10f8d81e3400b2050062e07e1b074aea359c6
Signed-off-by: iceandfire <arhamjamal@gmail.com>

Conflicts:
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Get proper values

Change-Id: I406c5ff046bc766ad8145b5cbc4bd9af92c3a681
Correct the target app token for input method window

The root cause is:
There is a defect in window manager service: When a new
activity that can be ime target is added into window manager
but the Z order of input method window don't need to be
changed, then the target app token of input method window
would not be updated to new one. This defect may cause that
the layer of input method window is calculated incorrectly.

The solution:
Correct the target app token for input method window.

Change-Id: I008311e3c9b1cf5fc320b614d8675c183c506d50
This was left out

Signed-off-by: iceandfire <arhamjamal@gmail.com>
drawables
General tabui fixes

* Remove unused code. SettingsView = bye little old dude!
* Fix recreation of notification panel each time (show / hide the view
instead of making a new one each time)
* The late call of controllers fixes battery issue

Signed-off-by: iceandfire <arhamjamal@gmail.com>

Conflicts:
	packages/SystemUI/res/layout/system_bar_notification_panel_title.xml
	packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java
TABUI layout fixes

no gaps, no jumping notification center when you switch from notif-view to settings-view

Signed-off-by: iceandfire <arhamjamal@gmail.com>

Conflicts:
	packages/SystemUI/res/layout/system_bar_notification_panel.xml

Conflicts:
	packages/SystemUI/res/layout/system_bar_notification_panel.xml
tabletUI fixes

Signed-off-by: iceandfire <arhamjamal@gmail.com>

Conflicts:
	packages/SystemUI/res/layout/system_bar_notification_panel_title.xml
	packages/SystemUI/res/values-sw1000dp/styles.xml
tabUI drawables
revert

Signed-off-by: iceandfire <arhamjamal@gmail.com>

Conflicts:
	packages/SystemUI/res/layout/system_bar_notification_panel.xml
revertderp again again