diff options
3 files changed, 14 insertions, 8 deletions
diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/GridDocumentHolder.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/GridDocumentHolder.java index c4ac0f515e0f..055adc6a2fb1 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/GridDocumentHolder.java +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/GridDocumentHolder.java @@ -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); diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/IconHelper.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/IconHelper.java index 53ed62e540e4..ff0f4b10b060 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/IconHelper.java +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/IconHelper.java @@ -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); } diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/ListDocumentHolder.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/ListDocumentHolder.java index 00ea27b8b304..8c3b53c75da6 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/ListDocumentHolder.java +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/ListDocumentHolder.java @@ -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); |