mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 16:25:38 +00:00
Bug 1301466 - Make Activity Stream highlights clickable. r=ahunt
MozReview-Commit-ID: 1kVxu8aCdiC --HG-- extra : rebase_source : cc27dc064df354d2095e764f7ced9954fbabcd97
This commit is contained in:
parent
249bd223a6
commit
5f32403b2b
@ -12,6 +12,8 @@ import android.support.v4.content.Loader;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import org.mozilla.gecko.GeckoProfile;
|
||||
@ -20,6 +22,7 @@ import org.mozilla.gecko.db.BrowserDB;
|
||||
import org.mozilla.gecko.home.HomePager;
|
||||
import org.mozilla.gecko.home.SimpleCursorLoader;
|
||||
import org.mozilla.gecko.home.activitystream.topsites.TopSitesPagerAdapter;
|
||||
import org.mozilla.gecko.widget.RecyclerViewClickSupport;
|
||||
|
||||
public class ActivityStream extends FrameLayout {
|
||||
private final StreamRecyclerAdapter adapter;
|
||||
@ -39,6 +42,9 @@ public class ActivityStream extends FrameLayout {
|
||||
rv.setAdapter(adapter);
|
||||
rv.setLayoutManager(new LinearLayoutManager(getContext()));
|
||||
rv.setHasFixedSize(true);
|
||||
|
||||
RecyclerViewClickSupport.addTo(rv)
|
||||
.setOnItemClickListener(adapter);
|
||||
}
|
||||
|
||||
void setOnUrlOpenListener(HomePager.OnUrlOpenListener listener) {
|
||||
|
@ -7,14 +7,19 @@ package org.mozilla.gecko.home.activitystream;
|
||||
import android.database.Cursor;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.mozilla.gecko.db.BrowserContract;
|
||||
import org.mozilla.gecko.home.HomePager;
|
||||
import org.mozilla.gecko.home.activitystream.StreamItem.BottomPanel;
|
||||
import org.mozilla.gecko.home.activitystream.StreamItem.HighlightItem;
|
||||
import org.mozilla.gecko.home.activitystream.StreamItem.TopPanel;
|
||||
import org.mozilla.gecko.widget.RecyclerViewClickSupport;
|
||||
|
||||
public class StreamRecyclerAdapter extends RecyclerView.Adapter<StreamItem> {
|
||||
import java.util.EnumSet;
|
||||
|
||||
public class StreamRecyclerAdapter extends RecyclerView.Adapter<StreamItem> implements RecyclerViewClickSupport.OnItemClickListener {
|
||||
private Cursor highlightsCursor;
|
||||
private Cursor topSitesCursor;
|
||||
|
||||
@ -74,6 +79,22 @@ public class StreamRecyclerAdapter extends RecyclerView.Adapter<StreamItem> {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClicked(RecyclerView recyclerView, int position, View v) {
|
||||
if (position < 1) {
|
||||
// The header contains top sites and has its own click handling.
|
||||
return;
|
||||
}
|
||||
|
||||
highlightsCursor.moveToPosition(
|
||||
translatePositionToCursor(position));
|
||||
|
||||
final String url = highlightsCursor.getString(
|
||||
highlightsCursor.getColumnIndexOrThrow(BrowserContract.Combined.URL));
|
||||
|
||||
onUrlOpenListener.onUrlOpen(url, EnumSet.of(HomePager.OnUrlOpenListener.Flags.ALLOW_SWITCH_TO_TAB));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
final int highlightsCount;
|
||||
|
Loading…
Reference in New Issue
Block a user