diff options
author | 2012-05-29 04:43:54 -0700 | |
---|---|---|
committer | 2012-05-29 04:43:54 -0700 | |
commit | 961e676b9a6b8282b1049715523aa520d3b6a6e5 (patch) | |
tree | 80b2e356c2fa93334c2311d210afbbf1cdbc508b /java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java | |
parent | 9a3211802baf11e5749a080e4f451ef7b795220b (diff) | |
parent | c88f61215c5b9ca6e0cc3f776e3b7da19eec9cae (diff) | |
download | latinime-961e676b9a6b8282b1049715523aa520d3b6a6e5.tar.gz latinime-961e676b9a6b8282b1049715523aa520d3b6a6e5.tar.xz latinime-961e676b9a6b8282b1049715523aa520d3b6a6e5.zip |
Merge "Set level 1 as the initial value of the valid words" into jb-dev
Diffstat (limited to 'java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java b/java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java index feb1d0029..9cd8c6778 100644 --- a/java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java +++ b/java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java @@ -38,26 +38,39 @@ public class UserHistoryForgettingCurveUtils { public static class ForgettingCurveParams { private byte mFc; long mLastTouchedTime = 0; + private final boolean mIsValid; private void updateLastTouchedTime() { mLastTouchedTime = System.currentTimeMillis(); } - public ForgettingCurveParams() { - // TODO: Check whether this word is valid or not - this(System.currentTimeMillis()); + public ForgettingCurveParams(boolean isValid) { + this(System.currentTimeMillis(), isValid); } - private ForgettingCurveParams(long now) { - this((int)pushCount((byte)0, false), now, now); + private ForgettingCurveParams(long now, boolean isValid) { + this((int)pushCount((byte)0, isValid), now, now, isValid); } + /** This constructor is called when the user history bigram dictionary is being restored. */ public ForgettingCurveParams(int fc, long now, long last) { + // All words with level >= 1 had been saved. + // Invalid words with level == 0 had been saved. + // Valid words words with level == 0 had *not* been saved. + this(fc, now, last, fcToLevel((byte)fc) > 0); + } + + private ForgettingCurveParams(int fc, long now, long last, boolean isValid) { + mIsValid = isValid; mFc = (byte)fc; mLastTouchedTime = last; updateElapsedTime(now); } + public boolean isValid() { + return mIsValid; + } + public byte getFc() { updateElapsedTime(System.currentTimeMillis()); return mFc; |