diff options
author | Debajit Ghosh <debajit@google.com> | 2009-09-20 18:16:53 -0700 |
---|---|---|
committer | Debajit Ghosh <debajit@google.com> | 2009-09-20 18:16:53 -0700 |
commit | 7d41eeb153cff835572229bc149a09376c7eddd8 (patch) | |
tree | dcf9e0be68103f315ac6146962395c9cc29dc8af /src/com/android/calendar/EventInfoActivity.java | |
parent | a886a23cf162fdad6ca0e25441550a3783f0cd29 (diff) | |
download | android_packages_apps_Calendar-7d41eeb153cff835572229bc149a09376c7eddd8.tar.gz android_packages_apps_Calendar-7d41eeb153cff835572229bc149a09376c7eddd8.tar.bz2 android_packages_apps_Calendar-7d41eeb153cff835572229bc149a09376c7eddd8.zip |
be sure to close the presence cursor when displaying event info.
Diffstat (limited to 'src/com/android/calendar/EventInfoActivity.java')
-rw-r--r-- | src/com/android/calendar/EventInfoActivity.java | 53 |
1 files changed, 29 insertions, 24 deletions
diff --git a/src/com/android/calendar/EventInfoActivity.java b/src/com/android/calendar/EventInfoActivity.java index f78fbc67..714952e7 100644 --- a/src/com/android/calendar/EventInfoActivity.java +++ b/src/com/android/calendar/EventInfoActivity.java @@ -983,32 +983,37 @@ public class EventInfoActivity extends Activity implements View.OnClickListener, return; } - cursor.moveToPosition(-1); - while (cursor.moveToNext()) { - String email = cursor.getString(PRESENCE_PROJECTION_EMAIL_INDEX); - int contactId = cursor.getInt(PRESENCE_PROJECTION_CONTACT_ID_INDEX); - ViewHolder vh = mViewHolders.get(email); - int photoId = cursor.getInt(PRESENCE_PROJECTION_PHOTO_ID_INDEX); - if (DEBUG) { - Log.e(TAG, "onQueryComplete Id: " + contactId + " PhotoId: " + photoId - + " Email: " + email); - } - if (vh == null) { - continue; - } - ImageView presenceView = vh.presence; - if (presenceView != null) { - int status = cursor.getInt(PRESENCE_PROJECTION_PRESENCE_INDEX); - presenceView.setImageResource(Presence.getPresenceIconResourceId(status)); - presenceView.setVisibility(View.VISIBLE); - } + try { - if (photoId > 0 && vh.updateCounts < queryIndex) { - vh.updateCounts = queryIndex; - Uri personUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId); - ContactsAsyncHelper.updateImageViewWithContactPhotoAsync(mContext, vh.avatar, - personUri, R.drawable.ic_contact_picture); + cursor.moveToPosition(-1); + while (cursor.moveToNext()) { + String email = cursor.getString(PRESENCE_PROJECTION_EMAIL_INDEX); + int contactId = cursor.getInt(PRESENCE_PROJECTION_CONTACT_ID_INDEX); + ViewHolder vh = mViewHolders.get(email); + int photoId = cursor.getInt(PRESENCE_PROJECTION_PHOTO_ID_INDEX); + if (DEBUG) { + Log.e(TAG, "onQueryComplete Id: " + contactId + " PhotoId: " + photoId + + " Email: " + email); + } + if (vh == null) { + continue; + } + ImageView presenceView = vh.presence; + if (presenceView != null) { + int status = cursor.getInt(PRESENCE_PROJECTION_PRESENCE_INDEX); + presenceView.setImageResource(Presence.getPresenceIconResourceId(status)); + presenceView.setVisibility(View.VISIBLE); + } + + if (photoId > 0 && vh.updateCounts < queryIndex) { + vh.updateCounts = queryIndex; + Uri personUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId); + ContactsAsyncHelper.updateImageViewWithContactPhotoAsync(mContext, vh.avatar, + personUri, R.drawable.ic_contact_picture); + } } + } finally { + cursor.close(); } } } |