Bug 1301718: Use StreamPageIconLayout in bottom sheet context menu. r=liuche draft
authorMichael Comella <michael.l.comella@gmail.com>
Fri, 04 Aug 2017 18:02:13 -0700
changeset 641049 4c29efa6c3efb42a621397bac352f0eb1ea95c38
parent 641048 179d286e0cefd2e8db3a070c8279763db3d01e3c
child 724702 e05f8acbd1f0271d2df9ab9dea808872c63581ca
push id72414
push usermichael.l.comella@gmail.com
push dateSat, 05 Aug 2017 01:09:06 +0000
reviewersliuche
bugs1301718
milestone57.0a1
Bug 1301718: Use StreamPageIconLayout in bottom sheet context menu. r=liuche MozReview-Commit-ID: IkwnBYd9tAa
mobile/android/app/src/main/res/layout/activity_stream_contextmenu_bottomsheet.xml
mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/menu/BottomSheetContextMenu.java
--- a/mobile/android/app/src/main/res/layout/activity_stream_contextmenu_bottomsheet.xml
+++ b/mobile/android/app/src/main/res/layout/activity_stream_contextmenu_bottomsheet.xml
@@ -9,22 +9,21 @@
     android:orientation="vertical">
 
     <RelativeLayout
         android:id="@+id/info_wrapper"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:padding="10dp">
 
-        <org.mozilla.gecko.widget.FaviconView
+        <org.mozilla.gecko.activitystream.homepanel.stream.StreamPageIconLayout
             android:id="@+id/icon"
             android:layout_width="@dimen/favicon_bg"
             android:layout_height="@dimen/favicon_bg"
             android:layout_gravity="center"
-            gecko:enableRoundCorners="false"
             tools:background="@drawable/favicon_globe"/>
 
         <TextView
             android:id="@+id/url"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_toEndOf="@id/icon"
             android:layout_toRightOf="@id/icon"
--- a/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/menu/BottomSheetContextMenu.java
+++ b/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/menu/BottomSheetContextMenu.java
@@ -15,23 +15,20 @@ import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.TextView;
 import org.mozilla.gecko.R;
 import org.mozilla.gecko.activitystream.ActivityStreamTelemetry;
 import org.mozilla.gecko.activitystream.homepanel.model.Item;
+import org.mozilla.gecko.activitystream.homepanel.stream.StreamPageIconLayout;
 import org.mozilla.gecko.home.HomePager;
-import org.mozilla.gecko.icons.IconCallback;
-import org.mozilla.gecko.icons.IconResponse;
-import org.mozilla.gecko.icons.Icons;
 import org.mozilla.gecko.util.StringUtils;
 import org.mozilla.gecko.util.URIUtils;
-import org.mozilla.gecko.widget.FaviconView;
 
 import java.lang.ref.WeakReference;
 import java.net.URI;
 
 /* package-private */ class BottomSheetContextMenu
         extends ActivityStreamContextMenu {
 
 
@@ -71,32 +68,22 @@ import java.net.URI;
         ((TextView) content.findViewById(R.id.title)).setText(sheetPageTitle);
 
         final TextView pageDomainView = (TextView) content.findViewById(R.id.url);
         final UpdatePageDomainAsyncTask updateDomainAsyncTask = new UpdatePageDomainAsyncTask(context, pageDomainView,
                 item.getUrl());
         updateDomainAsyncTask.execute();
 
         // Copy layouted parameters from the Highlights / TopSites items to ensure consistency
-        final FaviconView faviconView = (FaviconView) content.findViewById(R.id.icon);
-        ViewGroup.LayoutParams layoutParams = faviconView.getLayoutParams();
+        final StreamPageIconLayout pageIconLayout = (StreamPageIconLayout) content.findViewById(R.id.icon);
+        ViewGroup.LayoutParams layoutParams = pageIconLayout.getLayoutParams();
         layoutParams.width = tilesWidth;
         layoutParams.height = tilesHeight;
-        faviconView.setLayoutParams(layoutParams);
-
-        Icons.with(context)
-                .pageUrl(item.getUrl())
-                .skipNetwork()
-                .build()
-                .execute(new IconCallback() {
-                    @Override
-                    public void onIconResponse(IconResponse response) {
-                        faviconView.updateImage(response);
-                    }
-                });
+        pageIconLayout.setLayoutParams(layoutParams);
+        pageIconLayout.updateIcon(item.getUrl(), item.getMetadataSlow().getImageUrl());
 
         navigationView = (NavigationView) content.findViewById(R.id.menu);
         navigationView.setNavigationItemSelectedListener(this);
 
         super.postInit();
     }
 
     @Override