ResearchLogger switch word segmentation
Previously, a logunit was considered a word only if it was all letters. This is important for tracking bigrams correctly. Now, a logunit must have only at least one letter. The dictionary check is still performed, and punctuation, etc. still comes in as separate LogUnits. But a word can contain a space, which helps set up for logging words where spaces are inserted automatically, and other situations in which text is committed with an additional space tacked onto the end. Change-Id: Ia74094a99058890d20a9cdadf2d0989841a79a41main
parent
98967539fd
commit
6a0720478d
|
@ -731,20 +731,20 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
|
||||||
researchLog.publish(closingLogUnit, true /* isIncludingPrivateData */);
|
researchLog.publish(closingLogUnit, true /* isIncludingPrivateData */);
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean hasOnlyLetters(final String word) {
|
private boolean hasLetters(final String word) {
|
||||||
final int length = word.length();
|
final int length = word.length();
|
||||||
for (int i = 0; i < length; i = word.offsetByCodePoints(i, 1)) {
|
for (int i = 0; i < length; i = word.offsetByCodePoints(i, 1)) {
|
||||||
final int codePoint = word.codePointAt(i);
|
final int codePoint = word.codePointAt(i);
|
||||||
if (!Character.isLetter(codePoint)) {
|
if (Character.isLetter(codePoint)) {
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onWordComplete(final String word) {
|
private void onWordComplete(final String word) {
|
||||||
Log.d(TAG, "onWordComplete: " + word);
|
Log.d(TAG, "onWordComplete: " + word);
|
||||||
if (word != null && word.length() > 0 && hasOnlyLetters(word)) {
|
if (word != null && word.length() > 0 && hasLetters(word)) {
|
||||||
mCurrentLogUnit.setWord(word);
|
mCurrentLogUnit.setWord(word);
|
||||||
mStatistics.recordWordEntered();
|
mStatistics.recordWordEntered();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue