Merge "Display correct icons in grid view." into nyc-dev

This commit is contained in:
Tomasz Mikolajewski
2016-02-16 08:04:36 +00:00
committed by Android (Google) Code Review
3 changed files with 14 additions and 8 deletions

View File

@@ -100,10 +100,9 @@ final class GridDocumentHolder extends DocumentHolder {
mIconThumb.animate().cancel();
mIconThumb.setAlpha(0f);
mIconMimeSm.setImageDrawable(IconUtils.loadMimeIcon(mContext, docMimeType));
final Uri uri = DocumentsContract.buildDocumentUri(docAuthority, docId);
mIconHelper.loadThumbnail(uri, docMimeType, docFlags, docIcon, mIconThumb, mIconMimeLg);
mIconHelper.loadThumbnail(uri, docMimeType, docFlags, docIcon, mIconThumb, mIconMimeLg,
mIconMimeSm);
if (mHideTitles) {
mTitle.setVisibility(View.GONE);

View File

@@ -32,6 +32,7 @@ import android.os.CancellationSignal;
import android.os.OperationCanceledException;
import android.provider.DocumentsContract;
import android.provider.DocumentsContract.Document;
import android.support.annotation.Nullable;
import android.util.Log;
import android.widget.ImageView;
@@ -199,11 +200,12 @@ public class IconHelper {
* @param docFlags Flags for the file being represented.
* @param docIcon Custom icon (if any) for the file being requested.
* @param iconThumb The itemview's thumbnail icon.
* @param iconMime The itemview's mime icon.
* @param iconMime The itemview's mime icon. Hidden when iconThumb is shown.
* @param subIconMime The second itemview's mime icon. Always visible.
* @return
*/
public void loadThumbnail(Uri uri, String mimeType, int docFlags, int docIcon,
ImageView iconThumb, ImageView iconMime) {
ImageView iconThumb, ImageView iconMime, @Nullable ImageView subIconMime) {
boolean cacheHit = false;
final String docAuthority = uri.getAuthority();
@@ -225,6 +227,12 @@ public class IconHelper {
}
}
final Drawable icon = getDocumentIcon(mContext, docAuthority,
DocumentsContract.getDocumentId(uri), mimeType, docIcon);
if (subIconMime != null) {
subIconMime.setImageDrawable(icon);
}
if (cacheHit) {
iconMime.setImageDrawable(null);
iconMime.setAlpha(0f);
@@ -232,8 +240,7 @@ public class IconHelper {
} else {
// Add a mime icon if the thumbnail is being loaded in the background.
iconThumb.setImageDrawable(null);
iconMime.setImageDrawable(getDocumentIcon(
mContext, docAuthority, DocumentsContract.getDocumentId(uri), mimeType, docIcon));
iconMime.setImageDrawable(icon);
iconMime.setAlpha(1f);
iconThumb.setAlpha(0f);
}

View File

@@ -101,7 +101,7 @@ final class ListDocumentHolder extends DocumentHolder {
mIconThumb.setAlpha(0f);
final Uri uri = DocumentsContract.buildDocumentUri(docAuthority, docId);
mIconHelper.loadThumbnail(uri, docMimeType, docFlags, docIcon, mIconThumb, mIconMime);
mIconHelper.loadThumbnail(uri, docMimeType, docFlags, docIcon, mIconThumb, mIconMime, null);
mTitle.setText(docDisplayName);
mTitle.setVisibility(View.VISIBLE);