mirror of
https://github.com/oxen-io/session-android.git
synced 2025-06-08 05:08:34 +00:00
Rename Recipient.isLocalNumber() to Recipient.isSelf()
This commit is contained in:
parent
5eaac6cb17
commit
ead64d92a5
@ -82,10 +82,10 @@ public final class AvatarPreviewActivity extends PassphraseRequiredActivity {
|
||||
RecipientId recipientId = RecipientId.from(getIntent().getStringExtra(RECIPIENT_ID_EXTRA));
|
||||
|
||||
Recipient.live(recipientId).observe(this, recipient -> {
|
||||
ContactPhoto contactPhoto = recipient.isLocalNumber() ? new ProfileContactPhoto(recipient, recipient.getProfileAvatar())
|
||||
: recipient.getContactPhoto();
|
||||
FallbackContactPhoto fallbackPhoto = recipient.isLocalNumber() ? new ResourceContactPhoto(R.drawable.ic_profile_outline_40, R.drawable.ic_profile_outline_20, R.drawable.ic_person_large)
|
||||
: recipient.getFallbackContactPhoto();
|
||||
ContactPhoto contactPhoto = recipient.isSelf() ? new ProfileContactPhoto(recipient, recipient.getProfileAvatar())
|
||||
: recipient.getContactPhoto();
|
||||
FallbackContactPhoto fallbackPhoto = recipient.isSelf() ? new ResourceContactPhoto(R.drawable.ic_profile_outline_40, R.drawable.ic_profile_outline_20, R.drawable.ic_person_large)
|
||||
: recipient.getFallbackContactPhoto();
|
||||
|
||||
Resources resources = this.getResources();
|
||||
|
||||
|
@ -194,7 +194,7 @@ public final class MediaPreviewActivity extends PassphraseRequiredActivity
|
||||
|
||||
if (threadRecipient != null) {
|
||||
if (mediaItem.outgoing || threadRecipient.isGroup()) {
|
||||
if (threadRecipient.isLocalNumber()) {
|
||||
if (threadRecipient.isSelf()) {
|
||||
from = getString(R.string.note_to_self);
|
||||
} else {
|
||||
to = threadRecipient.getDisplayName(this);
|
||||
|
@ -117,7 +117,7 @@ public final class AvatarImageView extends AppCompatImageView {
|
||||
* Shows self as the actual profile picture.
|
||||
*/
|
||||
public void setRecipient(@NonNull Recipient recipient) {
|
||||
if (recipient.isLocalNumber()) {
|
||||
if (recipient.isSelf()) {
|
||||
setAvatar(GlideApp.with(this), null, false);
|
||||
AvatarUtil.loadIconIntoImageView(recipient, this);
|
||||
} else {
|
||||
|
@ -4,22 +4,16 @@ import android.content.Context;
|
||||
import android.graphics.Typeface;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.view.ViewCompat;
|
||||
|
||||
import android.text.Spannable;
|
||||
import android.text.SpannableString;
|
||||
import android.text.SpannableStringBuilder;
|
||||
import android.text.Spanned;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
import android.text.style.StyleSpan;
|
||||
import android.text.style.TypefaceSpan;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.components.emoji.EmojiTextView;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.util.FeatureFlags;
|
||||
import org.thoughtcrime.securesms.util.ResUtil;
|
||||
import org.thoughtcrime.securesms.util.spans.CenterAlignedRelativeSizeSpan;
|
||||
|
||||
public class FromTextView extends EmojiTextView {
|
||||
|
||||
@ -59,7 +53,7 @@ public class FromTextView extends EmojiTextView {
|
||||
Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
|
||||
|
||||
|
||||
if (recipient.isLocalNumber()) {
|
||||
if (recipient.isSelf()) {
|
||||
builder.append(getContext().getString(R.string.note_to_self));
|
||||
} else {
|
||||
builder.append(fromSpan);
|
||||
|
@ -190,8 +190,8 @@ public class QuoteView extends FrameLayout implements RecipientForeverObserver {
|
||||
private void setQuoteAuthor(@NonNull Recipient author) {
|
||||
boolean outgoing = messageType != MESSAGE_TYPE_INCOMING;
|
||||
|
||||
authorView.setText(author.isLocalNumber() ? getContext().getString(R.string.QuoteView_you)
|
||||
: author.getDisplayName(getContext()));
|
||||
authorView.setText(author.isSelf() ? getContext().getString(R.string.QuoteView_you)
|
||||
: author.getDisplayName(getContext()));
|
||||
|
||||
// We use the raw color resource because Android 4.x was struggling with tints here
|
||||
quoteBarView.setImageResource(author.getColor().toQuoteBarColorResource(getContext(), outgoing));
|
||||
|
@ -42,7 +42,7 @@ public class TypingStatusRepository {
|
||||
}
|
||||
|
||||
public synchronized void onTypingStarted(@NonNull Context context, long threadId, @NonNull Recipient author, int device) {
|
||||
if (author.isLocalNumber()) {
|
||||
if (author.isSelf()) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -66,7 +66,7 @@ public class TypingStatusRepository {
|
||||
}
|
||||
|
||||
public synchronized void onTypingStopped(@NonNull Context context, long threadId, @NonNull Recipient author, int device, boolean isReplacedByIncomingMessage) {
|
||||
if (author.isLocalNumber()) {
|
||||
if (author.isSelf()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -7,13 +7,10 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.logging.Log;
|
||||
import org.thoughtcrime.securesms.profiles.AvatarHelper;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||
import org.whispersystems.libsignal.util.ByteUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.security.MessageDigest;
|
||||
@ -67,7 +64,7 @@ public class ProfileContactPhoto implements ContactPhoto {
|
||||
}
|
||||
|
||||
private long getFileLastModified() {
|
||||
if (!recipient.isLocalNumber()) {
|
||||
if (!recipient.isSelf()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -29,8 +29,6 @@ import org.thoughtcrime.securesms.database.MessageDatabase.InsertResult;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase.BulkOperationsHandle;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase.RegisteredState;
|
||||
import org.thoughtcrime.securesms.database.SessionDatabase;
|
||||
import org.thoughtcrime.securesms.database.ThreadDatabase;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.jobs.MultiDeviceContactUpdateJob;
|
||||
import org.thoughtcrime.securesms.jobs.RetrieveProfileJob;
|
||||
@ -45,7 +43,6 @@ import org.thoughtcrime.securesms.storage.StorageSyncHelper;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||
import org.thoughtcrime.securesms.sms.IncomingJoinedMessage;
|
||||
import org.thoughtcrime.securesms.util.FeatureFlags;
|
||||
import org.thoughtcrime.securesms.util.ProfileUtil;
|
||||
import org.thoughtcrime.securesms.util.SetUtil;
|
||||
import org.thoughtcrime.securesms.util.Stopwatch;
|
||||
@ -398,7 +395,7 @@ public class DirectoryHelper {
|
||||
|
||||
for (RecipientId newUser: newUsers) {
|
||||
Recipient recipient = Recipient.resolved(newUser);
|
||||
if (!SessionUtil.hasSession(context, recipient.getId()) && !recipient.isLocalNumber()) {
|
||||
if (!SessionUtil.hasSession(context, recipient.getId()) && !recipient.isSelf()) {
|
||||
IncomingJoinedMessage message = new IncomingJoinedMessage(newUser);
|
||||
Optional<InsertResult> insertResult = DatabaseFactory.getSmsDatabase(context).insertMessageInbox(message);
|
||||
|
||||
|
@ -837,7 +837,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
|
||||
inflater.inflate(R.menu.conversation_add_to_contacts, menu);
|
||||
}
|
||||
|
||||
if (recipient != null && recipient.get().isLocalNumber()) {
|
||||
if (recipient != null && recipient.get().isSelf()) {
|
||||
if (isSecureText) {
|
||||
hideMenuItem(menu, R.id.menu_call_secure);
|
||||
hideMenuItem(menu, R.id.menu_video_secure);
|
||||
@ -1223,7 +1223,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
|
||||
@NonNull Recipient recipient)
|
||||
{
|
||||
IconCompat icon = IconCompat.createWithAdaptiveBitmap(bitmap);
|
||||
String name = recipient.isLocalNumber() ? context.getString(R.string.note_to_self)
|
||||
String name = recipient.isSelf() ? context.getString(R.string.note_to_self)
|
||||
: recipient.getDisplayName(context);
|
||||
|
||||
ShortcutInfoCompat shortcutInfoCompat = new ShortcutInfoCompat.Builder(context, recipient.getId().serialize() + '-' + System.currentTimeMillis())
|
||||
@ -2400,7 +2400,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
|
||||
if (!TextSecurePreferences.isPushRegistered(this)) return false;
|
||||
if (recipient.get().isGroup()) return false;
|
||||
|
||||
return recipient.get().isLocalNumber();
|
||||
return recipient.get().isSelf();
|
||||
}
|
||||
|
||||
private boolean isGroupConversation() {
|
||||
|
@ -24,7 +24,6 @@ import org.thoughtcrime.securesms.mms.GlideRequests;
|
||||
import org.thoughtcrime.securesms.recipients.LiveRecipient;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.util.ExpirationUtil;
|
||||
import org.thoughtcrime.securesms.util.FeatureFlags;
|
||||
import org.thoughtcrime.securesms.util.Util;
|
||||
import org.thoughtcrime.securesms.util.ViewUtil;
|
||||
|
||||
@ -97,7 +96,7 @@ public class ConversationTitleView extends RelativeLayout {
|
||||
startDrawable = R.drawable.ic_volume_off_white_18dp;
|
||||
}
|
||||
|
||||
if (recipient != null && recipient.isSystemContact() && !recipient.isLocalNumber()) {
|
||||
if (recipient != null && recipient.isSystemContact() && !recipient.isSelf()) {
|
||||
endDrawable = R.drawable.ic_profile_circle_outline_16;
|
||||
}
|
||||
|
||||
@ -125,7 +124,7 @@ public class ConversationTitleView extends RelativeLayout {
|
||||
|
||||
private void setRecipientTitle(Recipient recipient) {
|
||||
if (recipient.isGroup()) setGroupRecipientTitle(recipient);
|
||||
else if (recipient.isLocalNumber()) setSelfTitle();
|
||||
else if (recipient.isSelf()) setSelfTitle();
|
||||
else setIndividualRecipientTitle(recipient);
|
||||
}
|
||||
|
||||
@ -145,8 +144,8 @@ public class ConversationTitleView extends RelativeLayout {
|
||||
private void setGroupRecipientTitle(Recipient recipient) {
|
||||
this.title.setText(recipient.getDisplayName(getContext()));
|
||||
this.subtitle.setText(Stream.of(recipient.getParticipants())
|
||||
.sorted((a, b) -> Boolean.compare(a.isLocalNumber(), b.isLocalNumber()))
|
||||
.map(r -> r.isLocalNumber() ? getResources().getString(R.string.ConversationTitleView_you)
|
||||
.sorted((a, b) -> Boolean.compare(a.isSelf(), b.isSelf()))
|
||||
.map(r -> r.isSelf() ? getResources().getString(R.string.ConversationTitleView_you)
|
||||
: r.getDisplayName(getContext()))
|
||||
.collect(Collectors.joining(", ")));
|
||||
|
||||
|
@ -171,7 +171,7 @@ public final class ConversationListItem extends RelativeLayout
|
||||
|
||||
this.recipient.observeForever(this);
|
||||
if (highlightSubstring != null) {
|
||||
String name = recipient.get().isLocalNumber() ? getContext().getString(R.string.note_to_self) : recipient.get().getDisplayName(getContext());
|
||||
String name = recipient.get().isSelf() ? getContext().getString(R.string.note_to_self) : recipient.get().getDisplayName(getContext());
|
||||
|
||||
this.fromView.setText(SearchUtil.getHighlightedSpan(locale, () -> new StyleSpan(Typeface.BOLD), name, highlightSubstring));
|
||||
} else {
|
||||
|
@ -305,7 +305,7 @@ public final class GroupDatabase extends Database {
|
||||
|
||||
for (RecipientId member : currentMembers) {
|
||||
Recipient resolved = Recipient.resolved(member);
|
||||
if (memberSet.includeSelf || !resolved.isLocalNumber()) {
|
||||
if (memberSet.includeSelf || !resolved.isSelf()) {
|
||||
recipients.add(resolved);
|
||||
}
|
||||
}
|
||||
|
@ -1414,7 +1414,7 @@ public class MmsDatabase extends MessageDatabase {
|
||||
AttachmentDatabase partsDatabase = DatabaseFactory.getAttachmentDatabase(context);
|
||||
MentionDatabase mentionDatabase = DatabaseFactory.getMentionDatabase(context);
|
||||
|
||||
boolean mentionsSelf = Stream.of(mentions).filter(m -> Recipient.resolved(m.getRecipientId()).isLocalNumber()).findFirst().isPresent();
|
||||
boolean mentionsSelf = Stream.of(mentions).filter(m -> Recipient.resolved(m.getRecipientId()).isSelf()).findFirst().isPresent();
|
||||
|
||||
List<Attachment> allAttachments = new LinkedList<>();
|
||||
List<Attachment> contactAttachments = Stream.of(sharedContacts).map(Contact::getAvatarAttachment).filter(a -> a != null).toList();
|
||||
|
@ -151,8 +151,8 @@ public class MmsSmsDatabase extends Database {
|
||||
MessageRecord messageRecord;
|
||||
|
||||
while ((messageRecord = reader.getNext()) != null) {
|
||||
if ((Recipient.resolved(author).isLocalNumber() && messageRecord.isOutgoing()) ||
|
||||
(!Recipient.resolved(author).isLocalNumber() && messageRecord.getIndividualRecipient().getId().equals(author)))
|
||||
if ((Recipient.resolved(author).isSelf() && messageRecord.isOutgoing()) ||
|
||||
(!Recipient.resolved(author).isSelf() && messageRecord.getIndividualRecipient().getId().equals(author)))
|
||||
{
|
||||
return messageRecord;
|
||||
}
|
||||
@ -345,7 +345,7 @@ public class MmsSmsDatabase extends Database {
|
||||
String selection = MmsSmsColumns.THREAD_ID + " = " + threadId + " AND " + MmsSmsColumns.REMOTE_DELETED + " = 0";
|
||||
|
||||
try (Cursor cursor = queryTables(new String[]{ MmsSmsColumns.NORMALIZED_DATE_SENT, MmsSmsColumns.RECIPIENT_ID}, selection, order, null)) {
|
||||
boolean isOwnNumber = Recipient.resolved(recipientId).isLocalNumber();
|
||||
boolean isOwnNumber = Recipient.resolved(recipientId).isSelf();
|
||||
|
||||
while (cursor != null && cursor.moveToNext()) {
|
||||
boolean quoteIdMatches = cursor.getLong(0) == quoteId;
|
||||
@ -364,7 +364,7 @@ public class MmsSmsDatabase extends Database {
|
||||
String selection = MmsSmsColumns.THREAD_ID + " = " + threadId + " AND " + MmsSmsColumns.REMOTE_DELETED + " = 0";
|
||||
|
||||
try (Cursor cursor = queryTables(new String[]{ MmsSmsColumns.NORMALIZED_DATE_RECEIVED, MmsSmsColumns.RECIPIENT_ID}, selection, order, null)) {
|
||||
boolean isOwnNumber = Recipient.resolved(recipientId).isLocalNumber();
|
||||
boolean isOwnNumber = Recipient.resolved(recipientId).isSelf();
|
||||
|
||||
while (cursor != null && cursor.moveToNext()) {
|
||||
boolean timestampMatches = cursor.getLong(0) == receivedTimestamp;
|
||||
|
@ -2123,7 +2123,7 @@ public class RecipientDatabase extends Database {
|
||||
}
|
||||
|
||||
return Stream.of(recipientsWithinInteractionThreshold)
|
||||
.filterNot(Recipient::isLocalNumber)
|
||||
.filterNot(Recipient::isSelf)
|
||||
.filter(r -> r.getLastProfileFetchTime() < lastProfileFetchThreshold)
|
||||
.limit(limit)
|
||||
.map(Recipient::getId)
|
||||
|
@ -81,7 +81,7 @@ public final class GroupsV2CapabilityChecker {
|
||||
Log.w(TAG, "At least one recipient does not support GV2, capability was " + gv2Capability);
|
||||
|
||||
noGv2Count++;
|
||||
if (member.isLocalNumber()) {
|
||||
if (member.isSelf()) {
|
||||
noSelfGV2Support = true;
|
||||
}
|
||||
}
|
||||
|
@ -21,7 +21,6 @@ import org.thoughtcrime.securesms.database.GroupDatabase;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.groups.ui.GroupMemberEntry;
|
||||
import org.thoughtcrime.securesms.groups.v2.GroupInviteLinkUrl;
|
||||
import org.thoughtcrime.securesms.groups.v2.GroupLinkPassword;
|
||||
import org.thoughtcrime.securesms.groups.v2.GroupLinkUrlAndStatus;
|
||||
import org.thoughtcrime.securesms.recipients.LiveRecipient;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
@ -36,7 +35,7 @@ import java.util.List;
|
||||
|
||||
public final class LiveGroup {
|
||||
|
||||
private static final Comparator<GroupMemberEntry.FullMember> LOCAL_FIRST = (m1, m2) -> Boolean.compare(m2.getMember().isLocalNumber(), m1.getMember().isLocalNumber());
|
||||
private static final Comparator<GroupMemberEntry.FullMember> LOCAL_FIRST = (m1, m2) -> Boolean.compare(m2.getMember().isSelf(), m1.getMember().isSelf());
|
||||
private static final Comparator<GroupMemberEntry.FullMember> ADMIN_FIRST = (m1, m2) -> Boolean.compare(m2.isAdmin(), m1.isAdmin());
|
||||
private static final Comparator<GroupMemberEntry.FullMember> HAS_DISPLAY_NAME = (m1, m2) -> Boolean.compare(m2.getMember().hasAUserSetDisplayName(ApplicationDependencies.getApplication()), m1.getMember().hasAUserSetDisplayName(ApplicationDependencies.getApplication()));
|
||||
private static final Comparator<GroupMemberEntry.FullMember> ALPHABETICAL = (m1, m2) -> m1.getMember().getDisplayName(ApplicationDependencies.getApplication()).compareToIgnoreCase(m2.getMember().getDisplayName(ApplicationDependencies.getApplication()));
|
||||
|
@ -18,7 +18,6 @@ import org.thoughtcrime.securesms.components.AvatarImageView;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.util.LifecycleRecyclerAdapter;
|
||||
import org.thoughtcrime.securesms.util.LifecycleViewHolder;
|
||||
import org.thoughtcrime.securesms.util.Util;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
@ -200,8 +199,8 @@ final class GroupMemberListAdapter extends LifecycleRecyclerAdapter<GroupMemberL
|
||||
}
|
||||
|
||||
void bindRecipient(@NonNull Recipient recipient) {
|
||||
String displayName = recipient.isLocalNumber() ? context.getString(R.string.GroupMembersDialog_you)
|
||||
: recipient.getDisplayName(itemView.getContext());
|
||||
String displayName = recipient.isSelf() ? context.getString(R.string.GroupMembersDialog_you)
|
||||
: recipient.getDisplayName(itemView.getContext());
|
||||
bindImageAndText(recipient, displayName);
|
||||
}
|
||||
|
||||
|
@ -13,7 +13,6 @@ import org.thoughtcrime.securesms.crypto.UnidentifiedAccessUtil;
|
||||
import org.thoughtcrime.securesms.database.DatabaseFactory;
|
||||
import org.thoughtcrime.securesms.database.MessageDatabase;
|
||||
import org.thoughtcrime.securesms.database.MessageDatabase.SyncMessageId;
|
||||
import org.thoughtcrime.securesms.database.MmsDatabase;
|
||||
import org.thoughtcrime.securesms.database.NoSuchMessageException;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase.UnidentifiedAccessMode;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
@ -132,7 +131,7 @@ public class PushMediaSendJob extends PushSendJob {
|
||||
markAttachmentsUploaded(messageId, message.getAttachments());
|
||||
database.markUnidentified(messageId, unidentified);
|
||||
|
||||
if (recipient.isLocalNumber()) {
|
||||
if (recipient.isSelf()) {
|
||||
SyncMessageId id = new SyncMessageId(recipient.getId(), message.getSentTimeMillis());
|
||||
DatabaseFactory.getMmsSmsDatabase(context).incrementDeliveryReceiptCount(id, System.currentTimeMillis());
|
||||
DatabaseFactory.getMmsSmsDatabase(context).incrementReadReceiptCount(id, System.currentTimeMillis());
|
||||
|
@ -1202,7 +1202,7 @@ public final class PushProcessMessageJob extends BaseJob {
|
||||
message.getMessage().getExpiresInSeconds() * 1000L);
|
||||
}
|
||||
|
||||
if (recipients.isLocalNumber()) {
|
||||
if (recipients.isSelf()) {
|
||||
SyncMessageId id = new SyncMessageId(recipients.getId(), message.getTimestamp());
|
||||
DatabaseFactory.getMmsSmsDatabase(context).incrementDeliveryReceiptCount(id, System.currentTimeMillis());
|
||||
DatabaseFactory.getMmsSmsDatabase(context).incrementReadReceiptCount(id, System.currentTimeMillis());
|
||||
@ -1360,7 +1360,7 @@ public final class PushProcessMessageJob extends BaseJob {
|
||||
.scheduleDeletion(messageId, isGroup, message.getExpirationStartTimestamp(), expiresInMillis);
|
||||
}
|
||||
|
||||
if (recipient.isLocalNumber()) {
|
||||
if (recipient.isSelf()) {
|
||||
SyncMessageId id = new SyncMessageId(recipient.getId(), message.getTimestamp());
|
||||
DatabaseFactory.getMmsSmsDatabase(context).incrementDeliveryReceiptCount(id, System.currentTimeMillis());
|
||||
DatabaseFactory.getMmsSmsDatabase(context).incrementReadReceiptCount(id, System.currentTimeMillis());
|
||||
|
@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.jobs;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import org.thoughtcrime.securesms.database.Database;
|
||||
import org.thoughtcrime.securesms.database.MessageDatabase;
|
||||
import org.thoughtcrime.securesms.database.MessageDatabase.SyncMessageId;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase.UnidentifiedAccessMode;
|
||||
@ -11,7 +10,6 @@ import org.thoughtcrime.securesms.ApplicationContext;
|
||||
import org.thoughtcrime.securesms.crypto.UnidentifiedAccessUtil;
|
||||
import org.thoughtcrime.securesms.database.DatabaseFactory;
|
||||
import org.thoughtcrime.securesms.database.NoSuchMessageException;
|
||||
import org.thoughtcrime.securesms.database.SmsDatabase;
|
||||
import org.thoughtcrime.securesms.database.model.SmsMessageRecord;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.jobmanager.Data;
|
||||
@ -94,7 +92,7 @@ public class PushTextSendJob extends PushSendJob {
|
||||
database.markAsSent(messageId, true);
|
||||
database.markUnidentified(messageId, unidentified);
|
||||
|
||||
if (recipient.isLocalNumber()) {
|
||||
if (recipient.isSelf()) {
|
||||
SyncMessageId id = new SyncMessageId(recipient.getId(), record.getDateSent());
|
||||
DatabaseFactory.getMmsSmsDatabase(context).incrementDeliveryReceiptCount(id, System.currentTimeMillis());
|
||||
DatabaseFactory.getMmsSmsDatabase(context).incrementReadReceiptCount(id, System.currentTimeMillis());
|
||||
|
@ -114,7 +114,7 @@ public class RetrieveProfileJob extends BaseJob {
|
||||
public static @NonNull Job forRecipient(@NonNull RecipientId recipientId) {
|
||||
Recipient recipient = Recipient.resolved(recipientId);
|
||||
|
||||
if (recipient.isLocalNumber()) {
|
||||
if (recipient.isSelf()) {
|
||||
return new RefreshOwnProfileJob();
|
||||
} else if (recipient.isGroup()) {
|
||||
Context context = ApplicationDependencies.getApplication();
|
||||
@ -140,7 +140,7 @@ public class RetrieveProfileJob extends BaseJob {
|
||||
for (RecipientId recipientId : recipientIds) {
|
||||
Recipient recipient = Recipient.resolved(recipientId);
|
||||
|
||||
if (recipient.isLocalNumber()) {
|
||||
if (recipient.isSelf()) {
|
||||
includeSelf = true;
|
||||
} else if (recipient.isGroup()) {
|
||||
List<Recipient> recipients = DatabaseFactory.getGroupDatabase(context).getGroupMembers(recipient.requireGroupId(), GroupDatabase.MemberSet.FULL_MEMBERS_EXCLUDING_SELF);
|
||||
@ -427,7 +427,7 @@ public class RetrieveProfileJob extends BaseJob {
|
||||
|
||||
if (!recipient.isBlocked() &&
|
||||
!recipient.isGroup() &&
|
||||
!recipient.isLocalNumber() &&
|
||||
!recipient.isSelf() &&
|
||||
!localDisplayName.isEmpty() &&
|
||||
!remoteDisplayName.equals(localDisplayName))
|
||||
{
|
||||
@ -435,7 +435,7 @@ public class RetrieveProfileJob extends BaseJob {
|
||||
DatabaseFactory.getSmsDatabase(context).insertProfileNameChangeMessages(recipient, remoteDisplayName, localDisplayName);
|
||||
} else {
|
||||
Log.i(TAG, String.format(Locale.US, "Name changed, but wasn't relevant to write an event. blocked: %s, group: %s, self: %s, firstSet: %s, displayChange: %s",
|
||||
recipient.isBlocked(), recipient.isGroup(), recipient.isLocalNumber(), localDisplayName.isEmpty(), !remoteDisplayName.equals(localDisplayName)));
|
||||
recipient.isBlocked(), recipient.isGroup(), recipient.isSelf(), localDisplayName.isEmpty(), !remoteDisplayName.equals(localDisplayName)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -383,18 +383,18 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
||||
}
|
||||
|
||||
private String getSentFromToString(@NonNull Recipient from, @NonNull Recipient thread) {
|
||||
if (from.isLocalNumber() && from == thread) {
|
||||
if (from.isSelf() && from == thread) {
|
||||
return context.getString(R.string.note_to_self);
|
||||
}
|
||||
|
||||
if (showThread && (from.isLocalNumber() || thread.isGroup())) {
|
||||
if (from.isLocalNumber()) {
|
||||
if (showThread && (from.isSelf() || thread.isGroup())) {
|
||||
if (from.isSelf()) {
|
||||
return context.getString(R.string.MediaOverviewActivity_sent_by_you_to_s, thread.getDisplayName(context));
|
||||
} else {
|
||||
return context.getString(R.string.MediaOverviewActivity_sent_by_s_to_s, from.getDisplayName(context), thread.getDisplayName(context));
|
||||
}
|
||||
} else {
|
||||
if (from.isLocalNumber()) {
|
||||
if (from.isSelf()) {
|
||||
return context.getString(R.string.MediaOverviewActivity_sent_by_you);
|
||||
} else {
|
||||
return context.getString(R.string.MediaOverviewActivity_sent_by_s, from.getDisplayName(context));
|
||||
|
@ -64,7 +64,6 @@ import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||
import org.thoughtcrime.securesms.scribbles.ImageEditorFragment;
|
||||
import org.thoughtcrime.securesms.util.CharacterCalculator.CharacterState;
|
||||
import org.thoughtcrime.securesms.util.FeatureFlags;
|
||||
import org.thoughtcrime.securesms.util.Function3;
|
||||
import org.thoughtcrime.securesms.util.IOFunction;
|
||||
import org.thoughtcrime.securesms.util.MediaUtil;
|
||||
@ -829,7 +828,7 @@ public class MediaSendActivity extends PassphraseRequiredActivity implements Med
|
||||
private void presentRecipient(@Nullable Recipient recipient) {
|
||||
if (recipient == null) {
|
||||
composeText.setHint(R.string.MediaSendActivity_message);
|
||||
} else if (recipient.isLocalNumber()) {
|
||||
} else if (recipient.isSelf()) {
|
||||
composeText.setHint(getString(R.string.note_to_self), null);
|
||||
} else {
|
||||
composeText.setHint(getString(R.string.MediaSendActivity_message_to_s, recipient.getDisplayName(this)), null);
|
||||
|
@ -601,7 +601,7 @@ class MediaSendViewModel extends ViewModel {
|
||||
}
|
||||
|
||||
private boolean viewOnceSupported() {
|
||||
return !isSms && (recipient == null || !recipient.isLocalNumber()) && mediaSupportsRevealableMessage(getSelectedMediaOrDefault());
|
||||
return !isSms && (recipient == null || !recipient.isSelf()) && mediaSupportsRevealableMessage(getSelectedMediaOrDefault());
|
||||
}
|
||||
|
||||
private boolean mediaSupportsRevealableMessage(@NonNull List<Media> media) {
|
||||
|
@ -60,7 +60,7 @@ final class ReactionRecipientsAdapter extends RecyclerView.Adapter<ReactionRecip
|
||||
void bind(@NonNull ReactionDetails reaction) {
|
||||
this.emoji.setText(reaction.getDisplayEmoji());
|
||||
|
||||
if (reaction.getSender().isLocalNumber()) {
|
||||
if (reaction.getSender().isSelf()) {
|
||||
this.recipient.setText(R.string.ReactionsRecipientAdapter_you);
|
||||
this.avatar.setAvatar(GlideApp.with(avatar), null, false);
|
||||
AvatarUtil.loadIconIntoImageView(reaction.getSender(), avatar);
|
||||
|
@ -55,7 +55,7 @@ public class ReactionsViewModel extends ViewModel {
|
||||
|
||||
private @NonNull String getCountDisplayEmoji(@NonNull List<ReactionDetails> reactions) {
|
||||
for (ReactionDetails reaction : reactions) {
|
||||
if (reaction.getSender().isLocalNumber()) {
|
||||
if (reaction.getSender().isSelf()) {
|
||||
return reaction.getDisplayEmoji();
|
||||
}
|
||||
}
|
||||
|
@ -24,7 +24,6 @@ import org.thoughtcrime.securesms.contacts.avatars.ResourceContactPhoto;
|
||||
import org.thoughtcrime.securesms.contacts.avatars.SystemContactPhoto;
|
||||
import org.thoughtcrime.securesms.contacts.avatars.TransparentContactPhoto;
|
||||
import org.thoughtcrime.securesms.database.DatabaseFactory;
|
||||
import org.thoughtcrime.securesms.database.IdentityDatabase.VerifiedStatus;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase.MentionSetting;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase.RegisteredState;
|
||||
@ -73,7 +72,7 @@ public class Recipient {
|
||||
private final GroupId groupId;
|
||||
private final List<Recipient> participants;
|
||||
private final Optional<Long> groupAvatarId;
|
||||
private final boolean localNumber;
|
||||
private final boolean isSelf;
|
||||
private final boolean blocked;
|
||||
private final long muteUntil;
|
||||
private final VibrateState messageVibrate;
|
||||
@ -286,7 +285,7 @@ public class Recipient {
|
||||
this.groupId = null;
|
||||
this.participants = Collections.emptyList();
|
||||
this.groupAvatarId = Optional.absent();
|
||||
this.localNumber = false;
|
||||
this.isSelf = false;
|
||||
this.blocked = false;
|
||||
this.muteUntil = 0;
|
||||
this.messageVibrate = VibrateState.DEFAULT;
|
||||
@ -328,7 +327,7 @@ public class Recipient {
|
||||
this.groupId = details.groupId;
|
||||
this.participants = details.participants;
|
||||
this.groupAvatarId = details.groupAvatarId;
|
||||
this.localNumber = details.isLocalNumber;
|
||||
this.isSelf = details.isSelf;
|
||||
this.blocked = details.blocked;
|
||||
this.muteUntil = details.mutedUntil;
|
||||
this.messageVibrate = details.messageVibrateState;
|
||||
@ -364,8 +363,8 @@ public class Recipient {
|
||||
return id;
|
||||
}
|
||||
|
||||
public boolean isLocalNumber() {
|
||||
return localNumber;
|
||||
public boolean isSelf() {
|
||||
return isSelf;
|
||||
}
|
||||
|
||||
public @Nullable Uri getContactUri() {
|
||||
@ -418,8 +417,8 @@ public class Recipient {
|
||||
}
|
||||
|
||||
public @NonNull String getMentionDisplayName(@NonNull Context context) {
|
||||
String name = Util.getFirstNonEmpty(localNumber ? getProfileName().toString() : getName(context),
|
||||
localNumber ? getName(context) : getProfileName().toString(),
|
||||
String name = Util.getFirstNonEmpty(isSelf ? getProfileName().toString() : getName(context),
|
||||
isSelf ? getName(context) : getProfileName().toString(),
|
||||
e164,
|
||||
email,
|
||||
context.getString(R.string.Recipient_unknown));
|
||||
@ -630,7 +629,7 @@ public class Recipient {
|
||||
}
|
||||
|
||||
public boolean isActiveGroup() {
|
||||
return Stream.of(getParticipants()).anyMatch(Recipient::isLocalNumber);
|
||||
return Stream.of(getParticipants()).anyMatch(Recipient::isSelf);
|
||||
}
|
||||
|
||||
public @NonNull List<Recipient> getParticipants() {
|
||||
@ -658,7 +657,7 @@ public class Recipient {
|
||||
}
|
||||
|
||||
public @NonNull FallbackContactPhoto getFallbackContactPhoto(@NonNull FallbackPhotoProvider fallbackPhotoProvider) {
|
||||
if (localNumber) return fallbackPhotoProvider.getPhotoForLocalNumber();
|
||||
if (isSelf) return fallbackPhotoProvider.getPhotoForLocalNumber();
|
||||
else if (isResolving()) return fallbackPhotoProvider.getPhotoForResolvingRecipient();
|
||||
else if (isGroupInternal()) return fallbackPhotoProvider.getPhotoForGroup();
|
||||
else if (isGroup()) return fallbackPhotoProvider.getPhotoForGroup();
|
||||
@ -667,7 +666,7 @@ public class Recipient {
|
||||
}
|
||||
|
||||
public @Nullable ContactPhoto getContactPhoto() {
|
||||
if (localNumber) return null;
|
||||
if (isSelf) return null;
|
||||
else if (isGroupInternal() && groupAvatarId.isPresent()) return new GroupRecordContactPhoto(groupId, groupAvatarId.get());
|
||||
else if (systemContactPhoto != null) return new SystemContactPhoto(id, systemContactPhoto, 0);
|
||||
else if (profileAvatar != null && hasProfileImage) return new ProfileContactPhoto(this, profileAvatar);
|
||||
|
@ -8,8 +8,6 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.thoughtcrime.securesms.color.MaterialColor;
|
||||
import org.thoughtcrime.securesms.database.IdentityDatabase.VerifiedStatus;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase.InsightsBannerTier;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase.MentionSetting;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase.RecipientSettings;
|
||||
@ -17,7 +15,6 @@ import org.thoughtcrime.securesms.database.RecipientDatabase.RegisteredState;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase.UnidentifiedAccessMode;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase.VibrateState;
|
||||
import org.thoughtcrime.securesms.groups.GroupId;
|
||||
import org.thoughtcrime.securesms.profiles.AvatarHelper;
|
||||
import org.thoughtcrime.securesms.profiles.ProfileName;
|
||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||
import org.thoughtcrime.securesms.util.Util;
|
||||
@ -58,7 +55,7 @@ public class RecipientDetails {
|
||||
final boolean profileSharing;
|
||||
final long lastProfileFetch;
|
||||
final boolean systemContact;
|
||||
final boolean isLocalNumber;
|
||||
final boolean isSelf;
|
||||
final String notificationChannel;
|
||||
final UnidentifiedAccessMode unidentifiedAccessMode;
|
||||
final boolean forceSmsSelection;
|
||||
@ -71,7 +68,7 @@ public class RecipientDetails {
|
||||
public RecipientDetails(@Nullable String name,
|
||||
@NonNull Optional<Long> groupAvatarId,
|
||||
boolean systemContact,
|
||||
boolean isLocalNumber,
|
||||
boolean isSelf,
|
||||
@NonNull RecipientSettings settings,
|
||||
@Nullable List<Recipient> participants)
|
||||
{
|
||||
@ -103,7 +100,7 @@ public class RecipientDetails {
|
||||
this.profileSharing = settings.isProfileSharing();
|
||||
this.lastProfileFetch = settings.getLastProfileFetch();
|
||||
this.systemContact = systemContact;
|
||||
this.isLocalNumber = isLocalNumber;
|
||||
this.isSelf = isSelf;
|
||||
this.notificationChannel = settings.getNotificationChannel();
|
||||
this.unidentifiedAccessMode = settings.getUnidentifiedAccessMode();
|
||||
this.forceSmsSelection = settings.isForceSmsSelection();
|
||||
@ -150,7 +147,7 @@ public class RecipientDetails {
|
||||
this.profileSharing = false;
|
||||
this.lastProfileFetch = 0;
|
||||
this.systemContact = true;
|
||||
this.isLocalNumber = false;
|
||||
this.isSelf = false;
|
||||
this.notificationChannel = null;
|
||||
this.unidentifiedAccessMode = UnidentifiedAccessMode.UNKNOWN;
|
||||
this.forceSmsSelection = false;
|
||||
@ -163,9 +160,9 @@ public class RecipientDetails {
|
||||
|
||||
public static @NonNull RecipientDetails forIndividual(@NonNull Context context, @NonNull RecipientSettings settings) {
|
||||
boolean systemContact = !TextUtils.isEmpty(settings.getSystemDisplayName());
|
||||
boolean isLocalNumber = (settings.getE164() != null && settings.getE164().equals(TextSecurePreferences.getLocalNumber(context))) ||
|
||||
boolean isSelf = (settings.getE164() != null && settings.getE164().equals(TextSecurePreferences.getLocalNumber(context))) ||
|
||||
(settings.getUuid() != null && settings.getUuid().equals(TextSecurePreferences.getLocalUuid(context)));
|
||||
|
||||
return new RecipientDetails(null, Optional.absent(), systemContact, isLocalNumber, settings, null);
|
||||
return new RecipientDetails(null, Optional.absent(), systemContact, isSelf, settings, null);
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import org.thoughtcrime.securesms.jobs.RotateProfileKeyJob;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.logging.Log;
|
||||
import org.thoughtcrime.securesms.storage.StorageSyncHelper;
|
||||
import org.thoughtcrime.securesms.util.FeatureFlags;
|
||||
import org.whispersystems.libsignal.util.guava.Optional;
|
||||
import org.whispersystems.signalservice.api.push.SignalServiceAddress;
|
||||
|
||||
@ -253,7 +252,7 @@ public class RecipientUtil {
|
||||
}
|
||||
|
||||
public static boolean isLegacyProfileSharingAccepted(@NonNull Recipient threadRecipient) {
|
||||
return threadRecipient.isLocalNumber() ||
|
||||
return threadRecipient.isSelf() ||
|
||||
threadRecipient.isProfileSharing() ||
|
||||
threadRecipient.isSystemContact() ||
|
||||
!threadRecipient.isRegistered() ||
|
||||
@ -262,7 +261,7 @@ public class RecipientUtil {
|
||||
|
||||
@WorkerThread
|
||||
private static boolean isMessageRequestAccepted(@NonNull Context context, long threadId, @NonNull Recipient threadRecipient) {
|
||||
return threadRecipient.isLocalNumber() ||
|
||||
return threadRecipient.isSelf() ||
|
||||
threadRecipient.isProfileSharing() ||
|
||||
threadRecipient.isSystemContact() ||
|
||||
threadRecipient.isForceSmsSelection() ||
|
||||
|
@ -139,24 +139,24 @@ public final class RecipientBottomSheetDialogFragment extends BottomSheetDialogF
|
||||
}
|
||||
});
|
||||
avatar.setAvatar(recipient);
|
||||
if (recipient.isLocalNumber()) {
|
||||
if (recipient.isSelf()) {
|
||||
avatar.setOnClickListener(v -> {
|
||||
dismiss();
|
||||
viewModel.onMessageClicked(requireActivity());
|
||||
});
|
||||
}
|
||||
|
||||
String name = recipient.isLocalNumber() ? requireContext().getString(R.string.note_to_self)
|
||||
String name = recipient.isSelf() ? requireContext().getString(R.string.note_to_self)
|
||||
: recipient.getDisplayName(requireContext());
|
||||
fullName.setText(name);
|
||||
fullName.setVisibility(TextUtils.isEmpty(name) ? View.GONE : View.VISIBLE);
|
||||
if (recipient.isSystemContact() && !recipient.isLocalNumber()) {
|
||||
if (recipient.isSystemContact() && !recipient.isSelf()) {
|
||||
fullName.setCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, R.drawable.ic_profile_circle_outline_16, 0);
|
||||
fullName.setCompoundDrawablePadding(ViewUtil.dpToPx(4));
|
||||
TextViewCompat.setCompoundDrawableTintList(fullName, ColorStateList.valueOf(ThemeUtil.getThemedColor(requireContext(), R.attr.title_text_color_primary)));
|
||||
}
|
||||
|
||||
String usernameNumberString = recipient.hasAUserSetDisplayName(requireContext()) && !recipient.isLocalNumber()
|
||||
String usernameNumberString = recipient.hasAUserSetDisplayName(requireContext()) && !recipient.isSelf()
|
||||
? recipient.getSmsAddress().or("").trim()
|
||||
: "";
|
||||
usernameNumber.setText(usernameNumberString);
|
||||
@ -168,24 +168,24 @@ public final class RecipientBottomSheetDialogFragment extends BottomSheetDialogF
|
||||
return true;
|
||||
});
|
||||
|
||||
noteToSelfDescription.setVisibility(recipient.isLocalNumber() ? View.VISIBLE : View.GONE);
|
||||
noteToSelfDescription.setVisibility(recipient.isSelf() ? View.VISIBLE : View.GONE);
|
||||
|
||||
if (RecipientUtil.isBlockable(recipient)) {
|
||||
boolean blocked = recipient.isBlocked();
|
||||
|
||||
blockButton .setVisibility(recipient.isLocalNumber() || blocked ? View.GONE : View.VISIBLE);
|
||||
unblockButton.setVisibility(recipient.isLocalNumber() || !blocked ? View.GONE : View.VISIBLE);
|
||||
blockButton .setVisibility(recipient.isSelf() || blocked ? View.GONE : View.VISIBLE);
|
||||
unblockButton.setVisibility(recipient.isSelf() || !blocked ? View.GONE : View.VISIBLE);
|
||||
} else {
|
||||
blockButton .setVisibility(View.GONE);
|
||||
unblockButton.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
messageButton.setVisibility(!recipient.isLocalNumber() ? View.VISIBLE : View.GONE);
|
||||
secureCallButton.setVisibility(recipient.isRegistered() && !recipient.isLocalNumber() ? View.VISIBLE : View.GONE);
|
||||
insecureCallButton.setVisibility(!recipient.isRegistered() && !recipient.isLocalNumber() ? View.VISIBLE : View.GONE);
|
||||
secureVideoCallButton.setVisibility(recipient.isRegistered() && !recipient.isLocalNumber() ? View.VISIBLE : View.GONE);
|
||||
messageButton.setVisibility(!recipient.isSelf() ? View.VISIBLE : View.GONE);
|
||||
secureCallButton.setVisibility(recipient.isRegistered() && !recipient.isSelf() ? View.VISIBLE : View.GONE);
|
||||
insecureCallButton.setVisibility(!recipient.isRegistered() && !recipient.isSelf() ? View.VISIBLE : View.GONE);
|
||||
secureVideoCallButton.setVisibility(recipient.isRegistered() && !recipient.isSelf() ? View.VISIBLE : View.GONE);
|
||||
|
||||
if (recipient.isSystemContact() || recipient.isGroup() || recipient.isLocalNumber()) {
|
||||
if (recipient.isSystemContact() || recipient.isGroup() || recipient.isSelf()) {
|
||||
addContactButton.setVisibility(View.GONE);
|
||||
} else {
|
||||
addContactButton.setVisibility(View.VISIBLE);
|
||||
|
@ -84,7 +84,7 @@ final class RecipientDialogViewModel extends ViewModel {
|
||||
MutableLiveData<Integer> localGroupCount = new MutableLiveData<>(0);
|
||||
|
||||
canAddToAGroup = LiveDataUtil.combineLatest(recipient, localGroupCount,
|
||||
(r, count) -> count > 0 && r.isRegistered() && !r.isGroup() && !r.isLocalNumber());
|
||||
(r, count) -> count > 0 && r.isRegistered() && !r.isGroup() && !r.isSelf());
|
||||
|
||||
recipientDialogRepository.getActiveGroupCount(localGroupCount::postValue);
|
||||
}
|
||||
|
@ -317,9 +317,9 @@ public class ManageRecipientFragment extends LoggingFragment {
|
||||
colorChip.setImageDrawable(new ColorStateDrawable(colorDrawable, color));
|
||||
colorRow.setOnClickListener(v -> handleColorSelection(color));
|
||||
|
||||
secureCallButton.setVisibility(recipient.isRegistered() && !recipient.isLocalNumber() ? View.VISIBLE : View.GONE);
|
||||
insecureCallButton.setVisibility(!recipient.isRegistered() && !recipient.isLocalNumber() ? View.VISIBLE : View.GONE);
|
||||
secureVideoCallButton.setVisibility(recipient.isRegistered() && !recipient.isLocalNumber() ? View.VISIBLE : View.GONE);
|
||||
secureCallButton.setVisibility(recipient.isRegistered() && !recipient.isSelf() ? View.VISIBLE : View.GONE);
|
||||
insecureCallButton.setVisibility(!recipient.isRegistered() && !recipient.isSelf() ? View.VISIBLE : View.GONE);
|
||||
secureVideoCallButton.setVisibility(recipient.isRegistered() && !recipient.isSelf() ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
|
||||
private void presentMediaCursor(ManageRecipientViewModel.MediaCursor mediaCursor) {
|
||||
|
@ -109,13 +109,13 @@ public final class ManageRecipientViewModel extends ViewModel {
|
||||
|
||||
this.canAddToAGroup = LiveDataUtil.combineLatest(recipient,
|
||||
localGroupCount,
|
||||
(r, count) -> count > 0 && r.isRegistered() && !r.isGroup() && !r.isLocalNumber());
|
||||
(r, count) -> count > 0 && r.isRegistered() && !r.isGroup() && !r.isSelf());
|
||||
|
||||
manageRecipientRepository.getActiveGroupCount(localGroupCount::postValue);
|
||||
}
|
||||
|
||||
private static @NonNull String getDisplayTitle(@NonNull Recipient recipient, @NonNull Context context) {
|
||||
if (recipient.isLocalNumber()) {
|
||||
if (recipient.isSelf()) {
|
||||
return context.getString(R.string.note_to_self);
|
||||
} else {
|
||||
return recipient.getDisplayName(context);
|
||||
@ -123,7 +123,7 @@ public final class ManageRecipientViewModel extends ViewModel {
|
||||
}
|
||||
|
||||
private static @NonNull String getDisplaySubtitle(@NonNull Recipient recipient, @NonNull Context context) {
|
||||
if (!recipient.isLocalNumber() && recipient.hasAUserSetDisplayName(context)) {
|
||||
if (!recipient.isSelf() && recipient.hasAUserSetDisplayName(context)) {
|
||||
return recipient.getSmsAddress().or("").trim();
|
||||
} else {
|
||||
return "";
|
||||
|
@ -34,11 +34,9 @@ import org.thoughtcrime.securesms.attachments.DatabaseAttachment;
|
||||
import org.thoughtcrime.securesms.contacts.sync.DirectoryHelper;
|
||||
import org.thoughtcrime.securesms.contactshare.Contact;
|
||||
import org.thoughtcrime.securesms.database.AttachmentDatabase;
|
||||
import org.thoughtcrime.securesms.database.Database;
|
||||
import org.thoughtcrime.securesms.database.DatabaseFactory;
|
||||
import org.thoughtcrime.securesms.database.MessageDatabase;
|
||||
import org.thoughtcrime.securesms.database.MessageDatabase.SyncMessageId;
|
||||
import org.thoughtcrime.securesms.database.MmsDatabase;
|
||||
import org.thoughtcrime.securesms.database.MmsSmsDatabase;
|
||||
import org.thoughtcrime.securesms.database.NoSuchMessageException;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase;
|
||||
@ -461,7 +459,7 @@ public class MessageSender {
|
||||
|
||||
public static boolean isLocalSelfSend(@NonNull Context context, @Nullable Recipient recipient, boolean forceSms) {
|
||||
return recipient != null &&
|
||||
recipient.isLocalNumber() &&
|
||||
recipient.isSelf() &&
|
||||
!forceSms &&
|
||||
TextSecurePreferences.isPushRegistered(context) &&
|
||||
!TextSecurePreferences.isMultiDevice(context);
|
||||
|
@ -128,6 +128,6 @@ public class AttachmentUtil {
|
||||
return recipient.isSystemContact() ||
|
||||
recipient.isProfileSharing() ||
|
||||
message.isOutgoing() ||
|
||||
recipient.isLocalNumber();
|
||||
recipient.isSelf();
|
||||
}
|
||||
}
|
||||
|
@ -18,14 +18,14 @@ public final class RemoteDeleteUtil {
|
||||
private RemoteDeleteUtil() {}
|
||||
|
||||
public static boolean isValidReceive(@NonNull MessageRecord targetMessage, @NonNull Recipient deleteSender, long deleteServerTimestamp) {
|
||||
boolean isValidIncomingOutgoing = (deleteSender.isLocalNumber() && targetMessage.isOutgoing()) ||
|
||||
(!deleteSender.isLocalNumber() && !targetMessage.isOutgoing());
|
||||
boolean isValidIncomingOutgoing = (deleteSender.isSelf() && targetMessage.isOutgoing()) ||
|
||||
(!deleteSender.isSelf() && !targetMessage.isOutgoing());
|
||||
|
||||
boolean isValidSender = targetMessage.getIndividualRecipient().equals(deleteSender) ||
|
||||
deleteSender.isLocalNumber() && targetMessage.isOutgoing();
|
||||
deleteSender.isSelf() && targetMessage.isOutgoing();
|
||||
|
||||
long messageTimestamp = deleteSender.isLocalNumber() && targetMessage.isOutgoing() ? targetMessage.getDateSent()
|
||||
: targetMessage.getServerTimestamp();
|
||||
long messageTimestamp = deleteSender.isSelf() && targetMessage.isOutgoing() ? targetMessage.getDateSent()
|
||||
: targetMessage.getServerTimestamp();
|
||||
|
||||
return isValidIncomingOutgoing &&
|
||||
isValidSender &&
|
||||
@ -41,7 +41,7 @@ public final class RemoteDeleteUtil {
|
||||
return message.isOutgoing() &&
|
||||
message.isPush() &&
|
||||
(!message.getRecipient().isGroup() || message.getRecipient().isActiveGroup()) &&
|
||||
!message.getRecipient().isLocalNumber() &&
|
||||
!message.getRecipient().isSelf() &&
|
||||
!message.isRemoteDelete() &&
|
||||
(currentTime - message.getDateSent()) < SEND_THRESHOLD;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user