Consolidate forwardTouchEvent with dispatchTouchEvent
Change-Id: Ib73962acff72be0a78a3565028572ad694fb8501main
parent
52d220e71b
commit
88f840d2a2
|
@ -33,11 +33,11 @@ public final class InputView extends LinearLayout {
|
|||
private final Rect mEventForwardingRect = new Rect();
|
||||
private final Rect mEventReceivingRect = new Rect();
|
||||
|
||||
public InputView(Context context, AttributeSet attrs) {
|
||||
public InputView(final Context context, final AttributeSet attrs) {
|
||||
super(context, attrs, 0);
|
||||
}
|
||||
|
||||
public void setKeyboardGeometry(int keyboardTopPadding) {
|
||||
public void setKeyboardGeometry(final int keyboardTopPadding) {
|
||||
mKeyboardTopPadding = keyboardTopPadding;
|
||||
}
|
||||
|
||||
|
@ -48,18 +48,14 @@ public final class InputView extends LinearLayout {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean dispatchTouchEvent(MotionEvent me) {
|
||||
if (mSuggestionStripView.getVisibility() == VISIBLE
|
||||
&& mKeyboardView.getVisibility() == VISIBLE
|
||||
&& forwardTouchEvent(me)) {
|
||||
return true;
|
||||
}
|
||||
public boolean dispatchTouchEvent(final MotionEvent me) {
|
||||
if (mSuggestionStripView.getVisibility() != VISIBLE
|
||||
|| mKeyboardView.getVisibility() != VISIBLE) {
|
||||
return super.dispatchTouchEvent(me);
|
||||
}
|
||||
|
||||
// The touch events that hit the top padding of keyboard should be forwarded to
|
||||
// {@link SuggestionStripView}.
|
||||
private boolean forwardTouchEvent(MotionEvent me) {
|
||||
final Rect rect = mInputViewRect;
|
||||
this.getGlobalVisibleRect(rect);
|
||||
final int x = (int)me.getX() + rect.left;
|
||||
|
@ -68,7 +64,7 @@ public final class InputView extends LinearLayout {
|
|||
final Rect forwardingRect = mEventForwardingRect;
|
||||
mKeyboardView.getGlobalVisibleRect(forwardingRect);
|
||||
if (!mIsForwardingEvent && !forwardingRect.contains(x, y)) {
|
||||
return false;
|
||||
return super.dispatchTouchEvent(me);
|
||||
}
|
||||
|
||||
final int forwardingLimitY = forwardingRect.top + mKeyboardTopPadding;
|
||||
|
@ -93,7 +89,7 @@ public final class InputView extends LinearLayout {
|
|||
}
|
||||
|
||||
if (!sendToTarget) {
|
||||
return false;
|
||||
return super.dispatchTouchEvent(me);
|
||||
}
|
||||
|
||||
final Rect receivingRect = mEventReceivingRect;
|
||||
|
|
Loading…
Reference in New Issue