From 1264651c69da9a6389de40c49f61e28873b4d07d Mon Sep 17 00:00:00 2001 From: Marc Blank Date: Sat, 22 Jan 2011 13:55:14 -0800 Subject: [PATCH] Prevent logging about "attachment with null contentUri" Bug: 3373982 Change-Id: I41b655041d5c244484435fe5bab7649d9ca569eb --- src/com/android/email/AttachmentInfo.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/com/android/email/AttachmentInfo.java b/src/com/android/email/AttachmentInfo.java index 6acd2172f..bd257da81 100644 --- a/src/com/android/email/AttachmentInfo.java +++ b/src/com/android/email/AttachmentInfo.java @@ -113,11 +113,10 @@ public class AttachmentInfo { } } - // Check to see if any activities can view this attachment - // If not, we can't view it + // Check to see if any activities can view this attachment; if none, we can't view it Intent intent = getAttachmentIntent(context, 0); PackageManager pm = context.getPackageManager(); - List activityList = pm.queryIntentActivities(intent, 0); + List activityList = pm.queryIntentActivities(intent, 0 /*no account*/); if (activityList.isEmpty()) { canView = false; canSave = false; @@ -129,15 +128,21 @@ public class AttachmentInfo { /** * Returns an Intent to load the given attachment. + * @param context the caller's context + * @param accountId the account associated with the attachment (or 0 if we don't need to + * resolve from attachmentUri to contentUri) + * @return an Intent suitable for loading the attachment */ public Intent getAttachmentIntent(Context context, long accountId) { - Uri attachmentUri = AttachmentProvider.getAttachmentUri(accountId, mId); - Uri contentUri = AttachmentProvider.resolveAttachmentIdToContentUri( - context.getContentResolver(), attachmentUri); + Uri contentUri = AttachmentProvider.getAttachmentUri(accountId, mId); + if (accountId > 0) { + contentUri = AttachmentProvider.resolveAttachmentIdToContentUri( + context.getContentResolver(), contentUri); + } Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(contentUri); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION - | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); + | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); return intent; }