package bg.mentormate.academy.radarapp.fragments;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.support.v4.widget.SwipeRefreshLayout;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import bg.mentormate.academy.radarapp.Constants;
import bg.mentormate.academy.radarapp.R;
import bg.mentormate.academy.radarapp.adapters.UserQueryAdapter;
/**
* Created by tl on 16.02.15.
*/
public class SearchUsersFragment extends ListFragment implements View.OnClickListener,
SwipeRefreshLayout.OnRefreshListener {
private static final String QUERY = "query";
/**
* The fragment argument representing the section number for this
* fragment.
*/
private static final String ARG_TAB_NUMBER = "tab_number";
/**
* Returns a new instance of this fragment for the given section
* number.
*/
public static SearchUsersFragment newInstance(int sectionNumber) {
SearchUsersFragment fragment = new SearchUsersFragment();
Bundle args = new Bundle();
args.putInt(ARG_TAB_NUMBER, sectionNumber);
fragment.setArguments(args);
return fragment;
}
private UserQueryAdapter mUserQueryAdapter;
private EditText mEtQuery;
private Button mBtnSearch;
private SwipeRefreshLayout mSrlRefresh;
public SearchUsersFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_search_list, container, false);
initData(savedInstanceState);
initViews(rootView);
return rootView;
}
private void initData(Bundle savedInstanceState) {
if (savedInstanceState != null) {
String query = savedInstanceState.getString(QUERY);
mEtQuery.setText(query);
mUserQueryAdapter = new UserQueryAdapter(getActivity(), query, Constants.SEARCH, null);
} else {
mUserQueryAdapter = new UserQueryAdapter(getActivity(), null, Constants.SEARCH, null);
}
setListAdapter(mUserQueryAdapter);
}
private void initViews(View rootView) {
mEtQuery = (EditText) rootView.findViewById(R.id.etQuery);
mBtnSearch = (Button) rootView.findViewById(R.id.btnSeach);
mSrlRefresh = (SwipeRefreshLayout) rootView.findViewById(R.id.srlRefresh);
mSrlRefresh.setColorSchemeColors(
getResources().getColor(R.color.br_dark_background));
mBtnSearch.setOnClickListener(this);
mSrlRefresh.setOnRefreshListener(this);
}
@Override
public void onSaveInstanceState(Bundle outState) {
outState.putString(QUERY, mEtQuery.getText().toString());
}
@Override
public void onClick(View v) {
int id = v.getId();
switch (id) {
case R.id.btnSeach:
onSearchClicked();
break;
}
}
private void onSearchClicked() {
String query = mEtQuery.getText().toString();
mUserQueryAdapter = new UserQueryAdapter(getActivity(), query, Constants.SEARCH, null);
setListAdapter(mUserQueryAdapter);
}
@Override
public void onRefresh() {
onSearchClicked();
mSrlRefresh.setRefreshing(false);
}
}