From d6d0f6976ccb04570884b188175213bad2e5da61 Mon Sep 17 00:00:00 2001
From: satok <satok@google.com>
Date: Mon, 19 Mar 2012 12:00:00 +0900
Subject: [PATCH] Make the primary character stable

Bug: 4343280
Change-Id: I3e6eaa3803dc32a837825f3a64403430721b6192
---
 java/src/com/android/inputmethod/keyboard/KeyDetector.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/java/src/com/android/inputmethod/keyboard/KeyDetector.java b/java/src/com/android/inputmethod/keyboard/KeyDetector.java
index d342c6df07..c2ad56d9f0 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyDetector.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyDetector.java
@@ -265,9 +265,9 @@ public class KeyDetector {
         for (final Key key: mKeyboard.getNearestKeys(touchX, touchY)) {
             final boolean isOnKey = key.isOnKey(touchX, touchY);
             final int distance = key.squaredDistanceToEdge(touchX, touchY);
-            // TODO: need to take care of hitbox overlaps
+            // To take care of hitbox overlaps, we compare mCode here too.
             if (primaryKey == null || distance < minDistance
-                    || (distance == minDistance && isOnKey)) {
+                    || (distance == minDistance && isOnKey && key.mCode > primaryKey.mCode)) {
                 minDistance = distance;
                 primaryKey = key;
             }
-- 
GitLab