OSDN Git Service

Fixed an issue where the inline controls where not usable
authorSelim Cinek <cinek@google.com>
Thu, 22 Sep 2016 21:03:41 +0000 (14:03 -0700)
committerSelim Cinek <cinek@google.com>
Thu, 22 Sep 2016 21:03:41 +0000 (14:03 -0700)
Because the calculation whether a touch is on a view was incorrect
the inline controlls would always close on tablets when interacting
with them.

Change-Id: I68dcba411b34def32a044f5a4d73b396f74e9730
Fixes: 31502625

packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java

index d1de38c..9bded79 100644 (file)
@@ -4139,13 +4139,11 @@ public class NotificationStackScrollLayout extends ViewGroup
                 final int rx = (int) ev.getRawX();
                 final int ry = (int) ev.getRawY();
 
-                getLocationOnScreen(mTempInt2);
-                int[] location = new int[2];
-                view.getLocationOnScreen(location);
-                final int x = location[0] - mTempInt2[0];
-                final int y = location[1] - mTempInt2[1];
+                view.getLocationOnScreen(mTempInt2);
+                final int x = mTempInt2[0];
+                final int y = mTempInt2[1];
                 Rect rect = new Rect(x, y, x + view.getWidth(), y + height);
-                if (!rect.contains((int) rx, (int) ry)) {
+                if (!rect.contains(rx, ry)) {
                     // Touch was outside visible guts / gear notification, close what's visible
                     mPhoneStatusBar.dismissPopups(-1, -1, true /* resetGear */, true /* animate */);
                 }