Bug 1410221: Rm unnecessary context param from ActivityStreamContextMenu.show. r=liuche
MozReview-Commit-ID: LvPCaFbwGEV
--- a/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/StreamRecyclerAdapter.java
+++ b/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/StreamRecyclerAdapter.java
@@ -324,17 +324,17 @@ public class StreamRecyclerAdapter exten
// 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(Context, View, ActivityStreamTelemetry.Extras.Builder, ActivityStreamContextMenu.MenuMode, WebpageModel, boolean, HomePager.OnUrlOpenListener, HomePager.OnUrlOpenInBackgroundListener, int, int)}
+ * @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;
@@ -351,44 +351,42 @@ 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(webpageItemRow.itemView.getContext(),
- snackbarAnchor,
+ ActivityStreamContextMenu.show(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()
);
}
/**
- * @param snackbarAnchor See {@link ActivityStreamContextMenu#show(Context, View, ActivityStreamTelemetry.Extras.Builder, ActivityStreamContextMenu.MenuMode, WebpageModel, boolean, HomePager.OnUrlOpenListener, HomePager.OnUrlOpenInBackgroundListener, int, int)}
+ * @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,
final int faviconWidth, final int faviconHeight) {
ActivityStreamTelemetry.Extras.Builder extras = ActivityStreamTelemetry.Extras.builder()
.forTopSite(topSite)
.set(ActivityStreamTelemetry.Contract.ACTION_POSITION, absolutePosition);
- ActivityStreamContextMenu.show(snackbarAnchor.getContext(),
- snackbarAnchor,
+ ActivityStreamContextMenu.show(snackbarAnchor,
extras,
ActivityStreamContextMenu.MenuMode.TOPSITE,
topSite,
/* shouldOverrideWithImageProvider */ false, // we only use favicons for top sites.
onUrlOpenListener, onUrlOpenInBackgroundListener,
faviconWidth, faviconHeight);
Telemetry.sendUIEvent(
--- a/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/menu/ActivityStreamContextMenu.java
+++ b/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/menu/ActivityStreamContextMenu.java
@@ -56,24 +56,23 @@ public abstract class ActivityStreamCont
public abstract MenuItem getItemByID(int id);
public abstract void show();
public abstract void dismiss();
private final MenuMode mode;
- /* package-private */ ActivityStreamContextMenu(final Context context,
- final View snackbarAnchor,
+ /* package-private */ ActivityStreamContextMenu(final View snackbarAnchor,
final ActivityStreamTelemetry.Extras.Builder telemetryExtraBuilder,
final MenuMode mode,
final WebpageModel item,
HomePager.OnUrlOpenListener onUrlOpenListener,
HomePager.OnUrlOpenInBackgroundListener onUrlOpenInBackgroundListener) {
- this.context = context;
+ this.context = snackbarAnchor.getContext();
this.snackbarAnchor = snackbarAnchor;
this.item = item;
this.telemetryExtraBuilder = telemetryExtraBuilder;
this.mode = mode;
this.onUrlOpenListener = onUrlOpenListener;
this.onUrlOpenInBackgroundListener = onUrlOpenInBackgroundListener;
@@ -342,34 +341,31 @@ public abstract class ActivityStreamCont
/**
* @param anchor A view to anchor the Snackbar on. Don't use items in the recyclerView because these views can be
* removed from the view hierarchy when the recyclerView scrolls.
* @param shouldOverrideIconWithImageProvider true if the favicon should be replaced with an image provider,
* if applicable, false otherwise.
*/
@RobocopTarget
- public static ActivityStreamContextMenu show(Context context,
- View anchor, ActivityStreamTelemetry.Extras.Builder telemetryExtraBuilder,
+ public static ActivityStreamContextMenu show(View anchor, ActivityStreamTelemetry.Extras.Builder telemetryExtraBuilder,
final MenuMode menuMode, final WebpageModel item,
final boolean shouldOverrideIconWithImageProvider,
HomePager.OnUrlOpenListener onUrlOpenListener,
HomePager.OnUrlOpenInBackgroundListener onUrlOpenInBackgroundListener,
final int tilesWidth, final int tilesHeight) {
final ActivityStreamContextMenu menu;
if (!HardwareUtils.isTablet()) {
- menu = new BottomSheetContextMenu(context,
- anchor,
+ menu = new BottomSheetContextMenu(anchor,
telemetryExtraBuilder, menuMode,
item, shouldOverrideIconWithImageProvider, onUrlOpenListener, onUrlOpenInBackgroundListener,
tilesWidth, tilesHeight);
} else {
- menu = new PopupContextMenu(context,
- anchor,
+ menu = new PopupContextMenu(anchor,
telemetryExtraBuilder, menuMode,
item, onUrlOpenListener, onUrlOpenInBackgroundListener);
}
menu.show();
return menu;
}
}
--- 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
@@ -41,33 +41,32 @@ import java.net.URISyntaxException;
private final NavigationView navigationView;
private final View content;
private final View activityView;
/** A reference, that represents the page domain, that allows a return value from an async task. */
private String[] pageDomainTextReference = new String[] { "" };
- public BottomSheetContextMenu(final Context context,
- final View anchor,
+ public BottomSheetContextMenu(final View anchor,
final ActivityStreamTelemetry.Extras.Builder telemetryExtraBuilder,
final MenuMode mode,
final WebpageModel item,
final boolean shouldOverrideIconWithImageProvider,
HomePager.OnUrlOpenListener onUrlOpenListener,
HomePager.OnUrlOpenInBackgroundListener onUrlOpenInBackgroundListener,
final int tilesWidth, final int tilesHeight) {
- super(context,
- anchor,
+ super(anchor,
telemetryExtraBuilder,
mode,
item,
onUrlOpenListener,
onUrlOpenInBackgroundListener);
+ final Context context = anchor.getContext();
// The View encompassing the activity area
this.activityView = ((Activity) context).findViewById(android.R.id.content);
bottomSheetDialog = new BottomSheetDialog(context);
final LayoutInflater inflater = LayoutInflater.from(context);
this.content = inflater.inflate(R.layout.activity_stream_contextmenu_bottomsheet, (ViewGroup) activityView, false);
--- a/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/menu/PopupContextMenu.java
+++ b/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/menu/PopupContextMenu.java
@@ -23,30 +23,29 @@ import org.mozilla.gecko.activitystream.
/* package-private */ class PopupContextMenu
extends ActivityStreamContextMenu {
private final PopupWindow popupWindow;
private final NavigationView navigationView;
private final View anchor;
- public PopupContextMenu(final Context context,
- View anchor,
+ public PopupContextMenu(final View anchor,
final ActivityStreamTelemetry.Extras.Builder telemetryExtraBuilder,
final MenuMode mode,
final WebpageModel item,
HomePager.OnUrlOpenListener onUrlOpenListener,
HomePager.OnUrlOpenInBackgroundListener onUrlOpenInBackgroundListener) {
- super(context,
- anchor,
+ super(anchor,
telemetryExtraBuilder,
mode,
item,
onUrlOpenListener,
onUrlOpenInBackgroundListener);
+ final Context context = anchor.getContext();
this.anchor = anchor;
final LayoutInflater inflater = LayoutInflater.from(context);
View card = inflater.inflate(R.layout.activity_stream_contextmenu_popupmenu, null);
navigationView = (NavigationView) card.findViewById(R.id.menu);
navigationView.setNavigationItemSelectedListener(this);
--- a/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/testActivityStreamContextMenu.java
+++ b/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/testActivityStreamContextMenu.java
@@ -226,17 +226,17 @@ public class testActivityStreamContextMe
/**
* Test that the menu shows the expected menu items for a given URL, and that these items have
* the correct state.
*/
private void testMenuForItem(WebpageModel item, boolean bookmarked, boolean pinned, boolean visited) {
final View anchor = new View(getActivity());
final ActivityStreamContextMenu menu = ActivityStreamContextMenu.show(
- getActivity(), anchor, ActivityStreamTelemetry.Extras.builder(),
+ anchor, ActivityStreamTelemetry.Extras.builder(),
ActivityStreamContextMenu.MenuMode.HIGHLIGHT, item,
false, null, null, 100, 100);
final int expectedBookmarkString;
if (bookmarked) {
expectedBookmarkString = R.string.bookmark_remove;
} else {
expectedBookmarkString = R.string.bookmark;