Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/NearestTouchFrame.java +2 −1 Original line number Diff line number Diff line Loading @@ -87,7 +87,8 @@ public class NearestTouchFrame extends FrameLayout { if (mTouchingChild != null) { event.offsetLocation(mTouchingChild.getWidth() / 2 - event.getX(), mTouchingChild.getHeight() / 2 - event.getY()); return mTouchingChild.dispatchTouchEvent(event); return mTouchingChild.getVisibility() == VISIBLE && mTouchingChild.dispatchTouchEvent(event); } } return super.onTouchEvent(event); Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NearestTouchFrameTest.java +18 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,24 @@ public class NearestTouchFrameTest extends SysuiTestCase { ev.recycle(); } @Test public void testInvisibleViews() { View left = mockViewAt(0, 0, 10, 10); View right = mockViewAt(20, 0, 10, 10); when(left.getVisibility()).thenReturn(View.INVISIBLE); mNearestTouchFrame.addView(left); mNearestTouchFrame.addView(right); mNearestTouchFrame.onMeasure(0, 0); MotionEvent ev = MotionEvent.obtain(0, 0, 0, 12 /* x */, 5 /* y */, 0); mNearestTouchFrame.onTouchEvent(ev); verify(left, never()).onTouchEvent(eq(ev)); verify(right, never()).onTouchEvent(eq(ev)); ev.recycle(); } @Test public void testHorizontalSelection_Left() { View left = mockViewAt(0, 0, 10, 10); Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/NearestTouchFrame.java +2 −1 Original line number Diff line number Diff line Loading @@ -87,7 +87,8 @@ public class NearestTouchFrame extends FrameLayout { if (mTouchingChild != null) { event.offsetLocation(mTouchingChild.getWidth() / 2 - event.getX(), mTouchingChild.getHeight() / 2 - event.getY()); return mTouchingChild.dispatchTouchEvent(event); return mTouchingChild.getVisibility() == VISIBLE && mTouchingChild.dispatchTouchEvent(event); } } return super.onTouchEvent(event); Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NearestTouchFrameTest.java +18 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,24 @@ public class NearestTouchFrameTest extends SysuiTestCase { ev.recycle(); } @Test public void testInvisibleViews() { View left = mockViewAt(0, 0, 10, 10); View right = mockViewAt(20, 0, 10, 10); when(left.getVisibility()).thenReturn(View.INVISIBLE); mNearestTouchFrame.addView(left); mNearestTouchFrame.addView(right); mNearestTouchFrame.onMeasure(0, 0); MotionEvent ev = MotionEvent.obtain(0, 0, 0, 12 /* x */, 5 /* y */, 0); mNearestTouchFrame.onTouchEvent(ev); verify(left, never()).onTouchEvent(eq(ev)); verify(right, never()).onTouchEvent(eq(ev)); ev.recycle(); } @Test public void testHorizontalSelection_Left() { View left = mockViewAt(0, 0, 10, 10); Loading