Merge "Fix disabled views with nearest touch frame" into oc-mr1-dev
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user