aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDocile-Alligator <25734209+Docile-Alligator@users.noreply.github.com>2023-11-28 16:27:35 +0000
committerDocile-Alligator <25734209+Docile-Alligator@users.noreply.github.com>2023-11-28 16:27:35 +0000
commite0cbdcbcc0bfd48e9e1ae70193cb37e2143dbf95 (patch)
tree358bb6b80ed5b15760889b6be199bdbcc5b2d2e8
parent776f0aa01f7387a6d7a03fb9d965af969800799f (diff)
downloadinfinity-for-reddit-e0cbdcbcc0bfd48e9e1ae70193cb37e2143dbf95.tar
infinity-for-reddit-e0cbdcbcc0bfd48e9e1ae70193cb37e2143dbf95.tar.gz
infinity-for-reddit-e0cbdcbcc0bfd48e9e1ae70193cb37e2143dbf95.tar.bz2
infinity-for-reddit-e0cbdcbcc0bfd48e9e1ae70193cb37e2143dbf95.tar.lz
infinity-for-reddit-e0cbdcbcc0bfd48e9e1ae70193cb37e2143dbf95.tar.xz
infinity-for-reddit-e0cbdcbcc0bfd48e9e1ae70193cb37e2143dbf95.tar.zst
infinity-for-reddit-e0cbdcbcc0bfd48e9e1ae70193cb37e2143dbf95.zip
Refresh CommentsListingRecyclerViewAdapter after network changes. Fix wrong post opens after on click performed on ImageAndGifBlock.
Diffstat (limited to '')
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CommentsListingRecyclerViewAdapter.java2
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/fragments/CommentsListingFragment.java18
2 files changed, 19 insertions, 1 deletions
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<Comment
}
if (canStartActivity) {
canStartActivity = false;
- itemView.callOnClick();
+ itemView.performClick();
}
});
commentMarkdownView.setAdapter(markwonAdapter);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/CommentsListingFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/CommentsListingFragment.java
index b41b2908..2c5090c7 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/CommentsListingFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/CommentsListingFragment.java
@@ -433,7 +433,25 @@ public class CommentsListingFragment extends Fragment implements FragmentCommuni
String dataSavingMode = mSharedPreferences.getString(SharedPreferencesUtils.DATA_SAVING_MODE, SharedPreferencesUtils.DATA_SAVING_MODE_OFF);
if (dataSavingMode.equals(SharedPreferencesUtils.DATA_SAVING_MODE_ONLY_ON_CELLULAR_DATA)) {
mAdapter.setDataSavingMode(changeNetworkStatusEvent.connectedNetwork == Utils.NETWORK_TYPE_CELLULAR);
+ refreshAdapter(mCommentRecyclerView, mAdapter);
}
}
}
+
+ private void refreshAdapter(RecyclerView recyclerView, RecyclerView.Adapter<RecyclerView.ViewHolder> 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);
+ }
+ }
}