mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-23 18:02:15 -05:00
Create named class for loading and displaying attachment thumbnails
This commit is contained in:
parent
4299eb9771
commit
ca88f59c05
@ -152,7 +152,6 @@ public class AttachmentView extends FrameLayout implements OnClickListener, OnLo
|
|||||||
contentType = MimeUtility.getMimeTypeForViewing(part.getMimeType(), name);
|
contentType = MimeUtility.getMimeTypeForViewing(part.getMimeType(), name);
|
||||||
TextView attachmentName = (TextView) findViewById(R.id.attachment_name);
|
TextView attachmentName = (TextView) findViewById(R.id.attachment_name);
|
||||||
TextView attachmentInfo = (TextView) findViewById(R.id.attachment_info);
|
TextView attachmentInfo = (TextView) findViewById(R.id.attachment_info);
|
||||||
final ImageView attachmentIcon = (ImageView) findViewById(R.id.attachment_icon);
|
|
||||||
viewButton = (Button) findViewById(R.id.view);
|
viewButton = (Button) findViewById(R.id.view);
|
||||||
downloadButton = (Button) findViewById(R.id.download);
|
downloadButton = (Button) findViewById(R.id.download);
|
||||||
if ((!MimeUtility.mimeTypeMatches(contentType, K9.ACCEPTABLE_ATTACHMENT_VIEW_TYPES))
|
if ((!MimeUtility.mimeTypeMatches(contentType, K9.ACCEPTABLE_ATTACHMENT_VIEW_TYPES))
|
||||||
@ -174,20 +173,9 @@ public class AttachmentView extends FrameLayout implements OnClickListener, OnLo
|
|||||||
|
|
||||||
attachmentName.setText(name);
|
attachmentName.setText(name);
|
||||||
attachmentInfo.setText(SizeFormatter.formatSize(mContext, size));
|
attachmentInfo.setText(SizeFormatter.formatSize(mContext, size));
|
||||||
new AsyncTask<Void, Void, Bitmap>() {
|
|
||||||
protected Bitmap doInBackground(Void... asyncTaskArgs) {
|
|
||||||
Bitmap previewIcon = getPreviewIcon();
|
|
||||||
return previewIcon;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void onPostExecute(Bitmap previewIcon) {
|
ImageView thumbnail = (ImageView) findViewById(R.id.attachment_icon);
|
||||||
if (previewIcon != null) {
|
new LoadAndDisplayThumbnailAsyncTask(thumbnail).execute();
|
||||||
attachmentIcon.setImageBitmap(previewIcon);
|
|
||||||
} else {
|
|
||||||
attachmentIcon.setImageResource(R.drawable.attached_image_placeholder);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}.execute();
|
|
||||||
|
|
||||||
return firstClassAttachment;
|
return firstClassAttachment;
|
||||||
}
|
}
|
||||||
@ -216,24 +204,6 @@ public class AttachmentView extends FrameLayout implements OnClickListener, OnLo
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Bitmap getPreviewIcon() {
|
|
||||||
Bitmap icon = null;
|
|
||||||
try {
|
|
||||||
InputStream input = mContext.getContentResolver().openInputStream(
|
|
||||||
AttachmentProvider.getAttachmentThumbnailUri(mAccount,
|
|
||||||
part.getAttachmentId(),
|
|
||||||
62,
|
|
||||||
62));
|
|
||||||
icon = BitmapFactory.decodeStream(input);
|
|
||||||
input.close();
|
|
||||||
} catch (Exception e) {
|
|
||||||
/*
|
|
||||||
* We don't care what happened, we just return null for the preview icon.
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
return icon;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void onViewButtonClicked() {
|
private void onViewButtonClicked() {
|
||||||
if (mMessage != null) {
|
if (mMessage != null) {
|
||||||
mController.loadAttachment(mAccount, mMessage, part, new Object[] {false, this}, mListener);
|
mController.loadAttachment(mAccount, mMessage, part, new Object[] {false, this}, mListener);
|
||||||
@ -331,4 +301,41 @@ public class AttachmentView extends FrameLayout implements OnClickListener, OnLo
|
|||||||
public void setCallback(AttachmentFileDownloadCallback callback) {
|
public void setCallback(AttachmentFileDownloadCallback callback) {
|
||||||
this.callback = callback;
|
this.callback = callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private class LoadAndDisplayThumbnailAsyncTask extends AsyncTask<Void, Void, Bitmap> {
|
||||||
|
private final ImageView thumbnail;
|
||||||
|
|
||||||
|
public LoadAndDisplayThumbnailAsyncTask(ImageView thumbnail) {
|
||||||
|
this.thumbnail = thumbnail;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected Bitmap doInBackground(Void... asyncTaskArgs) {
|
||||||
|
return getPreviewIcon();
|
||||||
|
}
|
||||||
|
|
||||||
|
private Bitmap getPreviewIcon() {
|
||||||
|
Bitmap icon = null;
|
||||||
|
try {
|
||||||
|
InputStream input = mContext.getContentResolver().openInputStream(
|
||||||
|
AttachmentProvider.getAttachmentThumbnailUri(mAccount,
|
||||||
|
part.getAttachmentId(),
|
||||||
|
62,
|
||||||
|
62));
|
||||||
|
icon = BitmapFactory.decodeStream(input);
|
||||||
|
input.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
// We don't care what happened, we just return null for the preview icon.
|
||||||
|
}
|
||||||
|
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void onPostExecute(Bitmap previewIcon) {
|
||||||
|
if (previewIcon != null) {
|
||||||
|
thumbnail.setImageBitmap(previewIcon);
|
||||||
|
} else {
|
||||||
|
thumbnail.setImageResource(R.drawable.attached_image_placeholder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user