That fuck shit the fascists are using
at master 72 lines 3.5 kB view raw
1package org.tm.archive.messagedetails; 2 3import android.view.View; 4import android.widget.TextView; 5 6import androidx.annotation.NonNull; 7import androidx.recyclerview.widget.RecyclerView; 8 9import org.tm.archive.R; 10import org.tm.archive.badges.BadgeImageView; 11import org.tm.archive.components.AvatarImageView; 12import org.tm.archive.components.FromTextView; 13import org.tm.archive.util.DateUtils; 14import org.tm.archive.util.TextSecurePreferences; 15 16import java.util.Locale; 17 18final class RecipientViewHolder extends RecyclerView.ViewHolder { 19 private final AvatarImageView avatar; 20 private final FromTextView fromView; 21 private final TextView timestamp; 22 private final TextView error; 23 private final View conflictButton; 24 private final View unidentifiedDeliveryIcon; 25 private final BadgeImageView badge; 26 private MessageDetailsAdapter.Callbacks callbacks; 27 28 RecipientViewHolder(@NonNull View itemView, @NonNull MessageDetailsAdapter.Callbacks callbacks) { 29 super(itemView); 30 31 this.callbacks = callbacks; 32 33 fromView = itemView.findViewById(R.id.message_details_recipient_name); 34 avatar = itemView.findViewById(R.id.message_details_recipient_avatar); 35 timestamp = itemView.findViewById(R.id.message_details_recipient_timestamp); 36 error = itemView.findViewById(R.id.message_details_recipient_error_description); 37 conflictButton = itemView.findViewById(R.id.message_details_recipient_conflict_button); 38 unidentifiedDeliveryIcon = itemView.findViewById(R.id.message_details_recipient_ud_indicator); 39 badge = itemView.findViewById(R.id.message_details_recipient_badge); 40 } 41 42 void bind(RecipientDeliveryStatus data) { 43 unidentifiedDeliveryIcon.setVisibility(TextSecurePreferences.isShowUnidentifiedDeliveryIndicatorsEnabled(itemView.getContext()) && data.isUnidentified() ? View.VISIBLE : View.GONE); 44 fromView.setText(data.getRecipient()); 45 avatar.setRecipient(data.getRecipient()); 46 badge.setBadgeFromRecipient(data.getRecipient()); 47 48 if (data.getKeyMismatchFailure() != null) { 49 timestamp.setVisibility(View.GONE); 50 error.setVisibility(View.VISIBLE); 51 conflictButton.setVisibility(View.VISIBLE); 52 error.setText(itemView.getContext().getString(R.string.message_details_recipient__new_safety_number)); 53 conflictButton.setOnClickListener(unused -> callbacks.onErrorClicked(data.getMessageRecord())); 54 } else if ((data.getNetworkFailure() != null && !data.getMessageRecord().isPending()) || (!data.getMessageRecord().getToRecipient().isPushGroup() && data.getMessageRecord().isFailed())) { 55 timestamp.setVisibility(View.GONE); 56 error.setVisibility(View.VISIBLE); 57 conflictButton.setVisibility(View.GONE); 58 error.setText(itemView.getContext().getString(R.string.message_details_recipient__failed_to_send)); 59 } else { 60 timestamp.setVisibility(View.VISIBLE); 61 error.setVisibility(View.GONE); 62 conflictButton.setVisibility(View.GONE); 63 64 if (data.getTimestamp() > 0) { 65 Locale dateLocale = Locale.getDefault(); 66 timestamp.setText(DateUtils.getTimeString(itemView.getContext(), dateLocale, data.getTimestamp())); 67 } else { 68 timestamp.setText(""); 69 } 70 } 71 } 72}