SystemUI: improve one finger notification expansion

Sometimes the quick settings ribbon would eat the initial ACTION_DOWN
setting mInitialTouchY in the expand helper, but we are clearly not in a
notification that we can expand here. So only set the initial y point if
we are inside the notification scrollview.

Change-Id: I628553ac15cc6b4ee3c682fe46bd1d96c6bc154d
HeadsUp: Correctly add and remove the window

isAttachedToWindow() basically works to determine if the view was attached or not.

But on the boot up process when already addHeadsUpView is called but the system is not
fully up and a recreation happens (eg on TRDS...due that the UIModeManager is doing its work as soon as system is ready)
the view gets attached....but not removed on the recreation due that at this time isAttachedToWindow() will return false even though the
window was added.

To solve simply use a boolean instead of isAttachedToWindow()

Change-Id: Ib576a83cadc581683f2a5b0afc922c53b01888b7
Launch Heads Up in floating window [1/2]
    AICP'fied.
    To make floating window to work for Hover and Heads Up, notificationhelper
    interface is modified to include a third parameter to indicate whether it's
    called from hover or not.
    To make Heads_Up floating notification work separate from Hover,
    a third parameter is added to the notificationhelper to indicate whether
    we are called from Hover.java. This changes the call.
    PS2-3: Fix authorship
    PS5: separate hover change.
    PS6: change commit message.
    PS7: Merge with Hover change, fix setting preference and code cleanup.
         To make settings work, don't use Boolean with CM CheckBox preference
    PS8: autorship

Change-Id: I6730e18c44c7b30f77badc2fad7104d79288b9f4
*fb: Show heads up at the bottom of the screen (1/2)

Due of user requests and indeed especially on hw key devices for a better
workflow we add an option to show heads up notifications on the bottom instead
of the top.

Animation we leave as is due that if it slide from the bottom into the screen it happens
to often that the user accidentaly interacts with it. If it comes from the top of the
container we add, the user has enough time to realize it. Sometimes a ms can make a big difference.

As well this commit fixes the wrong gap on the top if user boots up directly
into immersive mode.

PS:
- if IME keyboard is showing show the heads up on the top to do not disturb the typing.
PS:
- NPE if updatePosition is called to early from the system.

Change-Id: Iea7fbe466808531a9351cf4048570b8f56eb698e
Heads up: option to disable in lockscreen (1/2)

Change-Id: I6d191528362535f5965d4e0960f4f5631da01a3e
HOVER: swipe right to dismiss only from hover anb left to dismiss from all (hover, status bar and notfication drawer)

- Minor change since all code was done by @kufikugel in Slim Head Up and the method was already changed by me to fit their code.
Again a BIG thanks to him!

Change-Id: I688970e2013ca899bb050c61d2f7cea299298cd9