Bugfix : Quick pulldown sometimes flips when it should not

When your Quick Settings Panel is set to

Quick pulldown : right

Sometimes (very intermittently) the tray flips (to Quick Settings) as you pull it down from the right side.

This is happening because the pull down happened so fast you can see the top 0-10 pixels of the tray,
and because it was showing the notifications, not the Quick Settiings

However the user expects the tray not to flip, but to just be on the Quck Settings.

The new code simply checks to see that the Event was a pull down event and that the event started in the top status bar.
If this is the case, then the quick panel is swapped to (without flip)

Special Thanks to my daughter Jenny fo painstakingly reproducing this bug.

Change-Id: I8fdbedb1aa6d4fd672bd4cb58b7c99557469ab62
SystemUI: Avoid "phantom" status bar collapsing

There is one specific case where the status bar may collapse
for no aparent reason: When the last notification is removed.

If Quick Settings panel is showing while such a notification
is removed, the status bar WILL collapse -- and the user may
be left wondering why, because the notification that was just
removed isn't visible in that case.

A way to reproduce this behaviour follows:
  1) Settings -> System -> Quick Settings Panel -> uncheck
     "Auto close panel"
  2) Dismiss all notifications, even the sticky ones.
  3) Open the Quick Settings Panel and tap the apropriate
     tile to light the Torch
  4) Tap the tile again, to extinguish the Torch.

As you can see, the Quick Settings Panel collapses. This
happens because Torch puts up a notification, when lit and
removes it, just after it's turned off.

This will happen to whatever notification that hides itself,
e.g. a GMail notification, which vanishes when you read the
e-mail on another device. This too will trigger this issue.

-----

This patch prevents the bar from collapsing, as consequence
of removing the last notification, when Quick Settings is
showing.

Change-Id: I8c7c015c836810a465268b25b90c9166c4485a9f
Profiles: add PROFILES_STATE_CHANGED_ACTION broadcast intent

Added a new broadcast intent to profiles manager (PROFILES_STATE_CHANGED_ACTION), for
notify an event when profiles are enabled or disabled.

Change-Id: If701b3be54157c23acdf74e1da658fbce335437e
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Merge remote-tracking branch 'upstream/cm-10.1' into cm-10.1
Merge "Bugfix : Quick pulldown sometimes flips when it should not" into cm-10.1
Merge "Profiles: add PROFILES_STATE_CHANGED_ACTION broadcast intent" into cm-10.1
Merge remote-tracking branch 'upstream/cm-10.1' into cm-10.1
Merge branch 'cm-10.1' of git://github.com/Team-Hydra/android_frameworks_base into cm-10.1