Bug 1300144 - Pre: pass mUrlOpenInBackgroundListener into HighlightsItem r?sebastian
This will be needed for opening background/private tabs from the highlights menu.
MozReview-Commit-ID: 8wvFuTgl2SP
--- a/mobile/android/base/java/org/mozilla/gecko/home/HomeFragment.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/HomeFragment.java
@@ -72,17 +72,17 @@ public abstract class HomeFragment exten
// Whether the fragment has loaded its content
private boolean mIsLoaded;
// On URL open listener
protected OnUrlOpenListener mUrlOpenListener;
// Helper for opening a tab in the background.
- private OnUrlOpenInBackgroundListener mUrlOpenInBackgroundListener;
+ protected OnUrlOpenInBackgroundListener mUrlOpenInBackgroundListener;
protected PanelStateChangeListener mPanelStateChangeListener = null;
/**
* Listener to notify when a home panels' state has changed in a way that needs to be stored
* for history/restoration. E.g. when a folder is opened/closed in bookmarks.
*/
public interface PanelStateChangeListener {
--- a/mobile/android/base/java/org/mozilla/gecko/home/activitystream/ActivityStream.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/activitystream/ActivityStream.java
@@ -59,18 +59,18 @@ public class ActivityStream extends Fram
.setOnItemClickListener(adapter);
final Resources resources = getResources();
desiredTileWidth = resources.getDimensionPixelSize(R.dimen.activity_stream_desired_tile_width);
desiredTilesHeight = resources.getDimensionPixelSize(R.dimen.activity_stream_desired_tile_height);
tileMargin = resources.getDimensionPixelSize(R.dimen.activity_stream_base_margin);
}
- void setOnUrlOpenListener(HomePager.OnUrlOpenListener listener) {
- adapter.setOnUrlOpenListener(listener);
+ void setOnUrlOpenListeners(HomePager.OnUrlOpenListener onUrlOpenListener, HomePager.OnUrlOpenInBackgroundListener onUrlOpenInBackgroundListener) {
+ adapter.setOnUrlOpenListeners(onUrlOpenListener, onUrlOpenInBackgroundListener);
}
public void load(LoaderManager lm) {
CursorLoaderCallbacks callbacks = new CursorLoaderCallbacks();
lm.initLoader(LOADER_ID_HIGHLIGHTS, null, callbacks);
lm.initLoader(LOADER_ID_TOPSITES, null, callbacks);
}
--- a/mobile/android/base/java/org/mozilla/gecko/home/activitystream/ActivityStreamHomeFragment.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/activitystream/ActivityStreamHomeFragment.java
@@ -26,14 +26,14 @@ public class ActivityStreamHomeFragment
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
if (activityStream == null) {
activityStream = (ActivityStream) inflater.inflate(R.layout.activity_stream, container, false);
- activityStream.setOnUrlOpenListener(mUrlOpenListener);
+ activityStream.setOnUrlOpenListeners(mUrlOpenListener, mUrlOpenInBackgroundListener);
}
return activityStream;
}
}
--- a/mobile/android/base/java/org/mozilla/gecko/home/activitystream/StreamItem.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/activitystream/StreamItem.java
@@ -77,17 +77,19 @@ public abstract class StreamItem extends
final TextView vLabel;
final TextView vTimeSince;
final TextView vSourceView;
final TextView vPageView;
private Future<IconResponse> ongoingIconLoad;
private int tilesMargin;
- public HighlightItem(final View itemView) {
+ public HighlightItem(final View itemView,
+ final HomePager.OnUrlOpenListener onUrlOpenListener,
+ final HomePager.OnUrlOpenInBackgroundListener onUrlOpenInBackgroundListener) {
super(itemView);
tilesMargin = itemView.getResources().getDimensionPixelSize(R.dimen.activity_stream_base_margin);
vLabel = (TextView) itemView.findViewById(R.id.card_history_label);
vTimeSince = (TextView) itemView.findViewById(R.id.card_history_time_since);
vIconView = (FaviconView) itemView.findViewById(R.id.icon);
vSourceView = (TextView) itemView.findViewById(R.id.card_history_source);
--- a/mobile/android/base/java/org/mozilla/gecko/home/activitystream/StreamRecyclerAdapter.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/activitystream/StreamRecyclerAdapter.java
@@ -19,23 +19,25 @@ import org.mozilla.gecko.widget.Recycler
import java.util.EnumSet;
public class StreamRecyclerAdapter extends RecyclerView.Adapter<StreamItem> implements RecyclerViewClickSupport.OnItemClickListener {
private Cursor highlightsCursor;
private Cursor topSitesCursor;
private HomePager.OnUrlOpenListener onUrlOpenListener;
+ private HomePager.OnUrlOpenInBackgroundListener onUrlOpenInBackgroundListener;
private int tiles;
private int tilesWidth;
private int tilesHeight;
- void setOnUrlOpenListener(HomePager.OnUrlOpenListener onUrlOpenListener) {
+ void setOnUrlOpenListeners(HomePager.OnUrlOpenListener onUrlOpenListener, HomePager.OnUrlOpenInBackgroundListener onUrlOpenInBackgroundListener) {
this.onUrlOpenListener = onUrlOpenListener;
+ this.onUrlOpenInBackgroundListener = onUrlOpenInBackgroundListener;
}
public void setTileSize(int tiles, int tilesWidth, int tilesHeight) {
this.tilesWidth = tilesWidth;
this.tilesHeight = tilesHeight;
this.tiles = tiles;
notifyDataSetChanged();
@@ -52,17 +54,17 @@ public class StreamRecyclerAdapter exten
@Override
public StreamItem onCreateViewHolder(ViewGroup parent, final int type) {
final LayoutInflater inflater = LayoutInflater.from(parent.getContext());
if (type == TopPanel.LAYOUT_ID) {
return new TopPanel(inflater.inflate(type, parent, false), onUrlOpenListener);
} else if (type == HighlightItem.LAYOUT_ID) {
- return new HighlightItem(inflater.inflate(type, parent, false));
+ return new HighlightItem(inflater.inflate(type, parent, false), onUrlOpenListener, onUrlOpenInBackgroundListener);
} else {
throw new IllegalStateException("Missing inflation for ViewType " + type);
}
}
private int translatePositionToCursor(int position) {
if (position == 0) {
throw new IllegalArgumentException("Requested cursor position for invalid item");