summaryrefslogtreecommitdiffstats
path: root/src/com/android/calendar/EventInfoActivity.java
diff options
context:
space:
mode:
authorDebajit Ghosh <debajit@google.com>2009-09-20 18:16:53 -0700
committerDebajit Ghosh <debajit@google.com>2009-09-20 18:16:53 -0700
commit7d41eeb153cff835572229bc149a09376c7eddd8 (patch)
treedcf9e0be68103f315ac6146962395c9cc29dc8af /src/com/android/calendar/EventInfoActivity.java
parenta886a23cf162fdad6ca0e25441550a3783f0cd29 (diff)
downloadandroid_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.java53
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();
}
}
}