Always update external stylus state.

This prevents us from dropping any states (namely the pressure
transition from non-zero to zero) if we get the touch up before we
get the stylus data.

Change-Id: Ifc198628d35b7079dc5ec23d81f9681d122757a0
This commit is contained in:
Michael Wright 2015-04-20 22:03:54 +01:00
parent b85401d4ba
commit 4af18b90c1

View File

@ -4127,13 +4127,13 @@ void TouchInputMapper::timeoutExpired(nsecs_t when) {
}
void TouchInputMapper::updateExternalStylusState(const StylusState& state) {
mExternalStylusState.copyFrom(state);
if (mExternalStylusId != -1 || mExternalStylusDataTimeout != LLONG_MAX) {
// We're either in the middle of a fused stream of data or we're waiting on data before
// dispatching the initial down, so go ahead and dispatch now that we have fresh stylus
// data.
mExternalStylusDataTimeout = LLONG_MAX;
mExternalStylusDataPending = true;
mExternalStylusState.copyFrom(state);
processRawTouches(false /*timeout*/);
}
}