Merge "Fix attachment loading for messages which have been forwarded" into ub-mail-algol
This commit is contained in:
commit
84366ae273
|
@ -1373,14 +1373,16 @@ public abstract class EmailContent {
|
||||||
// This must be used with an appended id: ContentUris.withAppendedId(MESSAGE_ID_URI, id)
|
// This must be used with an appended id: ContentUris.withAppendedId(MESSAGE_ID_URI, id)
|
||||||
public static Uri MESSAGE_ID_URI;
|
public static Uri MESSAGE_ID_URI;
|
||||||
public static String ATTACHMENT_PROVIDER_URI_PREFIX;
|
public static String ATTACHMENT_PROVIDER_URI_PREFIX;
|
||||||
|
public static String ATTACHMENT_PROVIDER_AUTHORITY;
|
||||||
public static boolean sUsingLegacyPrefix;
|
public static boolean sUsingLegacyPrefix;
|
||||||
|
|
||||||
public static void initAttachment() {
|
public static void initAttachment() {
|
||||||
CONTENT_URI = Uri.parse(EmailContent.CONTENT_URI + "/attachment");
|
CONTENT_URI = Uri.parse(EmailContent.CONTENT_URI + "/attachment");
|
||||||
MESSAGE_ID_URI = Uri.parse(
|
MESSAGE_ID_URI = Uri.parse(
|
||||||
EmailContent.CONTENT_URI + "/attachment/message");
|
EmailContent.CONTENT_URI + "/attachment/message");
|
||||||
ATTACHMENT_PROVIDER_URI_PREFIX = "content://" + EmailContent.EMAIL_PACKAGE_NAME +
|
ATTACHMENT_PROVIDER_AUTHORITY = EmailContent.EMAIL_PACKAGE_NAME +
|
||||||
".attachmentprovider";
|
".attachmentprovider";
|
||||||
|
ATTACHMENT_PROVIDER_URI_PREFIX = "content://" + ATTACHMENT_PROVIDER_AUTHORITY;
|
||||||
sUsingLegacyPrefix =
|
sUsingLegacyPrefix =
|
||||||
ATTACHMENT_PROVIDER_URI_PREFIX.equals(ATTACHMENT_PROVIDER_LEGACY_URI_PREFIX);
|
ATTACHMENT_PROVIDER_URI_PREFIX.equals(ATTACHMENT_PROVIDER_LEGACY_URI_PREFIX);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3710,8 +3710,10 @@ public class EmailProvider extends ContentProvider {
|
||||||
Attachment att = Attachment.restoreAttachmentWithId(getContext(), id);
|
Attachment att = Attachment.restoreAttachmentWithId(getContext(), id);
|
||||||
// MAKE SURE THESE VALUES STAY IN SYNC WITH GEN QUERY ATTACHMENTS
|
// MAKE SURE THESE VALUES STAY IN SYNC WITH GEN QUERY ATTACHMENTS
|
||||||
ContentValues values = new ContentValues(2);
|
ContentValues values = new ContentValues(2);
|
||||||
values.put(AttachmentColumns.CONTENT_URI,
|
if (TextUtils.isEmpty(att.getContentUri())) {
|
||||||
AttachmentUtilities.getAttachmentUri(att.mAccountKey, id).toString());
|
values.put(AttachmentColumns.CONTENT_URI,
|
||||||
|
AttachmentUtilities.getAttachmentUri(att.mAccountKey, id).toString());
|
||||||
|
}
|
||||||
values.put(UIProvider.AttachmentColumns.SUPPORTS_DOWNLOAD_AGAIN, 1);
|
values.put(UIProvider.AttachmentColumns.SUPPORTS_DOWNLOAD_AGAIN, 1);
|
||||||
StringBuilder sb = genSelect(getAttachmentMap(), uiProjection, values);
|
StringBuilder sb = genSelect(getAttachmentMap(), uiProjection, values);
|
||||||
sb.append(" FROM ")
|
sb.append(" FROM ")
|
||||||
|
@ -4076,8 +4078,19 @@ public class EmailProvider extends ContentProvider {
|
||||||
TextUtils.equals(att.mMimeType, MimeType.ANDROID_ARCHIVE)) {
|
TextUtils.equals(att.mMimeType, MimeType.ANDROID_ARCHIVE)) {
|
||||||
contentUri = att.getContentUri();
|
contentUri = att.getContentUri();
|
||||||
} else {
|
} else {
|
||||||
contentUri =
|
final String attUriString = att.getContentUri();
|
||||||
AttachmentUtilities.getAttachmentUri(att.mAccountKey, id).toString();
|
final String authority;
|
||||||
|
if (!TextUtils.isEmpty(attUriString)) {
|
||||||
|
authority = Uri.parse(attUriString).getAuthority();
|
||||||
|
} else {
|
||||||
|
authority = null;
|
||||||
|
}
|
||||||
|
if (TextUtils.equals(authority, Attachment.ATTACHMENT_PROVIDER_AUTHORITY)) {
|
||||||
|
contentUri = attUriString;
|
||||||
|
} else {
|
||||||
|
contentUri = AttachmentUtilities.getAttachmentUri(att.mAccountKey, id)
|
||||||
|
.toString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return contentUri;
|
return contentUri;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue