Show all followers when creating a list

This commit is contained in:
Grishka 2023-10-22 05:14:21 +03:00
parent 5580308968
commit f5b10b516c
2 changed files with 12 additions and 3 deletions

View File

@ -4,7 +4,6 @@ import android.annotation.SuppressLint;
import android.content.res.TypedArray; import android.content.res.TypedArray;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.ViewGroup;
import android.widget.Button; import android.widget.Button;
import org.joinmastodon.android.R; import org.joinmastodon.android.R;
@ -17,6 +16,7 @@ import org.joinmastodon.android.model.viewmodel.AccountViewModel;
import org.joinmastodon.android.ui.viewholders.AccountViewHolder; import org.joinmastodon.android.ui.viewholders.AccountViewHolder;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import me.grishka.appkit.api.SimpleCallback; import me.grishka.appkit.api.SimpleCallback;
import me.grishka.appkit.utils.V; import me.grishka.appkit.utils.V;
@ -24,6 +24,7 @@ import me.grishka.appkit.utils.V;
@SuppressLint("ValidFragment") // This shouldn't be part of any saved states anyway @SuppressLint("ValidFragment") // This shouldn't be part of any saved states anyway
public class AddNewListMembersFragment extends AccountSearchFragment{ public class AddNewListMembersFragment extends AccountSearchFragment{
private Listener listener; private Listener listener;
private String maxID;
public AddNewListMembersFragment(Listener listener){ public AddNewListMembersFragment(Listener listener){
this.listener=listener; this.listener=listener;
@ -38,11 +39,13 @@ public class AddNewListMembersFragment extends AccountSearchFragment{
@Override @Override
protected void doLoadData(int offset, int count){ protected void doLoadData(int offset, int count){
if(TextUtils.isEmpty(currentQuery)){ if(TextUtils.isEmpty(currentQuery)){
currentRequest=new GetAccountFollowing(AccountSessionManager.get(accountID).self.id, null, 10) currentRequest=new GetAccountFollowing(AccountSessionManager.get(accountID).self.id, offset>0 ? maxID : null, count)
.setCallback(new SimpleCallback<>(this){ .setCallback(new SimpleCallback<>(this){
@Override @Override
public void onSuccess(HeaderPaginationList<Account> result){ public void onSuccess(HeaderPaginationList<Account> result){
AddNewListMembersFragment.this.onSuccess(result); setEmptyText("");
onDataLoaded(result.stream().map(a->new AccountViewModel(a, accountID)).collect(Collectors.toList()), result.nextPageUri!=null);
maxID=result.getNextPageMaxID();
} }
}) })
.exec(accountID); .exec(accountID);

View File

@ -21,4 +21,10 @@ public class HeaderPaginationList<T> extends ArrayList<T>{
public HeaderPaginationList(@NonNull Collection<? extends T> c){ public HeaderPaginationList(@NonNull Collection<? extends T> c){
super(c); super(c);
} }
public String getNextPageMaxID(){
if(nextPageUri==null)
return null;
return nextPageUri.getQueryParameter("max_id");
}
} }