package cgeo.geocaching.ui.recyclerview; import android.app.Activity; import android.support.annotation.IdRes; import android.support.annotation.NonNull; import android.support.v7.widget.DefaultItemAnimator; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import butterknife.ButterKnife; import com.yqritc.recyclerviewflexibledivider.HorizontalDividerItemDecoration; public final class RecyclerViewProvider { private RecyclerViewProvider() { // utility class } public static RecyclerView provideRecyclerView(@NonNull final Activity context, @IdRes final int viewId, final boolean fixedSize, final boolean showDivider) { final RecyclerView view = ButterKnife.findById(context, viewId); configureView(context, view, fixedSize, showDivider); return view; } private static void configureView(final Activity context, final RecyclerView view, final boolean fixedSize, final boolean showDivider) { view.setHasFixedSize(fixedSize); if (showDivider) { view.addItemDecoration(new HorizontalDividerItemDecoration.Builder(context).build()); } view.setLayoutManager(new LinearLayoutManager(context)); view.setItemAnimator(new DefaultItemAnimator()); } public static void provideRecyclerView(@NonNull final Activity context, final RecyclerView view, final boolean fixedSize, final boolean showDivider) { configureView(context, view, fixedSize, showDivider); } }