Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1139)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java

Issue 2721043002: [NTP::Downloads] Scale up type based icons. (Closed)
Patch Set: clean rebase. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}

Powered by Google App Engine
This is Rietveld 408576698