Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java |
| index 11e61a3ffcca9aeb17cfc7c261c74546ef125b9a..0d63f486f853c8a573712ce1796345537f507ec9 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java |
| @@ -8,6 +8,7 @@ import android.annotation.SuppressLint; |
| import android.content.res.ColorStateList; |
| import android.content.res.Resources; |
| import android.graphics.Bitmap; |
| +import android.graphics.Matrix; |
| import android.graphics.drawable.BitmapDrawable; |
| import android.graphics.drawable.Drawable; |
| import android.graphics.drawable.TransitionDrawable; |
| @@ -292,9 +293,29 @@ public class SnippetArticleViewHolder extends CardViewHolder implements Impressi |
| } |
| private void setThumbnailFromFileType(int fileType) { |
| - mThumbnailView.setScaleType(ImageView.ScaleType.CENTER); |
| + mThumbnailView.setScaleType(ImageView.ScaleType.MATRIX); |
| + |
| + final int actualIconSizeDp = 36; |
| + final int desiredIconSizeDp = 32; |
| + Drawable icon = ApiCompatibilityUtils.getDrawable(mThumbnailView.getResources(), |
| + DownloadUtils.getIconResId(fileType, actualIconSizeDp)); |
| + |
| + int drawableWidth = icon.getIntrinsicWidth(); |
| + int drawableHeight = icon.getIntrinsicHeight(); |
| + |
| + int viewWidth = mThumbnailView.getResources().getDimensionPixelSize( |
|
dgn
2017/02/28 18:30:16
nit: just name it viewSize and skip creating viewH
vitaliii
2017/03/01 09:08:30
Done.
|
| + R.dimen.snippets_thumbnail_size); |
| + int viewHeight = viewWidth; |
| + |
| + Matrix matrix = new Matrix(); |
| + float scale = ((float) desiredIconSizeDp) / actualIconSizeDp; |
| + matrix.postScale(scale, scale); |
| + matrix.postTranslate(viewWidth / 2f - drawableWidth * scale / 2f, |
| + viewHeight / 2f - drawableHeight * scale / 2f); |
|
gone
2017/02/28 18:46:25
Why's this matrix necessary? Can't you just use S
vitaliii
2017/03/01 09:08:30
Done. No matrix anymore.
It was used for scaling,
|
| + |
| + mThumbnailView.setImageMatrix(matrix); |
| mThumbnailView.setBackgroundColor(mIconBackgroundColor); |
| - mThumbnailView.setImageResource(DownloadUtils.getIconResId(fileType)); |
| + mThumbnailView.setImageDrawable(icon); |
| mThumbnailView.setTint(mIconForegroundColorList); |
| } |