mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2024-11-07 03:07:26 +01:00
Save PostFilter during Fragment recreation in PostFragment.
This commit is contained in:
parent
6747efbccb
commit
c88ceb737b
@ -138,6 +138,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
|
||||
private static final String READ_POST_LIST_STATE = "RPLS";
|
||||
private static final String SUBREDDIT_FILTER_LIST_STATE = "SFLS";
|
||||
private static final String HIDE_READ_POSTS_INDEX_STATE = "HRPIS";
|
||||
private static final String POST_FILTER_STATE = "PFS";
|
||||
|
||||
@BindView(R.id.swipe_refresh_layout_post_fragment)
|
||||
SwipeRefreshLayout mSwipeRefreshLayout;
|
||||
@ -385,6 +386,13 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
|
||||
readPosts = savedInstanceState.getParcelableArrayList(READ_POST_LIST_STATE);
|
||||
subredditFilterList = savedInstanceState.getParcelableArrayList(SUBREDDIT_FILTER_LIST_STATE);
|
||||
hideReadPostsIndex = savedInstanceState.getInt(HIDE_READ_POSTS_INDEX_STATE, 0);
|
||||
postFilter = savedInstanceState.getParcelable(POST_FILTER_STATE);
|
||||
} else {
|
||||
//TODO: Initialize PostFilter
|
||||
postFilter = getArguments().getParcelable(EXTRA_FILTER);
|
||||
if (postFilter == null) {
|
||||
postFilter = new PostFilter();
|
||||
}
|
||||
}
|
||||
|
||||
mPostRecyclerView.setOnTouchListener((view, motionEvent) -> {
|
||||
@ -442,12 +450,6 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
|
||||
|
||||
postType = getArguments().getInt(EXTRA_POST_TYPE);
|
||||
|
||||
//TODO: Initialize PostFilter
|
||||
postFilter = getArguments().getParcelable(EXTRA_FILTER);
|
||||
if (postFilter == null) {
|
||||
postFilter = new PostFilter();
|
||||
}
|
||||
|
||||
String accessToken = getArguments().getString(EXTRA_ACCESS_TOKEN);
|
||||
accountName = getArguments().getString(EXTRA_ACCOUNT_NAME);
|
||||
postFilter.allowNSFW = mNsfwAndSpoilerSharedPreferences.getBoolean((accountName == null ? "" : accountName) + SharedPreferencesUtils.NSFW_BASE, false);
|
||||
@ -1081,6 +1083,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
|
||||
outState.putInt(RECYCLER_VIEW_POSITION_STATE,
|
||||
mStaggeredGridLayoutManager.findFirstVisibleItemPositions(into)[0]);
|
||||
}
|
||||
outState.putParcelable(POST_FILTER_STATE, postFilter);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -1252,6 +1255,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
|
||||
|
||||
@Override
|
||||
public void changePostFilter(PostFilter postFilter) {
|
||||
this.postFilter = postFilter;
|
||||
if (mPostViewModel != null) {
|
||||
mPostViewModel.changePostFilter(postFilter);
|
||||
}
|
||||
@ -1259,10 +1263,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
|
||||
|
||||
@Override
|
||||
public PostFilter getPostFilter() {
|
||||
if (mPostViewModel != null) {
|
||||
return mPostViewModel.getPostFilter();
|
||||
}
|
||||
return null;
|
||||
return postFilter;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -200,10 +200,6 @@ public class PostViewModel extends ViewModel {
|
||||
postFilterLiveData.postValue(postFilter);
|
||||
}
|
||||
|
||||
public PostFilter getPostFilter() {
|
||||
return postFilterLiveData.getValue();
|
||||
}
|
||||
|
||||
public static class Factory extends ViewModelProvider.NewInstanceFactory {
|
||||
private Retrofit retrofit;
|
||||
private String accessToken;
|
||||
|
Loading…
Reference in New Issue
Block a user