Loading app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonAccount.java +1 −1 Original line number Diff line number Diff line Loading @@ -448,7 +448,7 @@ public class FragmentMastodonAccount extends Fragment { } binding.loadingNextElements.setVisibility(View.GONE); if (accounts != null && fetched_accounts != null && fetched_accounts.accounts != null) { flagLoading = fetched_accounts.pagination.max_id == null; flagLoading = search == null && fetched_accounts.pagination.max_id == null; int startId = 0; //There are some statuses present in the timeline if (accounts.size() > 0) { Loading app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonTimeline.java +29 −27 Original line number Diff line number Diff line Loading @@ -566,7 +566,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. binding.loadingNextElements.setVisibility(View.GONE); flagLoading = false; if (timelineStatuses != null && fetched_statuses != null && fetched_statuses.statuses != null && !fetched_statuses.statuses.isEmpty()) { flagLoading = fetched_statuses.pagination.max_id == null; flagLoading = search == null && fetched_statuses.pagination.max_id == null; binding.noAction.setVisibility(View.GONE); Loading Loading @@ -629,6 +629,9 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. } } if (!fetchingMissing) { if (search != null) { offset += MastodonHelper.SEARCH_PER_CALL; } else { if (fetched_statuses.pagination.max_id == null) { flagLoading = true; } else if (max_id == null || Helper.compareTo(fetched_statuses.pagination.max_id, max_id) < 0 || timelineType.getValue().startsWith("TREND_")) { Loading @@ -641,8 +644,6 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. min_id = fetched_statuses.pagination.min_id; } } if (search != null) { offset += MastodonHelper.SEARCH_PER_CALL; } } else if (direction == DIRECTION.BOTTOM) { flagLoading = true; Loading Loading @@ -704,7 +705,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. statuses.statuses = mediaStatuses; } } flagLoading = statuses.pagination.max_id == null; flagLoading = search == null && statuses.pagination.max_id == null; binding.recyclerView.setVisibility(View.VISIBLE); if (statusAdapter != null && timelineStatuses != null) { int size = timelineStatuses.size(); Loading @@ -725,6 +726,9 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. statuses.statuses = new ArrayList<>(); } timelineStatuses.addAll(statuses.statuses); if (search != null) { offset += MastodonHelper.SEARCH_PER_CALL; } else { if (max_id == null || (statuses.pagination.max_id != null && Helper.compareTo(statuses.pagination.max_id, max_id) < 0) || timelineType.getValue().startsWith("TREND_")) { max_id = statuses.pagination.max_id; } Loading @@ -735,8 +739,6 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. if (min_id == null || (statuses.pagination.min_id != null && Helper.compareTo(statuses.pagination.min_id, min_id) > 0)) { min_id = statuses.pagination.min_id; } if (search != null) { offset += MastodonHelper.SEARCH_PER_CALL; } statusAdapter = new StatusAdapter(timelineStatuses, timelineType, minified, canBeFederated, checkRemotely); statusAdapter.fetchMoreCallBack = this; Loading Loading @@ -1382,7 +1384,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. } else { SearchVM searchVM = new ViewModelProvider(FragmentMastodonTimeline.this).get(viewModelKey, SearchVM.class); if (direction == null) { searchVM.search(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, search.trim(), null, null, false, true, false, 0, null, null, MastodonHelper.SEARCH_PER_CALL) searchVM.search(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, search.trim(), null, "statuses", false, true, false, 0, null, null, MastodonHelper.SEARCH_PER_CALL) .observe(getViewLifecycleOwner(), results -> { if (results != null) { Statuses statuses = new Statuses(); Loading @@ -1394,7 +1396,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. } }); } else if (direction == DIRECTION.BOTTOM) { searchVM.search(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, search.trim(), null, null, false, true, false, offset, null, null, MastodonHelper.SEARCH_PER_CALL) searchVM.search(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, search.trim(), null, "statuses", false, true, false, offset, null, null, MastodonHelper.SEARCH_PER_CALL) .observe(getViewLifecycleOwner(), results -> { if (results != null) { Statuses statuses = new Statuses(); Loading Loading
app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonAccount.java +1 −1 Original line number Diff line number Diff line Loading @@ -448,7 +448,7 @@ public class FragmentMastodonAccount extends Fragment { } binding.loadingNextElements.setVisibility(View.GONE); if (accounts != null && fetched_accounts != null && fetched_accounts.accounts != null) { flagLoading = fetched_accounts.pagination.max_id == null; flagLoading = search == null && fetched_accounts.pagination.max_id == null; int startId = 0; //There are some statuses present in the timeline if (accounts.size() > 0) { Loading
app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonTimeline.java +29 −27 Original line number Diff line number Diff line Loading @@ -566,7 +566,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. binding.loadingNextElements.setVisibility(View.GONE); flagLoading = false; if (timelineStatuses != null && fetched_statuses != null && fetched_statuses.statuses != null && !fetched_statuses.statuses.isEmpty()) { flagLoading = fetched_statuses.pagination.max_id == null; flagLoading = search == null && fetched_statuses.pagination.max_id == null; binding.noAction.setVisibility(View.GONE); Loading Loading @@ -629,6 +629,9 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. } } if (!fetchingMissing) { if (search != null) { offset += MastodonHelper.SEARCH_PER_CALL; } else { if (fetched_statuses.pagination.max_id == null) { flagLoading = true; } else if (max_id == null || Helper.compareTo(fetched_statuses.pagination.max_id, max_id) < 0 || timelineType.getValue().startsWith("TREND_")) { Loading @@ -641,8 +644,6 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. min_id = fetched_statuses.pagination.min_id; } } if (search != null) { offset += MastodonHelper.SEARCH_PER_CALL; } } else if (direction == DIRECTION.BOTTOM) { flagLoading = true; Loading Loading @@ -704,7 +705,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. statuses.statuses = mediaStatuses; } } flagLoading = statuses.pagination.max_id == null; flagLoading = search == null && statuses.pagination.max_id == null; binding.recyclerView.setVisibility(View.VISIBLE); if (statusAdapter != null && timelineStatuses != null) { int size = timelineStatuses.size(); Loading @@ -725,6 +726,9 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. statuses.statuses = new ArrayList<>(); } timelineStatuses.addAll(statuses.statuses); if (search != null) { offset += MastodonHelper.SEARCH_PER_CALL; } else { if (max_id == null || (statuses.pagination.max_id != null && Helper.compareTo(statuses.pagination.max_id, max_id) < 0) || timelineType.getValue().startsWith("TREND_")) { max_id = statuses.pagination.max_id; } Loading @@ -735,8 +739,6 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. if (min_id == null || (statuses.pagination.min_id != null && Helper.compareTo(statuses.pagination.min_id, min_id) > 0)) { min_id = statuses.pagination.min_id; } if (search != null) { offset += MastodonHelper.SEARCH_PER_CALL; } statusAdapter = new StatusAdapter(timelineStatuses, timelineType, minified, canBeFederated, checkRemotely); statusAdapter.fetchMoreCallBack = this; Loading Loading @@ -1382,7 +1384,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. } else { SearchVM searchVM = new ViewModelProvider(FragmentMastodonTimeline.this).get(viewModelKey, SearchVM.class); if (direction == null) { searchVM.search(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, search.trim(), null, null, false, true, false, 0, null, null, MastodonHelper.SEARCH_PER_CALL) searchVM.search(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, search.trim(), null, "statuses", false, true, false, 0, null, null, MastodonHelper.SEARCH_PER_CALL) .observe(getViewLifecycleOwner(), results -> { if (results != null) { Statuses statuses = new Statuses(); Loading @@ -1394,7 +1396,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. } }); } else if (direction == DIRECTION.BOTTOM) { searchVM.search(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, search.trim(), null, null, false, true, false, offset, null, null, MastodonHelper.SEARCH_PER_CALL) searchVM.search(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, search.trim(), null, "statuses", false, true, false, offset, null, null, MastodonHelper.SEARCH_PER_CALL) .observe(getViewLifecycleOwner(), results -> { if (results != null) { Statuses statuses = new Statuses(); Loading