Skip to content

Instantly share code, notes, and snippets.

View fnk0's full-sized avatar

Marcus Gabilheri fnk0

  • Snap
  • Los Angeles, CA
View GitHub Profile
@fnk0
fnk0 / FullWidthDetailsOverviewRowPresenter.java
Last active October 16, 2016 20:36
createRowViewHolder
final ViewHolder vh = new ViewHolder(v, mDetailsPresenter, mDetailsOverviewLogoPresenter);
final View overview = vh.mOverviewFrame;
if (mBackgroundColorSet) {
overview.setBackgroundColor(mBackgroundColor);
}
if (mActionsBackgroundColorSet) {
overview.findViewById(R.id.details_overview_actions_background)
.setBackgroundColor(mActionsBackgroundColor);
}
public class CustomMovieDetailsPresenter extends FullWidthDetailsOverviewRowPresenter {
public CustomMovieDetailsPresenter(Presenter detailsPresenter, DetailsOverviewLogoPresenter logoPresenter) {
super(detailsPresenter, logoPresenter);
}
@Override
protected void onBindRowViewHolder(RowPresenter.ViewHolder holder, Object item) {
super.onBindRowViewHolder(holder, item);
}
@fnk0
fnk0 / BackgroundColorChange.java
Created October 16, 2016 20:22
Changes the background color of the FullWidthDetailsPresenter
mFullWidthMovieDetailsPresenter.setActionsBackgroundColor(ContextCompat.getColor(getActivity(), R.color.primary_dark));
mFullWidthMovieDetailsPresenter.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.primary));
@fnk0
fnk0 / MovieDetailsFragment.java
Last active October 16, 2016 08:54
MovieDetailsFragment bind details v1
public class MovieDetailsFragment extends DetailsFragment {
...
private void setUpAdapter() {
// Create the FullWidthPresenter
mFullWidthMovieDetailsPresenter = new FullWidthDetailsOverviewRowPresenter(new MovieDetailsDescriptionPresenter(),
new DetailsOverviewLogoPresenter());
// Handle the transition, the Helper is mainly used because the ActivityTransition is being passed from
@fnk0
fnk0 / MovieDetailsDescriptionPresenter.java
Created October 16, 2016 08:31
Presenter that connects MovieDetails to the View
public class MovieDetailsDescriptionPresenter extends Presenter {
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.vh_details, parent, false);
return new MovieDetailsViewHolder(v);
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, Object item) {
public class MovieDetailsViewHolder extends Presenter.ViewHolder {
@BindView(R.id.movie_title)
TextView movieTitleTV;
@BindView(R.id.movie_year)
TextView movieYearTV;
@BindView(R.id.overview)
@fnk0
fnk0 / vh_details.xml
Created October 16, 2016 08:20
DetailsDescriptionPresenter view
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<TextView
@fnk0
fnk0 / AndroidManifest.xml
Created October 16, 2016 08:10
Add MovieDetailsActivity to the Manifest
<activity android:name=".ui.details.MovieDetailsActivity" />
@fnk0
fnk0 / MainFragment.java
Last active October 16, 2016 08:02
MainFragment Part 2.1
public class MainFragment extends BrowseFragment implements OnItemViewSelectedListener,
OnItemViewClickedListener { // Add the OnItemViewClickedListener interface
private void createRows() {
...
// Set the click listener
setOnItemViewClickedListener(this);
}
// Implement the onItemClicked required by the OnItemViewClickedListener interface
@fnk0
fnk0 / MainFragment.java
Created October 12, 2016 17:35
Setting up the fragment
@Override
public void onActivityCreated(Bundle savedInstanceState) {
...
// The brand color will be used as the background for the Headers fragment
setBrandColor(ContextCompat.getColor(getActivity(), R.color.primary_transparent));
setHeadersState(HEADERS_ENABLED);
setHeadersTransitionOnBackEnabled(true);
// The TMDB logo on the right corner. It is necessary to show based on their API usage policy
setBadgeDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.powered_by));