diff options
author | 2012-06-07 11:25:52 -0700 | |
---|---|---|
committer | 2012-06-07 11:25:52 -0700 | |
commit | 674c51a01117b73dd25473195f92fb0c0158da26 (patch) | |
tree | 6dc9961014e3da515e5e48b1e22a8629d979179c /java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java | |
parent | 733b3c5fa86953b36d2242becb991b2891d8ffc0 (diff) | |
parent | ec2981a487b91a682caade486700d8b2377a5c52 (diff) | |
download | latinime-674c51a01117b73dd25473195f92fb0c0158da26.tar.gz latinime-674c51a01117b73dd25473195f92fb0c0158da26.tar.xz latinime-674c51a01117b73dd25473195f92fb0c0158da26.zip |
am ec2981a4: Fix a bug on upgrading user history scheme
* commit 'ec2981a487b91a682caade486700d8b2377a5c52':
Fix a bug on upgrading user history scheme
Diffstat (limited to 'java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java b/java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java index 9cd8c6778..e5516dc62 100644 --- a/java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java +++ b/java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java @@ -30,6 +30,7 @@ public class UserHistoryForgettingCurveUtils { private static final long ELAPSED_TIME_INTERVAL_MILLIS = ELAPSED_TIME_INTERVAL_HOURS * DateUtils.HOUR_IN_MILLIS; private static final int HALF_LIFE_HOURS = 48; + private static final int MAX_PUSH_ELAPSED = (FC_LEVEL_MAX + 1) * (ELAPSED_TIME_MAX + 1); private UserHistoryForgettingCurveUtils() { // This utility class is not publicly instantiable. @@ -94,6 +95,11 @@ public class UserHistoryForgettingCurveUtils { if (elapsedTimeCount <= 0) { return; } + if (elapsedTimeCount >= MAX_PUSH_ELAPSED) { + mLastTouchedTime = now; + mFc = 0; + return; + } for (int i = 0; i < elapsedTimeCount; ++i) { mLastTouchedTime += ELAPSED_TIME_INTERVAL_MILLIS; mFc = pushElapsedTime(mFc); |