mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-27 11:42:16 -05:00
Don't use dummy file path when resolving intents
This commit is contained in:
parent
d9b6e10cbe
commit
56c30095e2
@ -15,7 +15,13 @@ public class TemporaryAttachmentStore {
|
||||
private static String TEMPORARY_ATTACHMENT_DIRECTORY = "attachments";
|
||||
private static long MAX_FILE_AGE = 12 * 60 * 60 * 1000; // 12h
|
||||
|
||||
public static File getFile(Context context, String attachmentName) throws IOException {
|
||||
public static File getFile(Context context, String attachmentName) {
|
||||
File directory = getTemporaryAttachmentDirectory(context);
|
||||
String filename = FileHelper.sanitizeFilename(attachmentName);
|
||||
return new File(directory, filename);
|
||||
}
|
||||
|
||||
public static File getFileForWriting(Context context, String attachmentName) throws IOException {
|
||||
File directory = createOrCleanAttachmentDirectory(context);
|
||||
String filename = FileHelper.sanitizeFilename(attachmentName);
|
||||
return new File(directory, filename);
|
||||
|
@ -286,7 +286,7 @@ public class AttachmentView extends FrameLayout implements OnClickListener, OnLo
|
||||
Intent viewIntent;
|
||||
if (resolvedIntentInfo.hasResolvedActivities() && resolvedIntentInfo.containsFileUri()) {
|
||||
try {
|
||||
File tempFile = TemporaryAttachmentStore.getFile(context, name);
|
||||
File tempFile = TemporaryAttachmentStore.getFileForWriting(context, name);
|
||||
writeAttachmentToStorage(tempFile);
|
||||
viewIntent = createViewIntentForFileUri(resolvedIntentInfo.getMimeType(), Uri.fromFile(tempFile));
|
||||
} catch (IOException e) {
|
||||
@ -310,8 +310,9 @@ public class AttachmentView extends FrameLayout implements OnClickListener, OnLo
|
||||
return new IntentAndResolvedActivitiesCount(contentUriIntent, contentUriActivitiesCount);
|
||||
}
|
||||
|
||||
Uri dummyFileUri = getDummyFileUri();
|
||||
Intent fileUriIntent = createViewIntentForFileUri(mimeType, dummyFileUri);
|
||||
File tempFile = TemporaryAttachmentStore.getFile(context, name);
|
||||
Uri tempFileUri = Uri.fromFile(tempFile);
|
||||
Intent fileUriIntent = createViewIntentForFileUri(mimeType, tempFileUri);
|
||||
int fileUriActivitiesCount = getResolvedIntentActivitiesCount(fileUriIntent);
|
||||
|
||||
if (fileUriActivitiesCount > 0) {
|
||||
@ -321,11 +322,6 @@ public class AttachmentView extends FrameLayout implements OnClickListener, OnLo
|
||||
return new IntentAndResolvedActivitiesCount(contentUriIntent, contentUriActivitiesCount);
|
||||
}
|
||||
|
||||
private Uri getDummyFileUri() {
|
||||
File dummyFile = new File(FileHelper.sanitizeFilename(name));
|
||||
return Uri.fromFile(dummyFile);
|
||||
}
|
||||
|
||||
private Intent createViewIntentForAttachmentProviderUri(String mimeType) {
|
||||
Uri uri = AttachmentProvider.getAttachmentUriForViewing(account, part.getAttachmentId(), mimeType, name);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user