Fix build
Fixes for 4.4.3
New Halo drawables thanks to Arz Bhatia and PA team

Change-Id: Ic63b433466d686a645133d987bfc17ba4b6ff42d

Conflicts:
	packages/SystemUI/res/drawable-hdpi/ic_notify_halo_normal.png
	packages/SystemUI/res/drawable-mdpi/ic_notify_halo_normal.png
	packages/SystemUI/res/drawable-xhdpi/ic_notify_halo_normal.png
HALO: change holo blue to holo grey matching new drawables

Change-Id: Ib62b975cee90e009ce3ca149333e9b4ea27445c4

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/halo/Halo.java
SystemUI: Extend swipe helper (Part1)

I was not happy with long press on notifications and recents
to open apps in floating mode. The long press duration kinda
breaks the UI interaction flow, which prevented me from
actually using floating windows. Therefore, I've created a
private modification, which enables floating mode for
notifications and recents by swiping to the left. This
greatly improves usability without strongly deviating from
stock UI experience, in strict accordance with PA's
philosophy.  Changes are surgically implemented to keep the
probability of merge conflicts rather low. The code was
successfully tested on mako, hammerhead, tilapia, and manta.
Let the team discuss and decide whether or not this is a
worthy extension to PA.

Changes are split into two commits.

- Extending SwipeHelper:
SwipeHelper can now distinguish between directions LEFT,
RIGHT, UP, DOWN and can fire an abstract trigger 'event'. A
trigger direction can be specified and when a swipe in this
direction occurs dismissable children will not be dismissed,
instead they will be snapped back.  Whenever a child is
swiped far or fast enough in that direction an event is
triggered and the onChildTriggerd() callback is issued. This
callback was added to the SwipeHelper.Callback interface and
therefore requires all its implementations to realize this
method, such as probably Hover, which is sadly not open
source (yet?).

Change-Id: Ida06195913f022463d29ca22092e81fb8993ad50
SystemUI: Swipe to float for notifications and recents (Part2)

I was not happy with long press on notifications and recents
to open apps in floating mode. The long press duration kinda
breaks the UI interaction flow, which prevented me from
actually using floating windows. Therefore, I've created a
private modification, which enables floating mode for
notifications and recents by swiping to the left. This
greatly improves usability without strongly deviating from
stock UI experience, in strict accordance with PA's
philosophy. Changes are surgically implemented to keep the
probability of merge conflicts rather low. The code was
successfully tested on mako, hammerhead, tilapia, and manta.
Let the team discuss and decide whether or not this is a
worthy extension to PA.

Changes are split into two commits.

- Swipe recents for floating window:
Recents ScrollViews set separate trigger directions on
SwipeHelper (LEFT for vertical and DOWN for horizontal).
Directions are chosen as the opposite of the 'natural'
swipe-to-dismiss direction performed by the clear-all
button. onChildTriggered() will open the app in floating
window mode. To confirm this behavior for horizontal and
vertical recents views, separate settings confirmation
dialogs are shown with appropriate PA-style graphics (Gimp
sources on request).

- Swipe status bar notification for floating window:
Analogous to recents, here the NotificationRowLayout sets
the trigger direction to LEFT. It also got its own
confirmation dialog together with new hint graphics. After a
child is triggered, the app is started in floating window
mode by performing a click causing the notification to
disappear (exactly as it would anyway, if the app would have
been opened in 'normal' full-screen mode).

Change-Id: Ib32e2c88033b1c143bd8dc8fa7394b002060d526

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/res/values-de/pa_strings.xml
	packages/SystemUI/res/values/pa_strings.xml
	packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
aapt: i hate if (true) statements

Change-Id: If0d39f4d942067ae2d4ee4d32490b6e079a5f60d
fw: media: Handle NPE due to threading race

Change-Id: I6eab5bc3d687edfa6f0839e439b3314bed4fdcea
Temporarily hide lock screen unlock targets if opening a widget

If the user selects a widget to open, it's very unlikely that they would
want to use any of the slider shortcuts at that moment. Make it easier
to unlock the screen and open the desired widget by temporarily hiding
other targets.

Change-Id: I51d879cc77826e4f7235c5d35b6352e5e83bb7cf
Revert "Temporarily hide lock screen unlock targets if opening a widget"

This reverts commit b59bb9067cbb3e4a4b8ef9a7c1d9853590d6a067.
MtpDatabase JNI: Fixed a memory-leak in getObjectPropertyValue().

The jstring "stringValue" was not never freed.
In the case where "str" was NULL the whole cleanup part (see "goto out")
was even skipped.
This patch makes getObjectPropertyValue() behave like
getObjectPropertyList().

Change-Id: I5a7ec3611036f5253a054b00064999bcd1d1c29e
Revert "Reduce memory leaks by removing all views."

This reverts commit bbebee4faaf886279cadefb5dfd051630f4a306f.
appops: Fix WIFI_SCAN AppOp permission index

WIFI_SCAN and POST_NOTIFICATION permissions are inverted.

Change-Id: I97ebba0e118604294eb474143c53f7e7238dcb59
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Cleanup app->{theme1,theme2...} mapping on uninstall

Change-Id: I24b43e8817db1927d5b43fcf7ad3340269d046ea
Themes: Add '|' delimited list of components to broadcast

Change-Id: I742dcb0f502b6089dee584a92a3792016f2a9799
Themes: Handle apps using "original-package" tag

Before this patch the themes code assumed the pkgName from PackageInfo was equal to the
manifest value. This is not the case however for upgraded system apps that have gone
through a pkg-name change. For example, Trebuchet was "com.android.launcher3" and now
it is "com.cyanogenmod.trebuchet". If the device had wiped data then PM would use the new
pkg-name, but if the system apps were being upgraded then PM would use the old name which is
now different from the manifest name.

Change-Id: Ie7eb1b4e17899d1055535dc890d4f7a7bca9a98a
Make theme change broadcast a protected broadcast.

Change-Id: Ic24c840685d18d133dc73ff2637c041c4775f197
Themes: remove unused code

Change-Id: I5ee8de962c40ddc5fcfbbc0332a9e389223e716c
Themes: Delete icon resources during uninstall

Change-Id: Icf247642f9d246c8826f3394f873e4b434ad2b3f
WallpaperCropper: do not display null bitmaps

It is possible that themes can include a corrupted bitmap,
and the lockscreen will try and display a NULL image resulting in an
empty thumbnail and applying it will cause the app to crash.

Change-Id: Ie0770486a9d58050a5f296a219d844a39937421e
Signed-off-by: Roman Birg <roman@cyngn.com>