Fix bug with mice that send multiple BTN_MOUSE values.

Some mice send different values for BTN_MOUSE key events
when the button is held down (2 for repeat, instead of 1 for down).

Change-Id: I803db1f1584f50f8f5e1d37b6a715e2e1b3943a6
diff --git a/services/input/InputReader.cpp b/services/input/InputReader.cpp
index 7a45de6..f6a8859 100644
--- a/services/input/InputReader.cpp
+++ b/services/input/InputReader.cpp
@@ -1183,10 +1183,18 @@
 
         if (downChanged) {
             if (mAccumulator.btnMouse) {
-                mLocked.down = true;
-                mLocked.downTime = when;
+                if (!mLocked.down) {
+                    mLocked.down = true;
+                    mLocked.downTime = when;
+                } else {
+                    downChanged = false;
+                }
             } else {
-                mLocked.down = false;
+                if (mLocked.down) {
+                    mLocked.down = false;
+                } else {
+                    downChanged = false;
+                }
             }
         }