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
diff --git a/java/src/com/android/inputmethod/research/ResearchLogger.java b/java/src/com/android/inputmethod/research/ResearchLogger.java
index 56ab90c..3df2446 100644
--- a/java/src/com/android/inputmethod/research/ResearchLogger.java
+++ b/java/src/com/android/inputmethod/research/ResearchLogger.java
@@ -863,7 +863,10 @@
// 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;
}
}