Fixed the animation when flinging over the bottom stack

The new approach is still not perfect but has way less artifacts.

Change-Id: I096d3823c5ede720bdf05558d68529e903dce5b5
Fixes: 27744811
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
index 1b31edb..b25adc3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
@@ -156,6 +156,7 @@
             }
         }
     };
+    private boolean mForceUnlocked;
     private boolean mDismissed;
     private boolean mKeepInParent;
     private boolean mRemoved;
@@ -645,6 +646,16 @@
         onChildrenCountChanged();
     }
 
+    public void setForceUnlocked(boolean forceUnlocked) {
+        mForceUnlocked = forceUnlocked;
+        if (mIsSummaryWithChildren) {
+            List<ExpandableNotificationRow> notificationChildren = getNotificationChildren();
+            for (ExpandableNotificationRow child : notificationChildren) {
+                child.setForceUnlocked(forceUnlocked);
+            }
+        }
+    }
+
     public void setDismissed(boolean dismissed) {
         mDismissed = dismissed;
     }
@@ -1017,7 +1028,7 @@
     }
 
     public boolean isUserLocked() {
-        return mUserLocked;
+        return mUserLocked && !mForceUnlocked;
     }
 
     public void setUserLocked(boolean userLocked) {