Search in sources :

Example 1 with AsyncThumbnailDrawable

use of com.owncloud.android.datamodel.ThumbnailsCacheManager.AsyncThumbnailDrawable in project android by owncloud.

the class ReceiveExternalFilesAdapter method getView.

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View vi = convertView;
    if (convertView == null) {
        vi = mInflater.inflate(R.layout.uploader_list_item_layout, parent, false);
    }
    OCFile file = mFiles.get(position);
    TextView filename = (TextView) vi.findViewById(R.id.filename);
    filename.setText(file.getFileName());
    ImageView fileIcon = (ImageView) vi.findViewById(R.id.thumbnail);
    fileIcon.setTag(file.getFileId());
    TextView lastModV = (TextView) vi.findViewById(R.id.last_mod);
    lastModV.setText(DisplayUtils.getRelativeTimestamp(mContext, file.getModificationTimestamp()));
    TextView fileSizeV = (TextView) vi.findViewById(R.id.file_size);
    TextView fileSizeSeparatorV = (TextView) vi.findViewById(R.id.file_separator);
    fileSizeV.setVisibility(View.VISIBLE);
    fileSizeSeparatorV.setVisibility(View.VISIBLE);
    fileSizeV.setText(DisplayUtils.bytesToHumanReadable(file.getFileLength(), mContext));
    // get Thumbnail if file is image
    if (file.isImage() && file.getRemoteId() != null) {
        // Thumbnail in Cache?
        Bitmap thumbnail = ThumbnailsCacheManager.getBitmapFromDiskCache(String.valueOf(file.getRemoteId()));
        if (thumbnail != null && !file.needsUpdateThumbnail()) {
            fileIcon.setImageBitmap(thumbnail);
        } else {
            // generate new Thumbnail
            if (ThumbnailsCacheManager.cancelPotentialThumbnailWork(file, fileIcon)) {
                final ThumbnailsCacheManager.ThumbnailGenerationTask task = new ThumbnailsCacheManager.ThumbnailGenerationTask(fileIcon, mStorageManager, mAccount);
                if (thumbnail == null) {
                    thumbnail = ThumbnailsCacheManager.mDefaultImg;
                }
                final AsyncThumbnailDrawable asyncDrawable = new AsyncThumbnailDrawable(mContext.getResources(), thumbnail, task);
                fileIcon.setImageDrawable(asyncDrawable);
                task.execute(file);
            }
        }
    } else {
        fileIcon.setImageResource(MimetypeIconUtil.getFileTypeIconId(file.getMimetype(), file.getFileName()));
    }
    return vi;
}
Also used : OCFile(com.owncloud.android.datamodel.OCFile) Bitmap(android.graphics.Bitmap) ThumbnailsCacheManager(com.owncloud.android.datamodel.ThumbnailsCacheManager) AsyncThumbnailDrawable(com.owncloud.android.datamodel.ThumbnailsCacheManager.AsyncThumbnailDrawable) TextView(android.widget.TextView) ImageView(android.widget.ImageView) ImageView(android.widget.ImageView) TextView(android.widget.TextView) View(android.view.View)

Aggregations

Bitmap (android.graphics.Bitmap)1 View (android.view.View)1 ImageView (android.widget.ImageView)1 TextView (android.widget.TextView)1 OCFile (com.owncloud.android.datamodel.OCFile)1 ThumbnailsCacheManager (com.owncloud.android.datamodel.ThumbnailsCacheManager)1 AsyncThumbnailDrawable (com.owncloud.android.datamodel.ThumbnailsCacheManager.AsyncThumbnailDrawable)1