Reduce falsing on swipe down for notification shade.

b/116879058

Change-Id: If3dde635cdff09faf27dbab2cd022b9d246c7c2b
diff --git a/quickstep/src/com/android/launcher3/uioverrides/StatusBarTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/StatusBarTouchController.java
index 4d56786..35f46cf 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/StatusBarTouchController.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/StatusBarTouchController.java
@@ -84,7 +84,8 @@
         }
         if (action == ACTION_MOVE) {
             float dy = ev.getY() - mTranslator.getDownY();
-            if (dy > mTouchSlop) {
+            float dx = ev.getX() - mTranslator.getDownX();
+            if (dy > mTouchSlop && dy > Math.abs(dx)) {
                 mTranslator.dispatchDownEvents(ev);
                 mTranslator.processMotionEvent(ev);
                 return true;
diff --git a/src/com/android/launcher3/touch/TouchEventTranslator.java b/src/com/android/launcher3/touch/TouchEventTranslator.java
index 8a5c932..8333d32 100644
--- a/src/com/android/launcher3/touch/TouchEventTranslator.java
+++ b/src/com/android/launcher3/touch/TouchEventTranslator.java
@@ -19,7 +19,6 @@
 import android.util.Log;
 import android.util.Pair;
 import android.util.SparseArray;
-import android.util.SparseLongArray;
 import android.view.MotionEvent;
 import android.view.MotionEvent.PointerCoords;
 import android.view.MotionEvent.PointerProperties;
@@ -37,13 +36,15 @@
 
     private class DownState {
         long timeStamp;
+        float downX;
         float downY;
-        public DownState(long timeStamp, float downY) {
+        public DownState(long timeStamp, float downX, float downY) {
             this.timeStamp = timeStamp;
+            this.downX = downX;
             this.downY = downY;
         }
     };
-    private final DownState ZERO = new DownState(0, 0f);
+    private final DownState ZERO = new DownState(0, 0f, 0f);
 
     private final Consumer<MotionEvent> mListener;
 
@@ -65,12 +66,16 @@
         mFingers.clear();
     }
 
+    public float getDownX() {
+        return mDownEvents.get(0).downX;
+    }
+
     public float getDownY() {
         return mDownEvents.get(0).downY;
     }
 
     public void setDownParameters(int idx, MotionEvent e) {
-        DownState ev = new DownState(e.getEventTime(), e.getY(idx));
+        DownState ev = new DownState(e.getEventTime(), e.getX(idx), e.getY(idx));
         mDownEvents.append(idx, ev);
     }