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