fixed restore state for favorites list

This commit is contained in:
danijoo
2015-11-01 13:18:39 +01:00
parent a9a7710141
commit f9fcb4d4ff

View File

@@ -4,6 +4,7 @@ import android.content.Context;
import android.content.res.Configuration;
import android.database.Cursor;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
@@ -44,6 +45,7 @@ public class MovieListFragment extends Fragment implements Callback<MovieList> {
private static final int NUM_COLUMNS_LAND = 5;
/**
* The currently selected sorting order of the list
*
* @see TMDBApi
*/
private int mSortingOrder = SORT_ORDER_MOST_POPULAR;
@@ -54,8 +56,10 @@ public class MovieListFragment extends Fragment implements Callback<MovieList> {
private MovieList mMovieList;
@Bind(R.id.movie_list_grid) RecyclerView mMovieGridView;
@Bind(R.id.movie_list_progressBar) ProgressBar mProgressBar;
@Bind(R.id.movie_list_grid)
RecyclerView mMovieGridView;
@Bind(R.id.movie_list_progressBar)
ProgressBar mProgressBar;
/**
* Holding a reference to running api calls. This makes it possible to cancel them if
@@ -80,12 +84,15 @@ public class MovieListFragment extends Fragment implements Callback<MovieList> {
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mMovieGridView.setLayoutManager(new GridLayoutManager(getActivity(), getNumColumns()));
if (savedInstanceState != null)
restoreState(savedInstanceState);
}
if(savedInstanceState != null) {
private void restoreState(@NonNull Bundle savedInstanceState) {
mSortingOrder = savedInstanceState.getInt("sort_order");
if (savedInstanceState.containsKey("movielist"))
mMovieList = savedInstanceState.getParcelable("movielist");
}
}
/**
@@ -160,6 +167,7 @@ public class MovieListFragment extends Fragment implements Callback<MovieList> {
private void loadMovieListFromFavorites() {
// TODO async?
mMovieList = null;
Cursor cursor = new FavoriteProviderHelper(getContext().getContentResolver()).getAllFavorites();
mMovieGridView.setAdapter(new CursorMovieListAdapter(cursor, (MovieNavigation) getActivity()));
}