package com.kickstarter.ui.adapters; import android.support.annotation.LayoutRes; import android.support.annotation.NonNull; import android.view.View; import com.kickstarter.R; import com.kickstarter.models.Project; import com.kickstarter.ui.viewholders.KSViewHolder; import com.kickstarter.ui.viewholders.ProjectContextViewHolder; import com.kickstarter.ui.viewholders.ProjectSocialViewHolder; import java.util.Collections; public final class ProjectSocialAdapter extends KSAdapter { private final Delegate delegate; public interface Delegate extends ProjectContextViewHolder.Delegate {} public ProjectSocialAdapter(final @NonNull Delegate delegate) { this.delegate = delegate; } @Override protected int layout(final @NonNull SectionRow sectionRow) { if (sectionRow.section() == 0) { return R.layout.project_context_view; } else { return R.layout.project_social_view; } } public void takeProject(final @NonNull Project project) { sections().clear(); addSection(Collections.singletonList(project)); addSection(project.friends()); notifyDataSetChanged(); } @Override protected @NonNull KSViewHolder viewHolder(final @LayoutRes int layout, final @NonNull View view) { if (layout == R.layout.project_context_view) { return new ProjectContextViewHolder(view, delegate); } else { return new ProjectSocialViewHolder(view); } } }