Merge change Ib3f6d58b into eclair

* changes:
  Fix for 2148982: Keyboard freezes while typing
This commit is contained in:
Android (Google) Code Review 2009-10-08 17:33:59 -04:00
commit b7a94fd7d6

View file

@ -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