Add a shortcut for setting avatar with ContactItem

This commit is contained in:
Torsten Grote
2020-11-24 16:52:52 -03:00
parent 990f983ea9
commit fce1247aa6
4 changed files with 12 additions and 12 deletions

View File

@@ -5,7 +5,6 @@ import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import org.briarproject.bramble.api.identity.Author;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
import org.briarproject.briar.R; import org.briarproject.briar.R;
import org.briarproject.briar.android.contact.BaseContactListAdapter.OnContactClickListener; import org.briarproject.briar.android.contact.BaseContactListAdapter.OnContactClickListener;
@@ -40,8 +39,7 @@ public class ContactItemViewHolder<I extends ContactItem>
} }
protected void bind(I item, @Nullable OnContactClickListener<I> listener) { protected void bind(I item, @Nullable OnContactClickListener<I> listener) {
Author author = item.getContact().getAuthor(); setAvatar(avatar, item);
setAvatar(avatar, author.getId(), item.getAuthorInfo());
name.setText(getContactDisplayName(item.getContact())); name.setText(getContactDisplayName(item.getContact()));
if (bulb != null) { if (bulb != null) {

View File

@@ -31,7 +31,6 @@ import org.briarproject.bramble.api.db.NoSuchContactException;
import org.briarproject.bramble.api.event.Event; import org.briarproject.bramble.api.event.Event;
import org.briarproject.bramble.api.event.EventBus; import org.briarproject.bramble.api.event.EventBus;
import org.briarproject.bramble.api.event.EventListener; import org.briarproject.bramble.api.event.EventListener;
import org.briarproject.bramble.api.identity.AuthorId;
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault; import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault; import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
import org.briarproject.bramble.api.plugin.event.ContactConnectedEvent; import org.briarproject.bramble.api.plugin.event.ContactConnectedEvent;
@@ -234,10 +233,9 @@ public class ConversationActivity extends BriarActivity
toolbarStatus = toolbar.findViewById(R.id.contactStatus); toolbarStatus = toolbar.findViewById(R.id.contactStatus);
toolbarTitle = toolbar.findViewById(R.id.contactName); toolbarTitle = toolbar.findViewById(R.id.contactName);
observeOnce(viewModel.getContactItem(), this, c -> { observeOnce(viewModel.getContactItem(), this, contactItem -> {
requireNonNull(c); requireNonNull(contactItem);
AuthorId authorId = c.getContact().getAuthor().getId(); setAvatar(toolbarAvatar, contactItem);
setAvatar(toolbarAvatar, authorId, c.getAuthorInfo());
}); });
viewModel.getContactDisplayName().observe(this, contactName -> { viewModel.getContactDisplayName().observe(this, contactName -> {
requireNonNull(contactName); requireNonNull(contactName);

View File

@@ -165,10 +165,8 @@ public class IntroductionMessageFragment extends BaseFragment
contact2 = c2.getContact(); contact2 = c2.getContact();
// set avatars // set avatars
setAvatar(ui.avatar1, c1.getContact().getAuthor().getId(), setAvatar(ui.avatar1, c1);
c1.getAuthorInfo()); setAvatar(ui.avatar2, c2);
setAvatar(ui.avatar2, c2.getContact().getAuthor().getId(),
c2.getAuthorInfo());
// set contact names // set contact names
ui.contactName1.setText(getContactDisplayName(c1.getContact())); ui.contactName1.setText(getContactDisplayName(c1.getContact()));

View File

@@ -13,6 +13,7 @@ import com.bumptech.glide.load.engine.DiskCacheStrategy;
import org.briarproject.bramble.api.identity.Author; import org.briarproject.bramble.api.identity.Author;
import org.briarproject.bramble.api.identity.AuthorId; import org.briarproject.bramble.api.identity.AuthorId;
import org.briarproject.briar.R; import org.briarproject.briar.R;
import org.briarproject.briar.android.contact.ContactItem;
import org.briarproject.briar.android.conversation.glide.GlideApp; import org.briarproject.briar.android.conversation.glide.GlideApp;
import org.briarproject.briar.android.util.UiUtils; import org.briarproject.briar.android.util.UiUtils;
import org.briarproject.briar.api.identity.AuthorInfo; import org.briarproject.briar.api.identity.AuthorInfo;
@@ -113,6 +114,11 @@ public class AuthorView extends ConstraintLayout {
} }
} }
public static void setAvatar(ImageView v, ContactItem contactItem) {
AuthorId authorId = contactItem.getContact().getAuthor().getId();
setAvatar(v, authorId, contactItem.getAuthorInfo());
}
public void setDate(long date) { public void setDate(long date) {
this.date.setText(UiUtils.formatDate(getContext(), date)); this.date.setText(UiUtils.formatDate(getContext(), date));