Commit 56f74c09 authored by Sinan Sahin's avatar Sinan Sahin Committed by Commit Bot

[Context menu redesign] Add icon for videos

This CL updates the Revamped context menu to use a video camera icon
in the place of a video thumbnail since we can't display the real video
thumbnail, yet.

Bug: 990035
Change-Id: Ib035329ed8fb3d12a98b50176b32fc214a11c005
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1735518Reviewed-by: default avatarTheresa  <twellington@chromium.org>
Commit-Queue: Sinan Sahin <sinansahin@google.com>
Cr-Commit-Position: refs/heads/master@{#684370}
parent 4ece216f
...@@ -7,9 +7,12 @@ package org.chromium.chrome.browser.contextmenu; ...@@ -7,9 +7,12 @@ package org.chromium.chrome.browser.contextmenu;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.graphics.Matrix; import android.graphics.Matrix;
import android.graphics.Paint; import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.graphics.Shader; import android.graphics.Shader;
import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
...@@ -45,6 +48,8 @@ class RevampedContextMenuHeaderMediator implements View.OnClickListener { ...@@ -45,6 +48,8 @@ class RevampedContextMenuHeaderMediator implements View.OnClickListener {
iconBridge.getLargeIconForUrl(mPlainUrl, iconBridge.getLargeIconForUrl(mPlainUrl,
context.getResources().getDimensionPixelSize(R.dimen.default_favicon_min_size), context.getResources().getDimensionPixelSize(R.dimen.default_favicon_min_size),
this::onFaviconAvailable); this::onFaviconAvailable);
} else if (params.isVideo()) {
setVideoIcon();
} }
} }
...@@ -137,6 +142,20 @@ class RevampedContextMenuHeaderMediator implements View.OnClickListener { ...@@ -137,6 +142,20 @@ class RevampedContextMenuHeaderMediator implements View.OnClickListener {
return bitmap; return bitmap;
} }
private void setVideoIcon() {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inMutable = true;
Bitmap bitmap = BitmapFactory.decodeResource(
mContext.getResources(), R.drawable.ic_videocam_white_24dp, options);
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setColorFilter(new PorterDuffColorFilter(
ApiCompatibilityUtils.getColor(mContext.getResources(), R.color.default_icon_color),
PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, new Matrix(), paint);
setHeaderImage(bitmap, false);
}
private void setHeaderImage(Bitmap bitmap, boolean isThumbnail) { private void setHeaderImage(Bitmap bitmap, boolean isThumbnail) {
if (isThumbnail) { if (isThumbnail) {
mModel.set(RevampedContextMenuHeaderProperties.IMAGE, bitmap); mModel.set(RevampedContextMenuHeaderProperties.IMAGE, bitmap);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment