rename UserItem to ContactsItem to reflect its use case

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
Andy Scherzinger 2022-02-28 13:26:40 +01:00
parent da39d12a7f
commit 18f180bfe7
No known key found for this signature in database
GPG Key ID: 6CADC7E3523C308B
2 changed files with 47 additions and 52 deletions

View File

@ -49,8 +49,8 @@ import eu.davidea.flexibleadapter.items.ISectionable;
import eu.davidea.flexibleadapter.utils.FlexibleUtils; import eu.davidea.flexibleadapter.utils.FlexibleUtils;
import eu.davidea.viewholders.FlexibleViewHolder; import eu.davidea.viewholders.FlexibleViewHolder;
public class UserItem extends AbstractFlexibleItem<UserItem.UserItemViewHolder> implements public class ContactItem extends AbstractFlexibleItem<ContactItem.ContactItemViewHolder> implements
ISectionable<UserItem.UserItemViewHolder, GenericTextHeaderItem>, IFilterable<String> { ISectionable<ContactItem.ContactItemViewHolder, GenericTextHeaderItem>, IFilterable<String> {
public static final String PARTICIPANT_SOURCE_CIRCLES = "circles"; public static final String PARTICIPANT_SOURCE_CIRCLES = "circles";
public static final String PARTICIPANT_SOURCE_GROUPS = "groups"; public static final String PARTICIPANT_SOURCE_GROUPS = "groups";
@ -61,7 +61,7 @@ public class UserItem extends AbstractFlexibleItem<UserItem.UserItemViewHolder>
private GenericTextHeaderItem header; private GenericTextHeaderItem header;
public boolean isOnline = true; public boolean isOnline = true;
public UserItem(Participant participant, public ContactItem(Participant participant,
UserEntity userEntity, UserEntity userEntity,
GenericTextHeaderItem genericTextHeaderItem) { GenericTextHeaderItem genericTextHeaderItem) {
this.participant = participant; this.participant = participant;
@ -71,8 +71,8 @@ public class UserItem extends AbstractFlexibleItem<UserItem.UserItemViewHolder>
@Override @Override
public boolean equals(Object o) { public boolean equals(Object o) {
if (o instanceof UserItem) { if (o instanceof ContactItem) {
UserItem inItem = (UserItem) o; ContactItem inItem = (ContactItem) o;
return participant.getActorType() == inItem.getModel().getActorType() && return participant.getActorType() == inItem.getModel().getActorType() &&
participant.getActorId().equals(inItem.getModel().getActorId()); participant.getActorId().equals(inItem.getModel().getActorId());
} }
@ -98,25 +98,20 @@ public class UserItem extends AbstractFlexibleItem<UserItem.UserItemViewHolder>
} }
@Override @Override
public UserItemViewHolder createViewHolder(View view, FlexibleAdapter adapter) { public ContactItemViewHolder createViewHolder(View view, FlexibleAdapter adapter) {
return new UserItemViewHolder(view, adapter); return new ContactItemViewHolder(view, adapter);
} }
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
@Override @Override
public void bindViewHolder(FlexibleAdapter adapter, UserItemViewHolder holder, int position, List payloads) { public void bindViewHolder(FlexibleAdapter adapter, ContactItemViewHolder holder, int position, List payloads) {
if (holder.binding.avatarDraweeView != null) {
holder.binding.avatarDraweeView.setController(null); holder.binding.avatarDraweeView.setController(null);
}
if (holder.binding.checkedImageView != null) {
if (participant.isSelected()) { if (participant.isSelected()) {
holder.binding.checkedImageView.setVisibility(View.VISIBLE); holder.binding.checkedImageView.setVisibility(View.VISIBLE);
} else { } else {
holder.binding.checkedImageView.setVisibility(View.GONE); holder.binding.checkedImageView.setVisibility(View.GONE);
} }
}
if (!isOnline) { if (!isOnline) {
holder.binding.nameText.setTextColor(ResourcesCompat.getColor( holder.binding.nameText.setTextColor(ResourcesCompat.getColor(
@ -227,14 +222,14 @@ public class UserItem extends AbstractFlexibleItem<UserItem.UserItemViewHolder>
this.header = header; this.header = header;
} }
static class UserItemViewHolder extends FlexibleViewHolder { static class ContactItemViewHolder extends FlexibleViewHolder {
RvItemContactBinding binding; RvItemContactBinding binding;
/** /**
* Default constructor. * Default constructor.
*/ */
UserItemViewHolder(View view, FlexibleAdapter adapter) { ContactItemViewHolder(View view, FlexibleAdapter adapter) {
super(view, adapter); super(view, adapter);
binding = RvItemContactBinding.bind(view); binding = RvItemContactBinding.bind(view);
} }

View File

@ -46,7 +46,7 @@ import android.widget.RelativeLayout;
import com.bluelinelabs.logansquare.LoganSquare; import com.bluelinelabs.logansquare.LoganSquare;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
import com.nextcloud.talk.adapters.items.GenericTextHeaderItem; import com.nextcloud.talk.adapters.items.GenericTextHeaderItem;
import com.nextcloud.talk.adapters.items.UserItem; import com.nextcloud.talk.adapters.items.ContactItem;
import com.nextcloud.talk.api.NcApi; import com.nextcloud.talk.api.NcApi;
import com.nextcloud.talk.application.NextcloudTalkApplication; import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.controllers.base.BaseController; import com.nextcloud.talk.controllers.base.BaseController;
@ -550,7 +550,7 @@ public class ContactsController extends BaseController implements SearchView.OnQ
userHeaderItems.put(headerTitle, genericTextHeaderItem); userHeaderItems.put(headerTitle, genericTextHeaderItem);
} }
UserItem newContactItem = new UserItem( ContactItem newContactItem = new ContactItem(
participant, participant,
currentUser, currentUser,
userHeaderItems.get(headerTitle) userHeaderItems.get(headerTitle)
@ -572,21 +572,21 @@ public class ContactsController extends BaseController implements SearchView.OnQ
String firstName; String firstName;
String secondName; String secondName;
if (o1 instanceof UserItem) { if (o1 instanceof ContactItem) {
firstName = ((UserItem) o1).getModel().getDisplayName(); firstName = ((ContactItem) o1).getModel().getDisplayName();
} else { } else {
firstName = ((GenericTextHeaderItem) o1).getModel(); firstName = ((GenericTextHeaderItem) o1).getModel();
} }
if (o2 instanceof UserItem) { if (o2 instanceof ContactItem) {
secondName = ((UserItem) o2).getModel().getDisplayName(); secondName = ((ContactItem) o2).getModel().getDisplayName();
} else { } else {
secondName = ((GenericTextHeaderItem) o2).getModel(); secondName = ((GenericTextHeaderItem) o2).getModel();
} }
if (o1 instanceof UserItem && o2 instanceof UserItem) { if (o1 instanceof ContactItem && o2 instanceof ContactItem) {
String firstSource = ((UserItem) o1).getModel().getSource(); String firstSource = ((ContactItem) o1).getModel().getSource();
String secondSource = ((UserItem) o2).getModel().getSource(); String secondSource = ((ContactItem) o2).getModel().getSource();
if (firstSource.equals(secondSource)) { if (firstSource.equals(secondSource)) {
return firstName.compareToIgnoreCase(secondName); return firstName.compareToIgnoreCase(secondName);
} }
@ -623,24 +623,24 @@ public class ContactsController extends BaseController implements SearchView.OnQ
String firstName; String firstName;
String secondName; String secondName;
if (o1 instanceof UserItem) { if (o1 instanceof ContactItem) {
firstName = ((UserItem) o1).getModel().getDisplayName(); firstName = ((ContactItem) o1).getModel().getDisplayName();
} else { } else {
firstName = ((GenericTextHeaderItem) o1).getModel(); firstName = ((GenericTextHeaderItem) o1).getModel();
} }
if (o2 instanceof UserItem) { if (o2 instanceof ContactItem) {
secondName = ((UserItem) o2).getModel().getDisplayName(); secondName = ((ContactItem) o2).getModel().getDisplayName();
} else { } else {
secondName = ((GenericTextHeaderItem) o2).getModel(); secondName = ((GenericTextHeaderItem) o2).getModel();
} }
if (o1 instanceof UserItem && o2 instanceof UserItem) { if (o1 instanceof ContactItem && o2 instanceof ContactItem) {
if ("groups".equals(((UserItem) o1).getModel().getSource()) && "groups".equals(((UserItem) o2).getModel().getSource())) { if ("groups".equals(((ContactItem) o1).getModel().getSource()) && "groups".equals(((ContactItem) o2).getModel().getSource())) {
return firstName.compareToIgnoreCase(secondName); return firstName.compareToIgnoreCase(secondName);
} else if ("groups".equals(((UserItem) o1).getModel().getSource())) { } else if ("groups".equals(((ContactItem) o1).getModel().getSource())) {
return -1; return -1;
} else if ("groups".equals(((UserItem) o2).getModel().getSource())) { } else if ("groups".equals(((ContactItem) o2).getModel().getSource())) {
return 1; return 1;
} }
} }
@ -826,12 +826,12 @@ public class ContactsController extends BaseController implements SearchView.OnQ
@Override @Override
public boolean onItemClick(View view, int position) { public boolean onItemClick(View view, int position) {
if (adapter.getItem(position) instanceof UserItem) { if (adapter.getItem(position) instanceof ContactItem) {
if (!isNewConversationView && !isAddingParticipantsView) { if (!isNewConversationView && !isAddingParticipantsView) {
UserItem userItem = (UserItem) adapter.getItem(position); ContactItem contactItem = (ContactItem) adapter.getItem(position);
String roomType = "1"; String roomType = "1";
if ("groups".equals(userItem.getModel().getSource())) { if ("groups".equals(contactItem.getModel().getSource())) {
roomType = "2"; roomType = "2";
} }
@ -841,7 +841,7 @@ public class ContactsController extends BaseController implements SearchView.OnQ
currentUser.getBaseUrl(), currentUser.getBaseUrl(),
roomType, roomType,
null, null,
userItem.getModel().getActorId(), contactItem.getModel().getActorId(),
null); null);
ncApi.createRoom(credentials, ncApi.createRoom(credentials,
@ -880,7 +880,7 @@ public class ContactsController extends BaseController implements SearchView.OnQ
} }
}); });
} else { } else {
Participant participant = ((UserItem) adapter.getItem(position)).getModel(); Participant participant = ((ContactItem) adapter.getItem(position)).getModel();
participant.setSelected(!participant.isSelected()); participant.setSelected(!participant.isSelected());
if ("groups".equals(participant.getSource())) { if ("groups".equals(participant.getSource())) {
@ -911,10 +911,10 @@ public class ContactsController extends BaseController implements SearchView.OnQ
if (CapabilitiesUtil.hasSpreedFeatureCapability(currentUser, "last-room-activity") if (CapabilitiesUtil.hasSpreedFeatureCapability(currentUser, "last-room-activity")
&& !CapabilitiesUtil.hasSpreedFeatureCapability(currentUser, "invite-groups-and-mails") && && !CapabilitiesUtil.hasSpreedFeatureCapability(currentUser, "invite-groups-and-mails") &&
"groups".equals(((UserItem) adapter.getItem(position)).getModel().getSource()) && "groups".equals(((ContactItem) adapter.getItem(position)).getModel().getSource()) &&
participant.isSelected() && participant.isSelected() &&
adapter.getSelectedItemCount() > 1) { adapter.getSelectedItemCount() > 1) {
List<UserItem> currentItems = adapter.getCurrentItems(); List<ContactItem> currentItems = adapter.getCurrentItems();
Participant internalParticipant; Participant internalParticipant;
for (int i = 0; i < currentItems.size(); i++) { for (int i = 0; i < currentItems.size(); i++) {
internalParticipant = currentItems.get(i).getModel(); internalParticipant = currentItems.get(i).getModel();
@ -960,8 +960,8 @@ public class ContactsController extends BaseController implements SearchView.OnQ
List<AbstractFlexibleItem> currentItems = adapter.getCurrentItems(); List<AbstractFlexibleItem> currentItems = adapter.getCurrentItems();
Participant internalParticipant; Participant internalParticipant;
for (int i = 0; i < currentItems.size(); i++) { for (int i = 0; i < currentItems.size(); i++) {
if (currentItems.get(i) instanceof UserItem) { if (currentItems.get(i) instanceof ContactItem) {
internalParticipant = ((UserItem) currentItems.get(i)).getModel(); internalParticipant = ((ContactItem) currentItems.get(i)).getModel();
if (internalParticipant.getActorType() == Participant.ActorType.GROUPS && if (internalParticipant.getActorType() == Participant.ActorType.GROUPS &&
internalParticipant.isSelected()) { internalParticipant.isSelected()) {
internalParticipant.setSelected(false); internalParticipant.setSelected(false);
@ -972,10 +972,10 @@ public class ContactsController extends BaseController implements SearchView.OnQ
} }
for (int i = 0; i < adapter.getItemCount(); i++) { for (int i = 0; i < adapter.getItemCount(); i++) {
if (adapter.getItem(i) instanceof UserItem) { if (adapter.getItem(i) instanceof ContactItem) {
UserItem userItem = (UserItem) adapter.getItem(i); ContactItem contactItem = (ContactItem) adapter.getItem(i);
if ("groups".equals(userItem.getModel().getSource())) { if ("groups".equals(contactItem.getModel().getSource())) {
userItem.setEnabled(!isPublicCall); contactItem.setEnabled(!isPublicCall);
} }
} }
} }