diff options
Diffstat (limited to 'java')
3 files changed, 25 insertions, 2 deletions
diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml index 0fb8877a9..c7d993698 100644 --- a/java/res/values/dimens.xml +++ b/java/res/values/dimens.xml @@ -100,7 +100,7 @@ <fraction name="center_suggestion_percentile">36%</fraction> <!-- Gesture preview trail parameters --> - <dimen name="gesture_preview_trail_start_width">18.0dp</dimen> + <dimen name="gesture_preview_trail_start_width">12.6dp</dimen> <dimen name="gesture_preview_trail_end_width">2.5dp</dimen> <!-- Gesture floating preview text parameters --> <dimen name="gesture_floating_preview_text_size">24dp</dimen> diff --git a/java/res/values/keypress-vibration-durations.xml b/java/res/values/keypress-vibration-durations.xml index 1d7e57bce..370959c1a 100644 --- a/java/res/values/keypress-vibration-durations.xml +++ b/java/res/values/keypress-vibration-durations.xml @@ -22,7 +22,7 @@ <!-- Build.HARDWARE,duration_in_milliseconds --> <item>herring,5</item> <item>tuna,5</item> - <item>mako,20</item> + <item>mako,5</item> <item>manta,16</item> </string-array> </resources> diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidWordLevelSpellCheckerSession.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidWordLevelSpellCheckerSession.java index f4784ff1a..d9b622a18 100644 --- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidWordLevelSpellCheckerSession.java +++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidWordLevelSpellCheckerSession.java @@ -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. |