Bug 1323105 - Upgrade topsites, AS topsites, and AS contextmenu to VectorDrawable pin r=sebastian
MozReview-Commit-ID: Dpot8wrYFZI
--- a/mobile/android/base/java/org/mozilla/gecko/home/TopSitesGridItemView.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/TopSitesGridItemView.java
@@ -2,29 +2,31 @@
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.gecko.home;
import android.content.Context;
import android.graphics.Bitmap;
+import android.graphics.drawable.Drawable;
import android.support.v4.widget.TextViewCompat;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.ImageView.ScaleType;
import android.widget.RelativeLayout;
import android.widget.TextView;
import org.mozilla.gecko.R;
import org.mozilla.gecko.db.BrowserContract.TopSites;
import org.mozilla.gecko.icons.IconCallback;
import org.mozilla.gecko.icons.IconResponse;
import org.mozilla.gecko.icons.Icons;
+import org.mozilla.gecko.util.DrawableUtil;
import java.util.concurrent.Future;
/**
* A view that displays the thumbnail and the title/url for a top/pinned site.
* If the title/url is longer than the width of the view, they are faded out.
* If there is no valid url, a default string is shown at 50% opacity.
* This is denoted by the empty state.
@@ -272,18 +274,23 @@ public class TopSitesGridItemView extend
private boolean updateType(int type) {
if (mType == type) {
return false;
}
mType = type;
refreshDrawableState();
- int pinResourceId = (type == TopSites.TYPE_PINNED ? R.drawable.pin : 0);
- TextViewCompat.setCompoundDrawablesRelativeWithIntrinsicBounds(mTitleView, pinResourceId, 0, 0, 0);
+ final Drawable pinDrawable;
+ if (type == TopSites.TYPE_PINNED) {
+ pinDrawable = DrawableUtil.tintDrawable(getContext(), R.drawable.as_pin, getResources().getColor(R.color.placeholder_grey));
+ } else {
+ pinDrawable = null;
+ }
+ TextViewCompat.setCompoundDrawablesRelativeWithIntrinsicBounds(mTitleView, pinDrawable, null, null, null);
return true;
}
/**
* Update the title shown by this view. If both title and url
* are empty, mark the state as STATE_EMPTY and show a default text.
*/
--- a/mobile/android/base/java/org/mozilla/gecko/home/activitystream/topsites/TopSitesCard.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/activitystream/topsites/TopSitesCard.java
@@ -1,15 +1,16 @@
/* -*- Mode: Java; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.gecko.home.activitystream.topsites;
import android.graphics.Color;
+import android.graphics.drawable.Drawable;
import android.support.v4.widget.TextViewCompat;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import org.mozilla.gecko.R;
@@ -98,18 +99,24 @@ import java.util.concurrent.Future;
}
ongoingIconLoad = Icons.with(itemView.getContext())
.pageUrl(topSite.getUrl())
.skipNetwork()
.build()
.execute(this);
- final int pinResourceId = (topSite.isPinned() ? R.drawable.pin : 0);
- TextViewCompat.setCompoundDrawablesRelativeWithIntrinsicBounds(title, pinResourceId, 0, 0, 0);
+ final Drawable pinDrawable;
+ if (topSite.isPinned()) {
+ pinDrawable = DrawableUtil.tintDrawable(itemView.getContext(), R.drawable.as_pin, itemView.getResources().getColor(R.color.placeholder_grey));
+ } else {
+ pinDrawable = null;
+ }
+ TextViewCompat.setCompoundDrawablesRelativeWithIntrinsicBounds(title, pinDrawable, null, null, null);
+
}
@Override
public void onIconResponse(IconResponse response) {
faviconView.updateImage(response);
final int tintColor = !response.hasColor() || response.getColor() == Color.WHITE ? Color.LTGRAY : Color.WHITE;
--- a/mobile/android/base/resources/menu/activitystream_contextmenu.xml
+++ b/mobile/android/base/resources/menu/activitystream_contextmenu.xml
@@ -35,16 +35,16 @@
android:icon="@drawable/as_share"
android:title="@string/share"/>
<item
android:id="@+id/copy_url"
android:icon="@drawable/as_copy"
android:title="@string/contextmenu_copyurl"/>
<item
android:id="@+id/pin"
- android:icon="@drawable/pin"
+ android:icon="@drawable/as_pin"
android:title="@string/contextmenu_top_sites_pin"/>
<item
android:id="@+id/add_homescreen"
android:icon="@drawable/as_home"
android:title="@string/contextmenu_add_to_launcher"/>
</group>
</menu>
\ No newline at end of file