From 93e98b4cb57c2105880a2005c95ba37866fa1e1d Mon Sep 17 00:00:00 2001
From: Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com>
Date: Sun, 6 Nov 2022 17:22:15 +1100
Subject: [PATCH] Retry loading more posts.
---
.../activities/ViewPostDetailActivity.java | 10 ++++++++++
.../fragments/MorePostsInfoFragment.java | 12 +++++++++---
app/src/main/res/layout/fragment_more_posts_info.xml | 1 +
app/src/main/res/values/strings.xml | 2 +-
4 files changed, 21 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 78eef4e4..651dbfd1 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewPostDetailActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewPostDetailActivity.java
@@ -294,6 +294,11 @@ public class ViewPostDetailActivity extends BaseActivity implements SortTypeSele
searchTextInputEditText.setImeOptions(searchTextInputEditText.getImeOptions() | EditorInfoCompat.IME_FLAG_NO_PERSONALIZED_LEARNING);
}
+ if (loadingMorePostsStatus == LoadingMorePostsStatus.LOADING) {
+ loadingMorePostsStatus = LoadingMorePostsStatus.NOT_LOADING;
+ fetchMorePosts();
+ }
+
checkNewAccountAndBindView(savedInstanceState);
}
@@ -515,6 +520,11 @@ public class ViewPostDetailActivity extends BaseActivity implements SortTypeSele
loadingMorePostsStatus = LoadingMorePostsStatus.LOADING;
+ MorePostsInfoFragment morePostsFragment = sectionsPagerAdapter.getMorePostsInfoFragment();
+ if (morePostsFragment != null) {
+ morePostsFragment.setStatus(LoadingMorePostsStatus.LOADING);
+ }
+
Handler handler = new Handler(Looper.getMainLooper());
if (postType != HistoryPostPagingSource.TYPE_READ_POSTS) {
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 c5ec1266..151d5ec4 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/MorePostsInfoFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/MorePostsInfoFragment.java
@@ -14,7 +14,7 @@ import javax.inject.Inject;
import ml.docilealligator.infinityforreddit.Infinity;
import ml.docilealligator.infinityforreddit.LoadingMorePostsStatus;
import ml.docilealligator.infinityforreddit.R;
-import ml.docilealligator.infinityforreddit.activities.BaseActivity;
+import ml.docilealligator.infinityforreddit.activities.ViewPostDetailActivity;
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
import ml.docilealligator.infinityforreddit.databinding.FragmentMorePostsInfoBinding;
@@ -25,7 +25,7 @@ public class MorePostsInfoFragment extends Fragment {
@Inject
CustomThemeWrapper mCustomThemeWrapper;
private FragmentMorePostsInfoBinding binding;
- private BaseActivity mActivity;
+ private ViewPostDetailActivity mActivity;
@LoadingMorePostsStatus
int status;
@@ -44,6 +44,12 @@ public class MorePostsInfoFragment extends Fragment {
setStatus(getArguments().getInt(EXTRA_STATUS, LoadingMorePostsStatus.LOADING));
+ binding.getRoot().setOnClickListener(view -> {
+ if (status == LoadingMorePostsStatus.FAILED) {
+ mActivity.fetchMorePosts();
+ }
+ });
+
return binding.getRoot();
}
@@ -74,6 +80,6 @@ public class MorePostsInfoFragment extends Fragment {
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
- mActivity = (BaseActivity) context;
+ mActivity = (ViewPostDetailActivity) context;
}
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_more_posts_info.xml b/app/src/main/res/layout/fragment_more_posts_info.xml
index 86e9e06e..55193887 100644
--- a/app/src/main/res/layout/fragment_more_posts_info.xml
+++ b/app/src/main/res/layout/fragment_more_posts_info.xml
@@ -22,6 +22,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
+ android:gravity="center"
android:fontFamily="?attr/font_family"
android:textSize="?attr/font_18"
app:layout_constraintBottom_toBottomOf="parent"
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 8d983cae..f7bb044b 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1312,7 +1312,7 @@
Invalid regex pattern
- Failed to load more posts
+ Failed to load more posts.\nTap to retry.
No more posts