aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdateSession.java
diff options
context:
space:
mode:
authorSatoshi Kataoka <satok@google.com>2013-08-11 23:27:47 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-08-11 23:27:47 -0700
commit39acbaeeaae31fe4e2551a8cad875f231ef937d2 (patch)
tree11f82962b71b61e38178cc37b1577275465fa403 /java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdateSession.java
parent03cad06a9dced34a210b8e355afd428af2cf54e1 (diff)
parent1b7c1cd513c53e1d1f07a328405c71509a0ecb6c (diff)
downloadlatinime-39acbaeeaae31fe4e2551a8cad875f231ef937d2.tar.gz
latinime-39acbaeeaae31fe4e2551a8cad875f231ef937d2.tar.xz
latinime-39acbaeeaae31fe4e2551a8cad875f231ef937d2.zip
am 1b7c1cd5: Merge "Add PersionalizationDictionaryRegister"
* commit '1b7c1cd513c53e1d1f07a328405c71509a0ecb6c': Add PersionalizationDictionaryRegister
Diffstat (limited to 'java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdateSession.java')
-rw-r--r--java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdateSession.java28
1 files changed, 23 insertions, 5 deletions
diff --git a/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdateSession.java b/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdateSession.java
index d62aec19d..e9dbbc273 100644
--- a/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdateSession.java
+++ b/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdateSession.java
@@ -43,18 +43,36 @@ public abstract class PersonalizationDictionaryUpdateSession {
}
// TODO: Use a dynamic binary dictionary instead
- public WeakReference<DynamicPredictionDictionaryBase> mDictionary;
+ public WeakReference<DynamicPredictionDictionaryBase> mPredictionDictionary;
+ public String mLocale;
public abstract void onDictionaryReady();
- public void setDictionary(DynamicPredictionDictionaryBase dictionary) {
- mDictionary = new WeakReference<DynamicPredictionDictionaryBase>(dictionary);
+ public void setPredictionDictionary(String locale, DynamicPredictionDictionaryBase dictionary) {
+ mPredictionDictionary = new WeakReference<DynamicPredictionDictionaryBase>(dictionary);
+ mLocale = locale;
+ }
+
+ protected DynamicPredictionDictionaryBase getPredictionDictionary() {
+ return mPredictionDictionary == null ? null : mPredictionDictionary.get();
+ }
+
+ private void unsetPredictionDictionary() {
+ final DynamicPredictionDictionaryBase dictionary = getPredictionDictionary();
+ if (dictionary == null) {
+ return;
+ }
+ dictionary.unRegisterUpdateSession(this);
+ }
+
+
+ public void closeSession() {
+ unsetPredictionDictionary();
}
public void addToPersonalizationDictionary(
final ArrayList<PersonalizationLanguageModelParam> lmParams) {
- final DynamicPredictionDictionaryBase dictionary = mDictionary == null
- ? null : mDictionary.get();
+ final DynamicPredictionDictionaryBase dictionary = getPredictionDictionary();
if (dictionary == null) {
return;
}