From f07024e0fa0854ae83e28ce2b187d687a7527b98 Mon Sep 17 00:00:00 2001 From: Kurt Partridge Date: Fri, 31 May 2013 22:05:28 -0700 Subject: [PATCH] Compare scrubbed strings when uncommitting LogUnits A LogUnit is only uncommitted if the LogUnit's word matches what is expected. But a LogUnit never stores numbers, only scrubbed words that replace numbers with a special character. So when uncommitting, the text from the TextView must also be scrubbed for the comparison to pass correctly. Bug: 9088919 Change-Id: I9b56f10afce6d0cc84eb9ead3b9a9b1e061ae39c --- .../src/com/android/inputmethod/research/ResearchLogger.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java/src/com/android/inputmethod/research/ResearchLogger.java b/java/src/com/android/inputmethod/research/ResearchLogger.java index 56ab90cb4..3df2446f3 100644 --- a/java/src/com/android/inputmethod/research/ResearchLogger.java +++ b/java/src/com/android/inputmethod/research/ResearchLogger.java @@ -863,7 +863,10 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang // Check that expected word matches. if (oldLogUnit != null) { final String oldLogUnitWords = oldLogUnit.getWordsAsString(); - if (oldLogUnitWords != null && !oldLogUnitWords.equals(expectedWord)) { + // Because the word is stored in the LogUnit with digits scrubbed, the comparison must + // be made on a scrubbed version of the expectedWord as well. + if (oldLogUnitWords != null && !oldLogUnitWords.equals( + scrubDigitsFromString(expectedWord))) { return; } }