package com.gh4a.fragment; import java.util.List; import org.eclipse.egit.github.core.Repository; import android.os.Bundle; import android.support.v4.content.Loader; import android.support.v7.widget.RecyclerView; import com.gh4a.R; import com.gh4a.activities.RepositoryActivity; import com.gh4a.adapter.RepositoryAdapter; import com.gh4a.adapter.RootAdapter; import com.gh4a.loader.LoaderResult; import com.gh4a.loader.RepositorySearchLoader; public class RepositorySearchFragment extends ListDataBaseFragment<Repository> implements RootAdapter.OnItemClickListener<Repository> { private RepositorySearchLoader mLoader; public static RepositorySearchFragment newInstance(String userLogin) { RepositorySearchFragment f = new RepositorySearchFragment(); Bundle args = new Bundle(); args.putString("user", userLogin); f.setArguments(args); return f; } public void setQuery(String query) { if (mLoader != null) { mLoader.setQuery(query); } getArguments().putString("query", query); onRefresh(); } @Override public Loader<LoaderResult<List<Repository>>> onCreateLoader() { String login = getArguments().getString("user"); mLoader = new RepositorySearchLoader(getActivity(), login); mLoader.setQuery(getArguments().getString("query")); return mLoader; } @Override protected int getEmptyTextResId() { return R.string.no_search_repos_found; } @Override protected RootAdapter<Repository, ? extends RecyclerView.ViewHolder> onCreateAdapter() { RepositoryAdapter adapter = new RepositoryAdapter(getActivity()); adapter.setOnItemClickListener(this); return adapter; } @Override public void onItemClick(Repository item) { startActivity(RepositoryActivity.makeIntent(getActivity(), item)); } }