package com.gh4a.fragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.content.Loader; import android.support.v7.widget.RecyclerView; import com.gh4a.R; import com.gh4a.activities.ReleaseInfoActivity; import com.gh4a.adapter.ReleaseAdapter; import com.gh4a.adapter.RootAdapter; import com.gh4a.loader.LoaderResult; import com.gh4a.loader.ReleaseListLoader; import org.eclipse.egit.github.core.Release; import java.util.List; public class ReleaseListFragment extends ListDataBaseFragment<Release> implements RootAdapter.OnItemClickListener<Release> { private String mUserLogin; private String mRepoName; public static ReleaseListFragment newInstance(String owner, String repo) { ReleaseListFragment f = new ReleaseListFragment(); Bundle args = new Bundle(); args.putString("owner", owner); args.putString("repo", repo); f.setArguments(args); return f; } @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); mUserLogin = getArguments().getString("owner"); mRepoName = getArguments().getString("repo"); } @Override protected Loader<LoaderResult<List<Release>>> onCreateLoader() { return new ReleaseListLoader(getActivity(), mUserLogin, mRepoName); } @Override protected RootAdapter<Release, ? extends RecyclerView.ViewHolder> onCreateAdapter() { ReleaseAdapter adapter = new ReleaseAdapter(getActivity()); adapter.setOnItemClickListener(this); return adapter; } @Override protected int getEmptyTextResId() { return R.string.no_releases_found; } @Override public void onItemClick(Release release) { startActivity(ReleaseInfoActivity.makeIntent(getActivity(), mUserLogin, mRepoName, release)); } }