Commit 70e87569 authored by Thomas's avatar Thomas
Browse files

Fix issue #672 - Support pagination for search / trending

parent e91a2f79
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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}")
+4 −0
Original line number Diff line number Diff line
@@ -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);
    }

+6 −1
Original line number Diff line number Diff line
@@ -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);
+0 −1
Original line number Diff line number Diff line
@@ -123,7 +123,6 @@ public class SearchVM extends AndroidViewModel {
                            if (results.hashtags == null) {
                                results.hashtags = new ArrayList<>();
                            }
                            results.pagination.offset = finalLimit;
                        }
                    }
                } catch (Exception e) {