Add a functionality to clear and flush prediction dictionary
Bug: 9429906 Change-Id: I84ec444e9d46a0080dc3450b8ab32bfb99407cfe
This commit is contained in:
parent
dadf3bf107
commit
22f01a42fc
2 changed files with 21 additions and 0 deletions
|
@ -411,4 +411,18 @@ public abstract class DynamicPredictionDictionaryBase extends ExpandableDictiona
|
||||||
public void unRegisterUpdateSession(PersonalizationDictionaryUpdateSession session) {
|
public void unRegisterUpdateSession(PersonalizationDictionaryUpdateSession session) {
|
||||||
mSessions.remove(session);
|
mSessions.remove(session);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void clearAndFlushDictionary() {
|
||||||
|
// Clear the node structure on memory
|
||||||
|
clearDictionary();
|
||||||
|
mBigramListLock.lock();
|
||||||
|
try {
|
||||||
|
// Clear the bigram list on memory
|
||||||
|
mBigramList.evictAll();
|
||||||
|
} finally {
|
||||||
|
mBigramListLock.unlock();
|
||||||
|
}
|
||||||
|
// Then flush the cleared state of the dictionary on disk.
|
||||||
|
flushPendingWrites();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,6 +69,13 @@ public abstract class PersonalizationDictionaryUpdateSession {
|
||||||
dictionary.unRegisterUpdateSession(this);
|
dictionary.unRegisterUpdateSession(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void clearAndFlushPredictionDictionary(Context context) {
|
||||||
|
final DynamicPredictionDictionaryBase dictionary = getPredictionDictionary();
|
||||||
|
if (dictionary == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
dictionary.clearAndFlushDictionary();
|
||||||
|
}
|
||||||
|
|
||||||
public void closeSession(Context context) {
|
public void closeSession(Context context) {
|
||||||
unsetPredictionDictionary();
|
unsetPredictionDictionary();
|
||||||
|
|
Loading…
Reference in a new issue