feat(remote-followers): remote constant remoteLookup function on long follower lists
This optimizes the scrolling process, where the dialog now doesnt happen more than once
This commit is contained in:
parent
04699c3684
commit
c4c17e3aea
|
@ -20,6 +20,8 @@ public abstract class PaginatedAccountListFragment extends BaseAccountListFragme
|
||||||
|
|
||||||
protected Account targetAccount;
|
protected Account targetAccount;
|
||||||
|
|
||||||
|
protected Account remoteAccount;
|
||||||
|
|
||||||
public abstract HeaderPaginationRequest<Account> onCreateRequest(String maxID, int count);
|
public abstract HeaderPaginationRequest<Account> onCreateRequest(String maxID, int count);
|
||||||
|
|
||||||
public abstract HeaderPaginationRequest<Account> onCreateRemoteRequest(String id, String maxID, int count);
|
public abstract HeaderPaginationRequest<Account> onCreateRemoteRequest(String id, String maxID, int count);
|
||||||
|
@ -27,13 +29,18 @@ public abstract class PaginatedAccountListFragment extends BaseAccountListFragme
|
||||||
@Override
|
@Override
|
||||||
protected void doLoadData(int offset, int count){
|
protected void doLoadData(int offset, int count){
|
||||||
if (shouldLoadRemote()) {
|
if (shouldLoadRemote()) {
|
||||||
UiUtils.lookupRemoteAccount(getContext(), targetAccount, accountID, null, account -> {
|
if(remoteAccount == null){
|
||||||
if(account != null){
|
UiUtils.lookupRemoteAccount(getContext(), targetAccount, accountID, null, account -> {
|
||||||
loadRemoteFollower(offset, count, account);
|
remoteAccount = account;
|
||||||
} else {
|
if(remoteAccount != null){
|
||||||
loadFollower(offset, count);
|
loadRemoteFollower(offset, count, remoteAccount);
|
||||||
}
|
} else {
|
||||||
});
|
loadFollower(offset, count);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
loadRemoteFollower(offset, count, remoteAccount);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
loadFollower(offset, count);
|
loadFollower(offset, count);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue