--- a/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/StreamRecyclerAdapter.java
+++ b/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/StreamRecyclerAdapter.java
@@ -323,20 +323,16 @@ public class StreamRecyclerAdapter exten
&& viewType != RowItemType.TOP_STORIES_ITEM.getViewType()) {
// Headers (containing topsites and/or the highlights title) do their own click handling as needed
return false;
}
return true;
}
- /**
- * @param snackbarAnchor See {@link ActivityStreamContextMenu#show(View, ActivityStreamTelemetry.Extras.Builder, ActivityStreamContextMenu.MenuMode, WebpageModel, boolean, HomePager.OnUrlOpenListener, HomePager.OnUrlOpenInBackgroundListener, int, int)}
- * for additional details.
- */
private void openContextMenu(final WebpageItemRow webpageItemRow, final int position, final View snackbarAnchor,
@NonNull final String interactionExtra) {
final WebpageRowModel model = (WebpageRowModel) recyclerViewModel.get(position);
final String sourceType;
final int actionPosition;
final ActivityStreamContextMenu.MenuMode menuMode;
@@ -351,54 +347,54 @@ public class StreamRecyclerAdapter exten
actionPosition = getTopStoriesIndexFromAdapterPosition(position);
menuMode = ActivityStreamContextMenu.MenuMode.TOPSTORY;
}
extras.set(ActivityStreamTelemetry.Contract.SOURCE_TYPE, sourceType)
.set(ActivityStreamTelemetry.Contract.ACTION_POSITION, actionPosition)
.set(ActivityStreamTelemetry.Contract.INTERACTION, interactionExtra);
- ActivityStreamContextMenu.show(snackbarAnchor,
- extras,
- menuMode,
- model,
+ openContextMenuInner(snackbarAnchor, extras, menuMode, model,
/* shouldOverrideWithImageProvider */ true, // we use image providers in HighlightItem.pageIconLayout.
- onUrlOpenListener, onUrlOpenInBackgroundListener,
webpageItemRow.getTileWidth(), webpageItemRow.getTileHeight());
+ }
- Telemetry.sendUIEvent(
- TelemetryContract.Event.SHOW,
- TelemetryContract.Method.CONTEXT_MENU,
- extras.build()
- );
+ private void openContextMenu(final TopSite topSite, final int absolutePosition, final View snackbarAnchor,
+ final int faviconWidth, final int faviconHeight) {
+ ActivityStreamTelemetry.Extras.Builder extras = ActivityStreamTelemetry.Extras.builder()
+ .forTopSite(topSite)
+ .set(ActivityStreamTelemetry.Contract.ACTION_POSITION, absolutePosition);
+
+ openContextMenuInner(snackbarAnchor, extras, ActivityStreamContextMenu.MenuMode.TOPSITE, topSite,
+ /* shouldOverrideWithImageProvider */ false, // we only use favicons for top sites.
+ faviconWidth, faviconHeight);
}
/**
* @param snackbarAnchor See {@link ActivityStreamContextMenu#show(View, ActivityStreamTelemetry.Extras.Builder, ActivityStreamContextMenu.MenuMode, WebpageModel, boolean, HomePager.OnUrlOpenListener, HomePager.OnUrlOpenInBackgroundListener, int, int)}
* for additional details.
*/
- private void openContextMenu(final TopSite topSite, final int absolutePosition, final View snackbarAnchor,
+ private void openContextMenuInner(final View snackbarAnchor, final ActivityStreamTelemetry.Extras.Builder extras,
+ final ActivityStreamContextMenu.MenuMode menuMode, final WebpageModel webpageModel,
+ final boolean shouldOverrideWithImageProvider,
final int faviconWidth, final int faviconHeight) {
- ActivityStreamTelemetry.Extras.Builder extras = ActivityStreamTelemetry.Extras.builder()
- .forTopSite(topSite)
- .set(ActivityStreamTelemetry.Contract.ACTION_POSITION, absolutePosition);
-
ActivityStreamContextMenu.show(snackbarAnchor,
extras,
- ActivityStreamContextMenu.MenuMode.TOPSITE,
- topSite,
- /* shouldOverrideWithImageProvider */ false, // we only use favicons for top sites.
+ menuMode,
+ webpageModel,
+ shouldOverrideWithImageProvider,
onUrlOpenListener, onUrlOpenInBackgroundListener,
faviconWidth, faviconHeight);
Telemetry.sendUIEvent(
TelemetryContract.Event.SHOW,
TelemetryContract.Method.CONTEXT_MENU,
extras.build()
);
+
}
@Override
public int getItemCount() {
return recyclerViewModel.size();
}
public void swapHighlights(List<Highlight> highlights) {