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

Unified Diff: chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkSalientImageView.java

Issue 1202713002: Replace enhanced bookmarks salient images with favicons (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Line wraps in EnhanacedBookmarkItem.java Created 5 years, 6 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_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkSalientImageView.java
diff --git a/chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkSalientImageView.java b/chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkSalientImageView.java
deleted file mode 100644
index e684e2902162339350bc6156bbb8d70c78eda4e0..0000000000000000000000000000000000000000
--- a/chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkSalientImageView.java
+++ /dev/null
@@ -1,180 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.chrome.browser.enhancedbookmarks;
-
-import android.animation.AnimatorListenerAdapter;
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.BitmapShader;
-import android.graphics.ColorFilter;
-import android.graphics.Matrix;
-import android.graphics.Paint;
-import android.graphics.PixelFormat;
-import android.graphics.Rect;
-import android.graphics.Shader;
-import android.graphics.drawable.Drawable;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-
-import org.chromium.chrome.browser.enhanced_bookmarks.EnhancedBookmarksBridge.SalientImageCallback;
-import org.chromium.chrome.browser.enhanced_bookmarks.EnhancedBookmarksModel;
-import org.chromium.chrome.browser.widget.CustomShapeDrawable.CircularDrawable;
-import org.chromium.ui.interpolators.BakedBezierInterpolator;
-
-/**
- * Container view for image of a bookmark. If there is no appropriate image stored in server, we
- * show pure color as placeholder; otherwise, real image will be loaded asynchronously with animated
- * transition.
- * <p>
- * Note this image is actually a FrameLayout that contains images. Therefore some xml attributes for
- * ImageView are not applicable to this class.
- */
-public class EnhancedBookmarkSalientImageView extends FrameLayout {
-
- /**
- * Base class for different kinds of drawables to be used to define shapes of salient images.
- */
- public abstract static class BaseSalientDrawable extends Drawable {
- protected Paint mPaint = new Paint();
- private int mBitmapWidth;
- private int mBitmapHeight;
- private boolean mShouldScale = true;
-
- @Override
- protected void onBoundsChange(Rect bounds) {
- // Subclasses must override this function. It should first set up correct boundary of
- // mRect and then call super.onBoundsChange().
- if (mBitmapWidth > 0 && mBitmapHeight > 0) {
- BitmapShader shader = (BitmapShader) mPaint.getShader();
-
- float scale = 1.0f;
- if (mShouldScale) {
- scale = Math.max((float) bounds.width() / mBitmapWidth,
- (float) bounds.height() / mBitmapHeight);
- }
- float dx = (bounds.width() - mBitmapWidth * scale) * 0.5f + bounds.left;
- float dy = (bounds.height() - mBitmapHeight * scale) * 0.5f + bounds.top;
-
- Matrix matrix = new Matrix();
- matrix.setScale(scale, scale);
- matrix.postTranslate(dx, dy);
- shader.setLocalMatrix(matrix);
- }
- }
-
- protected BaseSalientDrawable(Bitmap bitmap) {
- mPaint.setAntiAlias(true);
- mPaint.setShader(
- new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP));
- mBitmapWidth = bitmap.getWidth();
- mBitmapHeight = bitmap.getHeight();
- }
-
- protected BaseSalientDrawable(int color) {
- mPaint.setAntiAlias(true);
- mPaint.setColor(color);
- mBitmapWidth = 0;
- mBitmapHeight = 0;
- }
-
- /**
- * @param shouldScale True to let bitmap be scaled to match the size of
- * the drawable. False to let it maintain its original size,
- * regardless of the size of the drawable.
- */
- public void shouldScale(boolean shouldScale) {
- mShouldScale = shouldScale;
- }
-
- @Override
- public int getOpacity() {
- return PixelFormat.TRANSLUCENT;
- }
-
- @Override
- public void setAlpha(int alpha) {
- mPaint.setAlpha(alpha);
- }
-
- @Override
- public void setColorFilter(ColorFilter cf) {
- mPaint.setColorFilter(cf);
- }
- }
-
- private static final int SALIENT_IMAGE_ANIMATION_MS = 300;
-
- private final ImageView mSolidColorImage;
- private final ImageView mSalientImage;
- private SalientImageCallback mSalientImageCallback;
-
- /**
- * Create instance of a image view container.
- */
- public EnhancedBookmarkSalientImageView(Context context, AttributeSet attrs) {
- super(context, attrs);
- mSolidColorImage = new ImageView(context, attrs);
- mSalientImage = new ImageView(context, attrs);
- mSalientImage.setVisibility(View.INVISIBLE);
- addView(mSalientImage);
- addView(mSolidColorImage);
- }
-
- /**
- * Load the image for a specific URL using a given bookmark model. If no image is found or is
- * still loading, a place holder with a given color is shown.
- * @param model Enhanced bookmark model from which to get image.
- * @param url Url for representing bookmark.
- * @param color Color of place holder.
- */
- public void load(EnhancedBookmarksModel model, String url, int color) {
- // Reset conditions.
- clearAnimation();
- mSolidColorImage.setImageDrawable(null);
- mSalientImage.setImageDrawable(null);
- mSolidColorImage.setVisibility(View.VISIBLE);
- mSalientImage.setVisibility(View.INVISIBLE);
-
- mSalientImageCallback = new SalientImageCallback() {
- @Override
- public void onSalientImageReady(Bitmap image, String imageUrl) {
- if (image == null) return;
- // Since we are reusing this view in GridView, it is possible that after the view is
- // reset to represent another bookmark, this method is finally called from native
- // side. Thus check if this callback is for current request.
- if (this != mSalientImageCallback) return;
-
- mSalientImage.setVisibility(View.VISIBLE);
- if (mSolidColorImage.getDrawable() != null) {
- mSolidColorImage.animate().alpha(0.0f).setDuration(SALIENT_IMAGE_ANIMATION_MS)
- .setInterpolator(BakedBezierInterpolator.FADE_OUT_CURVE)
- .setListener(new AnimatorListenerAdapter() {
- @Override
- public void onAnimationEnd(android.animation.Animator animation) {
- mSolidColorImage.setVisibility(View.INVISIBLE);
- mSolidColorImage.setAlpha(1.0f);
- }
- });
- mSalientImage.setImageDrawable(new CircularDrawable(image));
- mSalientImage.setAlpha(0.0f);
- mSalientImage.animate().alpha(1.0f).setDuration(SALIENT_IMAGE_ANIMATION_MS)
- .setInterpolator(BakedBezierInterpolator.FADE_IN_CURVE);
- } else {
- mSalientImage.setImageDrawable(new CircularDrawable(image));
- mSolidColorImage.setVisibility(View.INVISIBLE);
- }
- }
- };
-
- boolean isSalientImageLoaded = model.salientImageForUrl(url, mSalientImageCallback);
-
- // If there is no image or the image is still loading asynchronously, show pure color.
- if (!isSalientImageLoaded) {
- mSolidColorImage.setImageDrawable(new CircularDrawable(color));
- }
- }
-}

Powered by Google App Engine
This is Rietveld 408576698