fix(remote): send remoteAccount (#754)
closes sk22#664 * fix(remote): send remoteAccount * fix(server-about): set adming account as remote * fix(remote): show remote local accounts as remote
This commit is contained in:
@@ -14,6 +14,7 @@ import org.joinmastodon.android.model.viewmodel.AccountViewModel;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import me.grishka.appkit.api.Callback;
|
import me.grishka.appkit.api.Callback;
|
||||||
@@ -136,6 +137,10 @@ public abstract class PaginatedAccountListFragment<T> extends BaseAccountListFra
|
|||||||
List<AccountViewModel> items = result.stream()
|
List<AccountViewModel> items = result.stream()
|
||||||
.filter(a -> d.size() > 1000 || d.stream()
|
.filter(a -> d.size() > 1000 || d.stream()
|
||||||
.noneMatch(i -> i.account.url.equals(a.url)))
|
.noneMatch(i -> i.account.url.equals(a.url)))
|
||||||
|
.peek(account ->{
|
||||||
|
if (account.getDomainFromURL().equals(getRemoteDomain()))
|
||||||
|
account.acct=account.getFullyQualifiedName();
|
||||||
|
})
|
||||||
.map(a->new AccountViewModel(a, accountID))
|
.map(a->new AccountViewModel(a, accountID))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import android.net.Uri;
|
|||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -24,6 +25,7 @@ import android.widget.Toast;
|
|||||||
import org.joinmastodon.android.R;
|
import org.joinmastodon.android.R;
|
||||||
import org.joinmastodon.android.api.MastodonAPIController;
|
import org.joinmastodon.android.api.MastodonAPIController;
|
||||||
import org.joinmastodon.android.api.requests.instance.GetInstanceExtendedDescription;
|
import org.joinmastodon.android.api.requests.instance.GetInstanceExtendedDescription;
|
||||||
|
import org.joinmastodon.android.api.session.AccountSessionManager;
|
||||||
import org.joinmastodon.android.model.Instance;
|
import org.joinmastodon.android.model.Instance;
|
||||||
import org.joinmastodon.android.model.viewmodel.AccountViewModel;
|
import org.joinmastodon.android.model.viewmodel.AccountViewModel;
|
||||||
import org.joinmastodon.android.model.viewmodel.ListItem;
|
import org.joinmastodon.android.model.viewmodel.ListItem;
|
||||||
@@ -126,6 +128,8 @@ public class SettingsServerAboutFragment extends LoaderFragment{
|
|||||||
hlp.leftMargin=hlp.rightMargin=V.dp(16);
|
hlp.leftMargin=hlp.rightMargin=V.dp(16);
|
||||||
scrollingLayout.addView(heading, hlp);
|
scrollingLayout.addView(heading, hlp);
|
||||||
|
|
||||||
|
// if a remote instance is shown, the account is remote and need to be loaded accordingly when shown
|
||||||
|
instance.contactAccount.isRemote=!AccountSessionManager.get(accountID).domain.equals(instance.normalizedUri);
|
||||||
AccountViewModel model=new AccountViewModel(instance.contactAccount, accountID);
|
AccountViewModel model=new AccountViewModel(instance.contactAccount, accountID);
|
||||||
AccountViewHolder holder=new AccountViewHolder(this, scrollingLayout, null);
|
AccountViewHolder holder=new AccountViewHolder(this, scrollingLayout, null);
|
||||||
holder.setStyle(AccountViewHolder.AccessoryType.NONE, false);
|
holder.setStyle(AccountViewHolder.AccessoryType.NONE, false);
|
||||||
|
|||||||
@@ -190,7 +190,10 @@ public class AccountViewHolder extends BindableViewHolder<AccountViewModel> impl
|
|||||||
}
|
}
|
||||||
Bundle args=new Bundle();
|
Bundle args=new Bundle();
|
||||||
args.putString("account", accountID);
|
args.putString("account", accountID);
|
||||||
args.putParcelable("profileAccount", Parcels.wrap(item.account));
|
if (item.account.isRemote)
|
||||||
|
args.putParcelable("remoteAccount", Parcels.wrap(item.account));
|
||||||
|
else
|
||||||
|
args.putParcelable("profileAccount", Parcels.wrap(item.account));
|
||||||
Nav.go(fragment.getActivity(), ProfileFragment.class, args);
|
Nav.go(fragment.getActivity(), ProfileFragment.class, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user