Bug 1242629 - Use our color palette for top sites "add a site" tiles r=sebastian

add flag for default border

MozReview-Commit-ID: 3Fc2dS6bphH

--HG--
extra : rebase_source : 887d2e139f03cfe02248fad10e2493037c8b2e51
This commit is contained in:
friedger 2017-06-14 16:07:17 +02:00
Родитель 29bc27bfad
Коммит f4ea8f6927
2 изменённых файлов: 15 добавлений и 5 удалений

Просмотреть файл

@ -8,6 +8,8 @@ package org.mozilla.gecko.home;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.support.annotation.DrawableRes;
import android.support.v4.content.ContextCompat;
import android.support.v4.widget.TextViewCompat;
import android.text.TextUtils;
import android.util.AttributeSet;
@ -143,8 +145,7 @@ public class TopSitesGridItemView extends RelativeLayout implements IconCallback
updateTitleView();
cancelIconLoading();
ImageLoader.with(getContext()).cancelRequest(mThumbnailView);
displayThumbnail(R.drawable.top_site_add);
displayThumbnail(R.drawable.top_site_add, ContextCompat.getColor(getContext(), R.color.about_page_header_grey));
}
public void markAsDirty() {
@ -222,11 +223,13 @@ public class TopSitesGridItemView extends RelativeLayout implements IconCallback
* Display the thumbnail from a resource.
*
* @param resId Resource ID of the drawable to show.
* @param bgColor background color
*/
public void displayThumbnail(int resId) {
public void displayThumbnail(@DrawableRes int resId, int bgColor) {
mThumbnailView.setScaleType(SCALE_TYPE_RESOURCE);
mThumbnailView.setImageResource(resId);
mThumbnailView.setBackgroundColor(0x0);
mThumbnailView.setBackgroundColor(bgColor);
mThumbnailView.setDrawDefaultBorder(true);
mThumbnailSet = false;
}
@ -248,6 +251,7 @@ public class TopSitesGridItemView extends RelativeLayout implements IconCallback
mThumbnailView.setScaleType(SCALE_TYPE_THUMBNAIL);
mThumbnailView.setImageBitmap(thumbnail, true);
mThumbnailView.setBackgroundDrawable(null);
mThumbnailView.setDrawDefaultBorder(true);
}
/**
@ -259,6 +263,7 @@ public class TopSitesGridItemView extends RelativeLayout implements IconCallback
public void displayThumbnail(final String imageUrl, final int bgColor) {
mThumbnailView.setScaleType(SCALE_TYPE_URL);
mThumbnailView.setBackgroundColor(bgColor);
mThumbnailView.setDrawDefaultBorder(false);
mThumbnailSet = true;
ImageLoader.with(getContext())

Просмотреть файл

@ -35,6 +35,7 @@ public class TopSitesThumbnailView extends CropImageView {
// Paint for drawing the border.
private final Paint mBorderPaint;
private boolean mDrawBorder;
public TopSitesThumbnailView(Context context) {
this(context, null);
@ -69,7 +70,7 @@ public class TopSitesThumbnailView extends CropImageView {
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (getBackground() == null) {
if (mDrawBorder) {
mBorderPaint.setStrokeWidth(mStrokeWidth);
canvas.drawRect(0, 0, getWidth(), getHeight(), mBorderPaint);
}
@ -99,4 +100,8 @@ public class TopSitesThumbnailView extends CropImageView {
drawable.setColorFilter(color, Mode.SRC_ATOP);
setBackgroundDrawable(drawable);
}
public void setDrawDefaultBorder(boolean drawDefaultBorder) {
this.mDrawBorder = drawDefaultBorder;
}
}