package bg.mentormate.academy.radarapp.fragments; import android.os.Bundle; import android.support.v4.app.ListFragment; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.app.ActionBar; import android.support.v7.app.ActionBarActivity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import com.parse.GetCallback; import com.parse.ParseException; import bg.mentormate.academy.radarapp.Constants; import bg.mentormate.academy.radarapp.R; import bg.mentormate.academy.radarapp.adapters.UserQueryAdapter; import bg.mentormate.academy.radarapp.models.User; import bg.mentormate.academy.radarapp.tools.NotificationHelper; import bg.mentormate.academy.radarapp.tools.QueryHelper; /** * Created by tl on 19.02.15. */ public class FollowFragment extends ListFragment implements View.OnClickListener, SwipeRefreshLayout.OnRefreshListener{ private static final String USER_ID = "USER_ID"; private UserQueryAdapter mUserQueryAdapter; private EditText mEtQuery; private Button mBtnSearch; private SwipeRefreshLayout mSrlRefresh; private User mUser; private String mState; public FollowFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_search_list, container, false); initData(); initViews(rootView); return rootView; } private void initData() { String id = getArguments().getString(USER_ID); mState = getArguments().getString(Constants.CATEGORY); if (id != null && mState != null) { QueryHelper.getUserById(id, new GetCallback<User>() { @Override public void done(User user, ParseException e) { if (e == null) { mUser = user; mUserQueryAdapter = new UserQueryAdapter(getActivity(), null, mState, mUser); setListAdapter(mUserQueryAdapter); } else { NotificationHelper.alert(getActivity(), getString(R.string.dialog_error_title), e.getMessage()); } } }); } } 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 onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); setActivityTitle(); } private void setActivityTitle() { ActionBar actionBar = ((ActionBarActivity)getActivity()).getSupportActionBar(); if (mState.equals(Constants.FOLLOWER)) { actionBar.setTitle(getString(R.string.followers_label)); } else { actionBar.setTitle(getString(R.string.following_label)); } } @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, mState, mUser); setListAdapter(mUserQueryAdapter); } @Override public void onRefresh() { onSearchClicked(); mSrlRefresh.setRefreshing(false); } }