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
diff --git a/services/inputflinger/InputReader.cpp b/services/inputflinger/InputReader.cpp
index 5654799..0e60d4d 100644
--- a/services/inputflinger/InputReader.cpp
+++ b/services/inputflinger/InputReader.cpp
@@ -4127,13 +4127,13 @@
 }
 
 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*/);
     }
 }