Fix issue #672 - Support pagination for search / trending

This commit is contained in:
Thomas 2022-12-25 18:07:25 +01:00
parent e91a2f7984
commit 70e8756974
4 changed files with 13 additions and 3 deletions

View File

@ -62,7 +62,9 @@ public interface MastodonTimelinesService {
@GET("trends/tags") @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 //Public Tags timelines
@GET("timelines/tag/{hashtag}") @GET("timelines/tag/{hashtag}")

View File

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

View File

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

View File

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