package com.gh4a.fragment;
import android.os.Bundle;
import android.support.v4.content.Loader;
import android.support.v7.widget.RecyclerView;
import com.gh4a.R;
import com.gh4a.activities.GistActivity;
import com.gh4a.adapter.GistAdapter;
import com.gh4a.adapter.RootAdapter;
import com.gh4a.loader.GistListLoader;
import com.gh4a.loader.LoaderResult;
import com.gh4a.loader.StarredGistListLoader;
import org.eclipse.egit.github.core.Gist;
import java.util.List;
public class GistListFragment extends ListDataBaseFragment<Gist> implements
RootAdapter.OnItemClickListener<Gist> {
public static GistListFragment newInstance(String userLogin, boolean starred) {
Bundle args = new Bundle();
args.putString("user", userLogin);
args.putBoolean("starred", starred);
GistListFragment f = new GistListFragment();
f.setArguments(args);
return f;
}
private String mUserLogin;
private boolean mShowStarred;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mUserLogin = getArguments().getString("user");
mShowStarred = getArguments().getBoolean("starred");
}
@Override
public Loader<LoaderResult<List<Gist>>> onCreateLoader() {
if (mShowStarred) {
return new StarredGistListLoader(getActivity());
}
return new GistListLoader(getActivity(), mUserLogin);
}
@Override
protected RootAdapter<Gist, ? extends RecyclerView.ViewHolder> onCreateAdapter() {
GistAdapter adapter = new GistAdapter(getActivity(), mUserLogin);
adapter.setOnItemClickListener(this);
return adapter;
}
@Override
protected int getEmptyTextResId() {
return mShowStarred ? R.string.no_starred_gists_found : R.string.no_gists_found;
}
@Override
public void onItemClick(Gist gist) {
startActivity(GistActivity.makeIntent(getActivity(), gist.getId()));
}
}