Skip to content
Snippets Groups Projects
Commit 01a5a7d0 authored by Satoshi Kataoka's avatar Satoshi Kataoka Committed by Android (Google) Code Review
Browse files

Merge "Clear cache of user dic" into jb-mr1-dev

parents c7dc673c 17f7b406
No related branches found
No related tags found
No related merge requests found
......@@ -16,6 +16,9 @@
package com.android.inputmethod.latin.spellcheck;
import android.content.ContentResolver;
import android.database.ContentObserver;
import android.provider.UserDictionary.Words;
import android.service.textservice.SpellCheckerService.Session;
import android.text.TextUtils;
import android.util.Log;
......@@ -45,6 +48,7 @@ public abstract class AndroidWordLevelSpellCheckerSession extends Session {
private int mScript; // One of SCRIPT_LATIN or SCRIPT_CYRILLIC for now.
private final AndroidSpellCheckerService mService;
protected final SuggestionsCache mSuggestionsCache = new SuggestionsCache();
private final ContentObserver mObserver;
private static class SuggestionsParams {
public final String[] mSuggestions;
......@@ -83,10 +87,23 @@ public abstract class AndroidWordLevelSpellCheckerSession extends Session {
mUnigramSuggestionsInfoCache.put(
generateKey(query, prevWord), new SuggestionsParams(suggestions, flags));
}
public void clearCache() {
mUnigramSuggestionsInfoCache.evictAll();
}
}
AndroidWordLevelSpellCheckerSession(final AndroidSpellCheckerService service) {
mService = service;
final ContentResolver cres = service.getContentResolver();
mObserver = new ContentObserver(null) {
@Override
public void onChange(boolean self) {
mSuggestionsCache.clearCache();
}
};
cres.registerContentObserver(Words.CONTENT_URI, true, mObserver);
}
@Override
......@@ -97,6 +114,12 @@ public abstract class AndroidWordLevelSpellCheckerSession extends Session {
mScript = AndroidSpellCheckerService.getScriptFromLocale(mLocale);
}
@Override
public void onClose() {
final ContentResolver cres = mService.getContentResolver();
cres.unregisterContentObserver(mObserver);
}
/*
* Returns whether the code point is a letter that makes sense for the specified
* locale for this spell checker.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment