Advertisement
Mujiburrohman

getFavorite

Jul 18th, 2019
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.09 KB | None | 0 0
  1. package com.zeeb.moviecataloguelocalstorage.fragment;
  2.  
  3.  
  4. import android.content.Context;
  5. import android.os.Bundle;
  6. import android.support.annotation.NonNull;
  7. import android.support.annotation.Nullable;
  8. import android.support.v4.app.Fragment;
  9. import android.support.v4.app.FragmentManager;
  10. import android.support.v7.widget.DefaultItemAnimator;
  11. import android.support.v7.widget.LinearLayoutManager;
  12. import android.support.v7.widget.RecyclerView;
  13. import android.util.Log;
  14. import android.view.LayoutInflater;
  15. import android.view.View;
  16. import android.view.ViewGroup;
  17. import android.widget.ProgressBar;
  18. import android.widget.Toast;
  19.  
  20. import com.zeeb.moviecataloguelocalstorage.R;
  21. import com.zeeb.moviecataloguelocalstorage.adapter.FavMovieAdapter;
  22. import com.zeeb.moviecataloguelocalstorage.adapter.MovieAdapter;
  23. import com.zeeb.moviecataloguelocalstorage.data.local.movie.MovieDatabase;
  24. import com.zeeb.moviecataloguelocalstorage.data.remote.model.movie.ResultsItemMovie;
  25.  
  26. import java.util.ArrayList;
  27. import java.util.List;
  28.  
  29. import butterknife.BindView;
  30. import butterknife.ButterKnife;
  31. import butterknife.Unbinder;
  32.  
  33. /**
  34.  * A simple {@link Fragment} subclass.
  35.  */
  36. public class FavoriteMovie extends Fragment {
  37.  
  38.  
  39.     @BindView(R.id.rvFavMovie)
  40.     RecyclerView rvFavMovie;
  41.     @BindView(R.id.progressBarFavMov)
  42.     ProgressBar progressBarFavMov;
  43.     Unbinder unbinder;
  44.     private FragmentManager fragmentManager;
  45.  
  46. //    public static final String KEY_MOVIES = "movies";
  47.  
  48.     private MovieDatabase movieDatabase;
  49.     private FavMovieAdapter movieAdapter;
  50.  
  51.     List<ResultsItemMovie> resultsItemMovies = new ArrayList<>();
  52.  
  53.  
  54.     public void setFragmentManager(FragmentManager fragmentManager) {
  55.         this.fragmentManager = fragmentManager;
  56.     }
  57.  
  58.     public static FavoriteMovie newInstance(FragmentManager fragmentManager) {
  59.         FavoriteMovie fragment = new FavoriteMovie();
  60.         fragment.setFragmentManager(fragmentManager);
  61.         return fragment;
  62.     }
  63.  
  64.     public FavoriteMovie() {
  65.         // Required empty public constructor
  66.     }
  67.  
  68.  
  69.     @Override
  70.     public View onCreateView(LayoutInflater inflater, ViewGroup container,
  71.                              Bundle savedInstanceState) {
  72.         // Inflate the layout for this fragment
  73.         View view = inflater.inflate(R.layout.fragment_favorite_movie, container, false);
  74.         unbinder = ButterKnife.bind(this, view);
  75.         return view;
  76.     }
  77.  
  78.     @Override
  79.     public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
  80.         super.onViewCreated(view, savedInstanceState);
  81.  
  82.         showLoading(true);
  83.         getFavorite();
  84.     }
  85.  
  86.     public void getFavorite() {
  87.         movieDatabase = MovieDatabase.getMovieDatabase(getActivity());
  88.         if (movieDatabase.movieDao().getFavoriteMovie() != null) {
  89.             movieDatabase.movieDao().getFavoriteMovie();
  90.             showLoading(false);
  91.             setupRecyclerView();
  92.             Toast.makeText(getActivity(), "favorite data is avalible" + movieDatabase.movieDao().getFavoriteMovie().get(0).getOriginalTitle(), Toast.LENGTH_SHORT).show();
  93.         } else {
  94.             Toast.makeText(getActivity(), "No favorite data here!", Toast.LENGTH_SHORT).show();
  95.             showLoading(false);
  96.         }
  97.     }
  98.  
  99.     private void setupRecyclerView() {
  100.         if (movieAdapter == null) {
  101.             movieAdapter = new FavMovieAdapter(getActivity(), resultsItemMovies);
  102.             rvFavMovie.setLayoutManager(new LinearLayoutManager(getActivity()));
  103.             rvFavMovie.setAdapter(movieAdapter);
  104.             rvFavMovie.setItemAnimator(new DefaultItemAnimator());
  105.             rvFavMovie.setNestedScrollingEnabled(true);
  106.         } else {
  107.             movieAdapter.notifyDataSetChanged();
  108.         }
  109.     }
  110.  
  111.     private void showLoading(Boolean state) {
  112.         if (state) {
  113.             progressBarFavMov.setVisibility(View.VISIBLE);
  114.         } else {
  115.             progressBarFavMov.setVisibility(View.GONE);
  116.         }
  117.     }
  118.  
  119.     @Override
  120.     public void onDestroyView() {
  121.         super.onDestroyView();
  122.         unbinder.unbind();
  123.     }
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement