Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package page;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Handler;
- import android.support.v4.app.Fragment;
- import android.support.v4.widget.SwipeRefreshLayout;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.util.Log;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.Toast;
- import com.transvision.bertho.transvisiondashboardapp.R;
- import java.util.ArrayList;
- import java.util.List;
- import adapter.ChannelAdapter;
- import butterknife.Bind;
- import butterknife.ButterKnife;
- import model.Channel;
- import model.ChannelResponse;
- import rest.ApiClient;
- import rest.ApiInterface;
- import retrofit2.Call;
- import retrofit2.Callback;
- import retrofit2.Response;
- public class HomeFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener {
- @Bind(R.id.movies_recycler_view) RecyclerView recyclerView;
- @Bind(R.id.swipe_layout) SwipeRefreshLayout swipeRefreshLayout;
- private static final String TAG = HomeFragment.class.getSimpleName();
- private ChannelAdapter adapter;
- List<Channel> listChannel;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- View rootView = inflater.inflate(R.layout.fragment_home, container, false);
- ButterKnife.bind(this, rootView);
- listChannel = new ArrayList<>();
- setUpSwipeLayout();
- setUpAdapter();
- setUpRecyclerview();
- new Handler().postDelayed(new Runnable() {
- @Override
- public void run() {
- load();
- }
- }, 500);
- return rootView;
- }
- protected void setUpSwipeLayout()
- {
- swipeRefreshLayout.setColorSchemeResources(R.color.colorPrimary, R.color.colorAccent);
- swipeRefreshLayout.setOnRefreshListener(this);
- }
- private void setUpAdapter(){
- if(adapter == null){
- adapter = new ChannelAdapter(listChannel, R.layout.list_channel, getActivity());
- }
- }
- private void setUpRecyclerview(){
- recyclerView.clearOnScrollListeners();
- recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
- recyclerView.setAdapter(adapter);
- }
- private void load(){
- swipeRefreshLayout.setRefreshing(true);
- ApiInterface apiService = ApiClient.getChannel().create(ApiInterface.class);
- Call<ChannelResponse> call = apiService.getItems();
- call.enqueue(new Callback<ChannelResponse>() {
- @Override
- public void onResponse(Call<ChannelResponse> call, Response<ChannelResponse> response) {
- listChannel = response.body().getItems();
- adapter = new ChannelAdapter(listChannel, R.layout.list_channel, getActivity());
- recyclerView.setAdapter(adapter);
- recyclerView.clearOnScrollListeners();
- recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
- adapter.notifyDataSetChanged();
- Log.e(TAG, "CONNECTION SUCCESS");
- swipeRefreshLayout.setRefreshing(false);
- }
- @Override
- public void onFailure(Call<ChannelResponse> call, Throwable t) {
- Log.e(TAG, t.toString());
- showToast("CONNECTION ERROR");
- swipeRefreshLayout.setRefreshing(false);
- }
- });
- }
- @Override
- public void onAttach(Activity activity) {
- super.onAttach(activity);
- }
- @Override
- public void onDetach() {
- super.onDetach();
- }
- public void showToast(String output){
- Toast.makeText(getActivity(), output, Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onRefresh() {
- load();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement