aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/keyboard/KeyDetector.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/com/android/inputmethod/keyboard/KeyDetector.java')
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyDetector.java25
1 files changed, 22 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/KeyDetector.java b/java/src/com/android/inputmethod/keyboard/KeyDetector.java
index 4b708a771..2a6e0a2de 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyDetector.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyDetector.java
@@ -213,12 +213,31 @@ public class KeyDetector {
getNearbyKeyCodes(allCodes);
if (DEBUG) {
Log.d(TAG, "x=" + x + " y=" + y
- + " primary="
- + (primaryKey == null ? "none" : primaryKey.mCode)
- + " codes=" + Arrays.toString(allCodes));
+ + " primary=" + printableCode(primaryKey)
+ + " codes=" + printableCodes(allCodes));
}
}
return primaryKey;
}
+
+ public static String printableCode(Key key) {
+ return key != null ? printableCode(key.mCode) : "none";
+ }
+
+ public static String printableCode(int primaryCode) {
+ if (primaryCode < 0) return String.format("%4d", primaryCode);
+ if (primaryCode < 0x100) return String.format("\\u%02x", primaryCode);
+ return String.format("\\u04x", primaryCode);
+ }
+
+ public static String printableCodes(int[] codes) {
+ final StringBuilder sb = new StringBuilder();
+ for (final int code : codes) {
+ if (code == NOT_A_CODE) break;
+ if (sb.length() > 0) sb.append(", ");
+ sb.append(code);
+ }
+ return "[" + sb + "]";
+ }
}