From e0cbdcbcc0bfd48e9e1ae70193cb37e2143dbf95 Mon Sep 17 00:00:00 2001 From: Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com> Date: Tue, 28 Nov 2023 11:27:35 -0500 Subject: [PATCH] Refresh CommentsListingRecyclerViewAdapter after network changes. Fix wrong post opens after on click performed on ImageAndGifBlock. --- .../CommentsListingRecyclerViewAdapter.java | 2 +- .../fragments/CommentsListingFragment.java | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CommentsListingRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CommentsListingRecyclerViewAdapter.java index 5e52b063..df672f19 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CommentsListingRecyclerViewAdapter.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CommentsListingRecyclerViewAdapter.java @@ -563,7 +563,7 @@ public class CommentsListingRecyclerViewAdapter extends PagedListAdapter adapter) { + int previousPosition = -1; + if (recyclerView.getLayoutManager() != null) { + previousPosition = ((LinearLayoutManagerBugFixed) recyclerView.getLayoutManager()).findFirstVisibleItemPosition(); + } + + RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager(); + recyclerView.setAdapter(null); + recyclerView.setLayoutManager(null); + recyclerView.setAdapter(adapter); + recyclerView.setLayoutManager(layoutManager); + + if (previousPosition > 0) { + recyclerView.scrollToPosition(previousPosition); + } + } }