Add a functionality to clear and flush prediction dictionary
Bug: 9429906 Change-Id: I84ec444e9d46a0080dc3450b8ab32bfb99407cfemain
parent
dadf3bf107
commit
22f01a42fc
|
@ -411,4 +411,18 @@ public abstract class DynamicPredictionDictionaryBase extends ExpandableDictiona
|
|||
public void unRegisterUpdateSession(PersonalizationDictionaryUpdateSession 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);
|
||||
}
|
||||
|
||||
public void clearAndFlushPredictionDictionary(Context context) {
|
||||
final DynamicPredictionDictionaryBase dictionary = getPredictionDictionary();
|
||||
if (dictionary == null) {
|
||||
return;
|
||||
}
|
||||
dictionary.clearAndFlushDictionary();
|
||||
}
|
||||
|
||||
public void closeSession(Context context) {
|
||||
unsetPredictionDictionary();
|
||||
|
|
Loading…
Reference in New Issue