Fix issue #672 - Support pagination for search / trending

maths
Thomas 2 years ago
parent e91a2f7984
commit 70e8756974

@ -62,7 +62,9 @@ public interface MastodonTimelinesService {
@GET("trends/tags")
Call<List<Tag>> getTagTrends(@Header("Authorization") String token);
Call<List<Tag>> getTagTrends(@Header("Authorization") String token,
@Query("offset") Integer offset,
@Query("limit") Integer limit);
//Public Tags timelines
@GET("timelines/tag/{hashtag}")

@ -86,6 +86,10 @@ public class FragmentMastodonAccount extends Fragment {
accountsVM = new ViewModelProvider(FragmentMastodonAccount.this).get(viewModelKey, AccountsVM.class);
max_id = null;
offset = 0;
if (search != null) {
binding.swipeContainer.setRefreshing(false);
binding.swipeContainer.setEnabled(false);
}
router(true);
}

@ -266,7 +266,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter.
}
public void scrollToTop() {
if (binding != null) {
if (binding != null && search == null) {
binding.swipeContainer.setRefreshing(true);
flagLoading = false;
route(DIRECTION.SCROLL_TOP, true);
@ -290,6 +290,10 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter.
if (max_id == null && !isViewInitialized && rememberPosition) {
max_id = sharedpreferences.getString(getString(R.string.SET_INNER_MARKER) + BaseMainActivity.currentUserID + BaseMainActivity.currentInstance + slug, null);
}
if (search != null) {
binding.swipeContainer.setRefreshing(false);
binding.swipeContainer.setEnabled(false);
}
//Only fragment in main view pager should not have the view initialized
//AND Only the first fragment will initialize its view
flagLoading = false;
@ -507,6 +511,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter.
}
return;
}
binding.loader.setVisibility(View.GONE);
binding.noAction.setVisibility(View.GONE);
binding.swipeContainer.setRefreshing(false);

@ -123,7 +123,6 @@ public class SearchVM extends AndroidViewModel {
if (results.hashtags == null) {
results.hashtags = new ArrayList<>();
}
results.pagination.offset = finalLimit;
}
}
} catch (Exception e) {

Loading…
Cancel
Save