aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewPostDetailActivity.java12
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/fragments/MorePostsInfoFragment.java2
2 files changed, 10 insertions, 4 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewPostDetailActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewPostDetailActivity.java
index 651dbfd1..b2aa20bb 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewPostDetailActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewPostDetailActivity.java
@@ -296,7 +296,7 @@ public class ViewPostDetailActivity extends BaseActivity implements SortTypeSele
if (loadingMorePostsStatus == LoadingMorePostsStatus.LOADING) {
loadingMorePostsStatus = LoadingMorePostsStatus.NOT_LOADING;
- fetchMorePosts();
+ fetchMorePosts(false);
}
checkNewAccountAndBindView(savedInstanceState);
@@ -379,7 +379,7 @@ public class ViewPostDetailActivity extends BaseActivity implements SortTypeSele
@Override
public void onPageSelected(int position) {
if (posts != null && position > posts.size() - 5) {
- fetchMorePosts();
+ fetchMorePosts(false);
}
}
});
@@ -513,7 +513,7 @@ public class ViewPostDetailActivity extends BaseActivity implements SortTypeSele
}
}
- public void fetchMorePosts() {
+ public void fetchMorePosts(boolean changePage) {
if (loadingMorePostsStatus == LoadingMorePostsStatus.LOADING || loadingMorePostsStatus == LoadingMorePostsStatus.NO_MORE_POSTS) {
return;
}
@@ -670,6 +670,9 @@ public class ViewPostDetailActivity extends BaseActivity implements SortTypeSele
} else {
posts = new ArrayList<>(postLinkedHashSet);
handler.post(() -> {
+ if (changePage) {
+ viewPager2.setCurrentItem(currentPostsSize - 1, false);
+ }
sectionsPagerAdapter.notifyItemRangeInserted(currentPostsSize, postLinkedHashSet.size() - currentPostsSize);
loadingMorePostsStatus = LoadingMorePostsStatus.NOT_LOADING;
MorePostsInfoFragment fragment = sectionsPagerAdapter.getMorePostsInfoFragment();
@@ -749,6 +752,9 @@ public class ViewPostDetailActivity extends BaseActivity implements SortTypeSele
} else {
posts = new ArrayList<>(postLinkedHashSet);
handler.post(() -> {
+ if (changePage) {
+ viewPager2.setCurrentItem(currentPostsSize - 1, false);
+ }
sectionsPagerAdapter.notifyItemRangeInserted(currentPostsSize, postLinkedHashSet.size() - currentPostsSize);
loadingMorePostsStatus = LoadingMorePostsStatus.NOT_LOADING;
MorePostsInfoFragment fragment = sectionsPagerAdapter.getMorePostsInfoFragment();
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/MorePostsInfoFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/MorePostsInfoFragment.java
index 151d5ec4..f38527dd 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/MorePostsInfoFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/MorePostsInfoFragment.java
@@ -46,7 +46,7 @@ public class MorePostsInfoFragment extends Fragment {
binding.getRoot().setOnClickListener(view -> {
if (status == LoadingMorePostsStatus.FAILED) {
- mActivity.fetchMorePosts();
+ mActivity.fetchMorePosts(true);
}
});