Loading java/src/com/android/inputmethod/latin/personalization/PersonalizationPredictionDictionary.java→java/src/com/android/inputmethod/latin/personalization/DynamicPredictionDictionaryBase.java +14 −14 Original line number Diff line number Diff line Loading @@ -46,14 +46,14 @@ import java.util.ArrayList; import java.util.concurrent.locks.ReentrantLock; /** * This class is a dictionary for the personalized prediction language model implemented in Java. * This class is a base class of a dictionary for the personalized prediction language model. */ public abstract class PersonalizationPredictionDictionary extends ExpandableDictionary { public abstract class DynamicPredictionDictionaryBase extends ExpandableDictionary { public static void registerUpdateListener(PersonalizationDictionaryUpdateListener listener) { // TODO: Implement } private static final String TAG = PersonalizationPredictionDictionary.class.getSimpleName(); private static final String TAG = DynamicPredictionDictionaryBase.class.getSimpleName(); public static final boolean DBG_SAVE_RESTORE = false; private static final boolean DBG_STRESS_TEST = false; private static final boolean PROFILE_SAVE_RESTORE = LatinImeLogger.sDBG; Loading @@ -78,7 +78,7 @@ public abstract class PersonalizationPredictionDictionary extends ExpandableDict // Should always be false except when we use this class for test @UsedForTesting boolean isTest = false; /* package */ PersonalizationPredictionDictionary(final Context context, final String locale, /* package */ DynamicPredictionDictionaryBase(final Context context, final String locale, final SharedPreferences sp, final String dictionaryType) { super(context, dictionaryType); mLocale = locale; Loading Loading @@ -279,16 +279,16 @@ public abstract class PersonalizationPredictionDictionary extends ExpandableDict private final UserHistoryDictionaryBigramList mBigramList; private final boolean mAddLevel0Bigrams; private final String mLocale; private final PersonalizationPredictionDictionary mPersonalizationPredictionDictionary; private final DynamicPredictionDictionaryBase mDynamicPredictionDictionary; private final SharedPreferences mPrefs; private final Context mContext; public UpdateBinaryTask(final UserHistoryDictionaryBigramList pendingWrites, final String locale, final PersonalizationPredictionDictionary dict, final String locale, final DynamicPredictionDictionaryBase dict, final SharedPreferences prefs, final Context context) { mBigramList = pendingWrites; mLocale = locale; mPersonalizationPredictionDictionary = dict; mDynamicPredictionDictionary = dict; mPrefs = prefs; mContext = context; mAddLevel0Bigrams = mBigramList.size() <= MAX_HISTORY_BIGRAMS; Loading @@ -296,19 +296,19 @@ public abstract class PersonalizationPredictionDictionary extends ExpandableDict @Override protected Void doInBackground(final Void... v) { if (mPersonalizationPredictionDictionary.isTest) { if (mDynamicPredictionDictionary.isTest) { // If isTest == true, wait until the lock is released. mPersonalizationPredictionDictionary.mBigramListLock.lock(); mDynamicPredictionDictionary.mBigramListLock.lock(); try { doWriteTaskLocked(); } finally { mPersonalizationPredictionDictionary.mBigramListLock.unlock(); mDynamicPredictionDictionary.mBigramListLock.unlock(); } } else if (mPersonalizationPredictionDictionary.mBigramListLock.tryLock()) { } else if (mDynamicPredictionDictionary.mBigramListLock.tryLock()) { try { doWriteTaskLocked(); } finally { mPersonalizationPredictionDictionary.mBigramListLock.unlock(); mDynamicPredictionDictionary.mBigramListLock.unlock(); } } return null; Loading @@ -327,7 +327,7 @@ public abstract class PersonalizationPredictionDictionary extends ExpandableDict final long now = PROFILE_SAVE_RESTORE ? System.currentTimeMillis() : 0; final String fileName = mPersonalizationPredictionDictionary.getDictionaryFileName(); mDynamicPredictionDictionary.getDictionaryFileName(); final File file = new File(mContext.getFilesDir(), fileName); FileOutputStream out = null; Loading Loading @@ -364,7 +364,7 @@ public abstract class PersonalizationPredictionDictionary extends ExpandableDict final byte prevFc = mBigramList.getBigrams(word1).get(word2); } else { // bigram final NextWord nw = mPersonalizationPredictionDictionary.getBigramWord(word1, word2); mDynamicPredictionDictionary.getBigramWord(word1, word2); if (nw != null) { final ForgettingCurveParams fcp = nw.getFcParams(); final byte prevFc = mBigramList.getBigrams(word1).get(word2); Loading java/src/com/android/inputmethod/latin/personalization/UserHistoryPredictionDictionary.java +1 −3 Original line number Diff line number Diff line Loading @@ -25,10 +25,8 @@ import android.content.SharedPreferences; * Locally gathers stats about the words user types and various other signals like auto-correction * cancellation or manual picks. This allows the keyboard to adapt to the typist over time. */ public class UserHistoryPredictionDictionary extends PersonalizationPredictionDictionary { private static final String TAG = UserHistoryPredictionDictionary.class.getSimpleName(); public class UserHistoryPredictionDictionary extends DynamicPredictionDictionaryBase { private static final String NAME = UserHistoryPredictionDictionary.class.getSimpleName(); /* package */ UserHistoryPredictionDictionary(final Context context, final String locale, final SharedPreferences sp) { super(context, locale, sp, Dictionary.TYPE_USER_HISTORY); Loading Loading
java/src/com/android/inputmethod/latin/personalization/PersonalizationPredictionDictionary.java→java/src/com/android/inputmethod/latin/personalization/DynamicPredictionDictionaryBase.java +14 −14 Original line number Diff line number Diff line Loading @@ -46,14 +46,14 @@ import java.util.ArrayList; import java.util.concurrent.locks.ReentrantLock; /** * This class is a dictionary for the personalized prediction language model implemented in Java. * This class is a base class of a dictionary for the personalized prediction language model. */ public abstract class PersonalizationPredictionDictionary extends ExpandableDictionary { public abstract class DynamicPredictionDictionaryBase extends ExpandableDictionary { public static void registerUpdateListener(PersonalizationDictionaryUpdateListener listener) { // TODO: Implement } private static final String TAG = PersonalizationPredictionDictionary.class.getSimpleName(); private static final String TAG = DynamicPredictionDictionaryBase.class.getSimpleName(); public static final boolean DBG_SAVE_RESTORE = false; private static final boolean DBG_STRESS_TEST = false; private static final boolean PROFILE_SAVE_RESTORE = LatinImeLogger.sDBG; Loading @@ -78,7 +78,7 @@ public abstract class PersonalizationPredictionDictionary extends ExpandableDict // Should always be false except when we use this class for test @UsedForTesting boolean isTest = false; /* package */ PersonalizationPredictionDictionary(final Context context, final String locale, /* package */ DynamicPredictionDictionaryBase(final Context context, final String locale, final SharedPreferences sp, final String dictionaryType) { super(context, dictionaryType); mLocale = locale; Loading Loading @@ -279,16 +279,16 @@ public abstract class PersonalizationPredictionDictionary extends ExpandableDict private final UserHistoryDictionaryBigramList mBigramList; private final boolean mAddLevel0Bigrams; private final String mLocale; private final PersonalizationPredictionDictionary mPersonalizationPredictionDictionary; private final DynamicPredictionDictionaryBase mDynamicPredictionDictionary; private final SharedPreferences mPrefs; private final Context mContext; public UpdateBinaryTask(final UserHistoryDictionaryBigramList pendingWrites, final String locale, final PersonalizationPredictionDictionary dict, final String locale, final DynamicPredictionDictionaryBase dict, final SharedPreferences prefs, final Context context) { mBigramList = pendingWrites; mLocale = locale; mPersonalizationPredictionDictionary = dict; mDynamicPredictionDictionary = dict; mPrefs = prefs; mContext = context; mAddLevel0Bigrams = mBigramList.size() <= MAX_HISTORY_BIGRAMS; Loading @@ -296,19 +296,19 @@ public abstract class PersonalizationPredictionDictionary extends ExpandableDict @Override protected Void doInBackground(final Void... v) { if (mPersonalizationPredictionDictionary.isTest) { if (mDynamicPredictionDictionary.isTest) { // If isTest == true, wait until the lock is released. mPersonalizationPredictionDictionary.mBigramListLock.lock(); mDynamicPredictionDictionary.mBigramListLock.lock(); try { doWriteTaskLocked(); } finally { mPersonalizationPredictionDictionary.mBigramListLock.unlock(); mDynamicPredictionDictionary.mBigramListLock.unlock(); } } else if (mPersonalizationPredictionDictionary.mBigramListLock.tryLock()) { } else if (mDynamicPredictionDictionary.mBigramListLock.tryLock()) { try { doWriteTaskLocked(); } finally { mPersonalizationPredictionDictionary.mBigramListLock.unlock(); mDynamicPredictionDictionary.mBigramListLock.unlock(); } } return null; Loading @@ -327,7 +327,7 @@ public abstract class PersonalizationPredictionDictionary extends ExpandableDict final long now = PROFILE_SAVE_RESTORE ? System.currentTimeMillis() : 0; final String fileName = mPersonalizationPredictionDictionary.getDictionaryFileName(); mDynamicPredictionDictionary.getDictionaryFileName(); final File file = new File(mContext.getFilesDir(), fileName); FileOutputStream out = null; Loading Loading @@ -364,7 +364,7 @@ public abstract class PersonalizationPredictionDictionary extends ExpandableDict final byte prevFc = mBigramList.getBigrams(word1).get(word2); } else { // bigram final NextWord nw = mPersonalizationPredictionDictionary.getBigramWord(word1, word2); mDynamicPredictionDictionary.getBigramWord(word1, word2); if (nw != null) { final ForgettingCurveParams fcp = nw.getFcParams(); final byte prevFc = mBigramList.getBigrams(word1).get(word2); Loading
java/src/com/android/inputmethod/latin/personalization/UserHistoryPredictionDictionary.java +1 −3 Original line number Diff line number Diff line Loading @@ -25,10 +25,8 @@ import android.content.SharedPreferences; * Locally gathers stats about the words user types and various other signals like auto-correction * cancellation or manual picks. This allows the keyboard to adapt to the typist over time. */ public class UserHistoryPredictionDictionary extends PersonalizationPredictionDictionary { private static final String TAG = UserHistoryPredictionDictionary.class.getSimpleName(); public class UserHistoryPredictionDictionary extends DynamicPredictionDictionaryBase { private static final String NAME = UserHistoryPredictionDictionary.class.getSimpleName(); /* package */ UserHistoryPredictionDictionary(final Context context, final String locale, final SharedPreferences sp) { super(context, locale, sp, Dictionary.TYPE_USER_HISTORY); Loading