diff options
author | 2009-10-08 17:33:59 -0400 | |
---|---|---|
committer | 2009-10-08 17:33:59 -0400 | |
commit | b7a94fd7d66ad2cb73ed6c7226de5535935ab8b0 (patch) | |
tree | bbbc891d901579846fb6aee73c5da7939bc2f883 /src | |
parent | 75e5091ceacb201b9a1c81cab21f357bd2e91f17 (diff) | |
parent | b3f6d58b6ec716c26df38b584eda061265437cf4 (diff) | |
download | latinime-b7a94fd7d66ad2cb73ed6c7226de5535935ab8b0.tar.gz latinime-b7a94fd7d66ad2cb73ed6c7226de5535935ab8b0.tar.xz latinime-b7a94fd7d66ad2cb73ed6c7226de5535935ab8b0.zip |
Merge change Ib3f6d58b into eclair
* changes:
Fix for 2148982: Keyboard freezes while typing
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/inputmethod/latin/ContactsDictionary.java | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/com/android/inputmethod/latin/ContactsDictionary.java b/src/com/android/inputmethod/latin/ContactsDictionary.java index e8faf45a1..6f7f4b6a4 100644 --- a/src/com/android/inputmethod/latin/ContactsDictionary.java +++ b/src/com/android/inputmethod/latin/ContactsDictionary.java @@ -16,16 +16,11 @@ package com.android.inputmethod.latin; -import java.util.ArrayList; -import java.util.List; -import java.util.Locale; - import android.content.ContentResolver; import android.content.Context; import android.database.ContentObserver; import android.database.Cursor; import android.provider.ContactsContract.Contacts; -import android.util.Log; public class ContactsDictionary extends ExpandableDictionary { @@ -40,6 +35,8 @@ public class ContactsDictionary extends ExpandableDictionary { private boolean mRequiresReload; + private long mLastLoadedContacts; + public ContactsDictionary(Context context) { super(context); // Perform a managed query. The Activity will handle closing and requerying the cursor @@ -64,12 +61,17 @@ public class ContactsDictionary extends ExpandableDictionary { } private synchronized void loadDictionary() { - Cursor cursor = getContext().getContentResolver() - .query(Contacts.CONTENT_URI, PROJECTION, null, null, null); - if (cursor != null) { - addWords(cursor); + long now = android.os.SystemClock.uptimeMillis(); + if (mLastLoadedContacts == 0 + || now - mLastLoadedContacts > 30 * 60 * 1000 /* 30 minutes */) { + Cursor cursor = getContext().getContentResolver() + .query(Contacts.CONTENT_URI, PROJECTION, null, null, null); + if (cursor != null) { + addWords(cursor); + } + mRequiresReload = false; + mLastLoadedContacts = now; } - mRequiresReload = false; } @Override |