From 6924f0519e0829002398a1cf1122eb0cd6c910ab Mon Sep 17 00:00:00 2001 From: Moxie Marlinspike Date: Mon, 21 Aug 2017 18:32:38 -0700 Subject: [PATCH] No need for a RecipientFactory any longer // FREEBIE --- .../securesms/BlockedContactsActivity.java | 3 +- .../securesms/ConfirmIdentityDialog.java | 3 +- .../securesms/ConversationActivity.java | 13 +++-- .../securesms/ConversationFragment.java | 3 +- .../securesms/ConversationListActivity.java | 3 +- .../securesms/GroupCreateActivity.java | 5 +- .../securesms/InviteActivity.java | 3 +- .../securesms/MediaOverviewActivity.java | 3 +- .../securesms/MediaPreviewActivity.java | 3 +- .../securesms/MessageDetailsActivity.java | 3 +- .../securesms/NewConversationActivity.java | 3 +- .../RecipientPreferenceActivity.java | 17 +++---- .../securesms/SmsSendtoActivity.java | 3 +- .../securesms/VerifyIdentityActivity.java | 5 +- .../components/PushRecipientsPanel.java | 5 +- .../contacts/ContactSelectionListItem.java | 5 +- .../contacts/ContactsCursorLoader.java | 3 +- .../storage/TextSecureIdentityKeyStore.java | 4 +- .../securesms/database/GroupDatabase.java | 12 ++--- .../securesms/database/MmsDatabase.java | 11 ++--- .../database/PlaintextBackupImporter.java | 3 +- .../database/RecipientPreferenceDatabase.java | 5 +- .../securesms/database/SmsDatabase.java | 9 ++-- .../securesms/database/SmsMigrator.java | 7 ++- .../securesms/database/ThreadDatabase.java | 6 +-- .../database/identity/IdentityRecordList.java | 5 +- .../securesms/groups/GroupManager.java | 8 ++- .../groups/GroupMessageProcessor.java | 3 +- .../securesms/jobs/MmsReceiveJob.java | 3 +- .../jobs/MultiDeviceContactUpdateJob.java | 5 +- .../securesms/jobs/PushDecryptJob.java | 12 ++--- .../securesms/jobs/PushReceivedJob.java | 5 +- .../jobs/RetrieveProfileAvatarJob.java | 3 +- .../securesms/jobs/RetrieveProfileJob.java | 3 +- .../securesms/jobs/SmsReceiveJob.java | 3 +- .../AndroidAutoReplyReceiver.java | 3 +- .../notifications/RemoteReplyReceiver.java | 3 +- .../securesms/recipients/Recipient.java | 22 ++++++++- .../recipients/RecipientFactory.java | 49 ------------------- .../securesms/service/DirectShareService.java | 3 +- .../service/QuickResponseService.java | 3 +- .../securesms/service/WebRtcCallService.java | 3 +- .../securesms/util/GroupUtil.java | 3 +- .../securesms/util/IdentityUtil.java | 5 +- 44 files changed, 105 insertions(+), 179 deletions(-) delete mode 100644 src/org/thoughtcrime/securesms/recipients/RecipientFactory.java diff --git a/src/org/thoughtcrime/securesms/BlockedContactsActivity.java b/src/org/thoughtcrime/securesms/BlockedContactsActivity.java index b83f91cec7..426071195b 100644 --- a/src/org/thoughtcrime/securesms/BlockedContactsActivity.java +++ b/src/org/thoughtcrime/securesms/BlockedContactsActivity.java @@ -21,7 +21,6 @@ import org.thoughtcrime.securesms.database.Address; import org.thoughtcrime.securesms.database.loaders.BlockedContactsLoader; import org.thoughtcrime.securesms.preferences.BlockedContactListItem; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.util.DynamicLanguage; import org.thoughtcrime.securesms.util.DynamicTheme; @@ -126,7 +125,7 @@ public class BlockedContactsActivity extends PassphraseRequiredActionBarActivity @Override public void bindView(View view, Context context, Cursor cursor) { String address = cursor.getString(1); - Recipient recipient = RecipientFactory.getRecipientFor(context, Address.fromSerialized(address), true); + Recipient recipient = Recipient.from(context, Address.fromSerialized(address), true); ((BlockedContactListItem) view).set(recipient); } diff --git a/src/org/thoughtcrime/securesms/ConfirmIdentityDialog.java b/src/org/thoughtcrime/securesms/ConfirmIdentityDialog.java index 90a46f7dab..cb99911a0b 100644 --- a/src/org/thoughtcrime/securesms/ConfirmIdentityDialog.java +++ b/src/org/thoughtcrime/securesms/ConfirmIdentityDialog.java @@ -22,7 +22,6 @@ import org.thoughtcrime.securesms.database.documents.IdentityKeyMismatch; import org.thoughtcrime.securesms.database.model.MessageRecord; import org.thoughtcrime.securesms.jobs.PushDecryptJob; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.sms.MessageSender; import org.thoughtcrime.securesms.util.Base64; import org.thoughtcrime.securesms.util.VerifySpan; @@ -47,7 +46,7 @@ public class ConfirmIdentityDialog extends AlertDialog { { super(context); - Recipient recipient = RecipientFactory.getRecipientFor(context, mismatch.getAddress(), false); + Recipient recipient = Recipient.from(context, mismatch.getAddress(), false); String name = recipient.toShortString(); String introduction = String.format(context.getString(R.string.ConfirmIdentityDialog_your_safety_number_with_s_has_changed), name, name); SpannableString spannableString = new SpannableString(introduction + " " + diff --git a/src/org/thoughtcrime/securesms/ConversationActivity.java b/src/org/thoughtcrime/securesms/ConversationActivity.java index 5d19253073..7ee47f864a 100644 --- a/src/org/thoughtcrime/securesms/ConversationActivity.java +++ b/src/org/thoughtcrime/securesms/ConversationActivity.java @@ -130,7 +130,6 @@ import org.thoughtcrime.securesms.notifications.MarkReadReceiver; import org.thoughtcrime.securesms.notifications.MessageNotifier; import org.thoughtcrime.securesms.providers.PersistentBlobProvider; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.recipients.RecipientFormattingException; import org.thoughtcrime.securesms.recipients.RecipientModifiedListener; import org.thoughtcrime.securesms.scribbles.ScribbleActivity; @@ -408,7 +407,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity addAttachmentContactInfo(data.getData()); break; case GROUP_EDIT: - recipient = RecipientFactory.getRecipientFor(this, (Address)data.getParcelableExtra(GroupCreateActivity.GROUP_ADDRESS_EXTRA), true); + recipient = Recipient.from(this, (Address)data.getParcelableExtra(GroupCreateActivity.GROUP_ADDRESS_EXTRA), true); recipient.addListener(this); titleView.setTitle(recipient); setBlockedUserState(recipient, isSecureText, isDefaultSms); @@ -420,7 +419,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity } break; case ADD_CONTACT: - recipient = RecipientFactory.getRecipientFor(this, recipient.getAddress(), true); + recipient = Recipient.from(this, recipient.getAddress(), true); recipient.addListener(this); fragment.reloadList(); break; @@ -1251,7 +1250,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity private void initializeResources() { if (recipient != null) recipient.removeListener(this); - recipient = RecipientFactory.getRecipientFor(this, (Address)getIntent().getParcelableExtra(ADDRESS_EXTRA), true); + recipient = Recipient.from(this, (Address)getIntent().getParcelableExtra(ADDRESS_EXTRA), true); threadId = getIntent().getLongExtra(THREAD_ID_EXTRA, -1); archived = getIntent().getBooleanExtra(IS_ARCHIVED_EXTRA, false); distributionType = getIntent().getIntExtra(DISTRIBUTION_TYPE_EXTRA, ThreadDatabase.DistributionTypes.DEFAULT); @@ -1318,7 +1317,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity Log.w(TAG, "Group update received..."); if (recipient != null) { Log.w(TAG, "Looking up new recipients..."); - recipient = RecipientFactory.getRecipientFor(context, recipient.getAddress(), true); + recipient = Recipient.from(context, recipient.getAddress(), true); recipient.addListener(ConversationActivity.this); onModified(recipient); fragment.reloadList(); @@ -1328,7 +1327,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity IntentFilter staleFilter = new IntentFilter(); staleFilter.addAction(GroupDatabase.DATABASE_UPDATE_ACTION); - staleFilter.addAction(RecipientFactory.RECIPIENT_CLEAR_ACTION); + staleFilter.addAction(Recipient.RECIPIENT_CLEAR_ACTION); registerReceiver(securityUpdateReceiver, new IntentFilter(SecurityEvent.SECURITY_UPDATE_EVENT), @@ -2053,7 +2052,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity String[] unverifiedNames = new String[unverifiedIdentities.size()]; for (int i=0;i preferences = DatabaseFactory.getRecipientPreferenceDatabase(context).getRecipientsPreferences(recipient.getAddress()); int subscriptionId = preferences.isPresent() ? preferences.get().getDefaultSubscriptionId().or(-1) : -1; diff --git a/src/org/thoughtcrime/securesms/MediaOverviewActivity.java b/src/org/thoughtcrime/securesms/MediaOverviewActivity.java index f58fb7b70d..081ebb31f8 100644 --- a/src/org/thoughtcrime/securesms/MediaOverviewActivity.java +++ b/src/org/thoughtcrime/securesms/MediaOverviewActivity.java @@ -43,7 +43,6 @@ import org.thoughtcrime.securesms.database.CursorRecyclerViewAdapter; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.MediaDatabase.MediaRecord; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.recipients.RecipientModifiedListener; import org.thoughtcrime.securesms.util.AbstractCursorLoader; import org.thoughtcrime.securesms.util.DynamicLanguage; @@ -136,7 +135,7 @@ public class MediaOverviewActivity extends PassphraseRequiredActionBarActivity i Address address = getIntent().getParcelableExtra(ADDRESS_EXTRA); if (address != null) { - recipient = RecipientFactory.getRecipientFor(this, address, true); + recipient = Recipient.from(this, address, true); } else if (threadId > -1) { recipient = DatabaseFactory.getThreadDatabase(this).getRecipientForThreadId(threadId); } else { diff --git a/src/org/thoughtcrime/securesms/MediaPreviewActivity.java b/src/org/thoughtcrime/securesms/MediaPreviewActivity.java index 820684e24c..08246658db 100644 --- a/src/org/thoughtcrime/securesms/MediaPreviewActivity.java +++ b/src/org/thoughtcrime/securesms/MediaPreviewActivity.java @@ -38,7 +38,6 @@ import org.thoughtcrime.securesms.database.Address; import org.thoughtcrime.securesms.mms.VideoSlide; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.recipients.RecipientModifiedListener; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.util.DateUtils; import org.thoughtcrime.securesms.util.DynamicLanguage; import org.thoughtcrime.securesms.util.SaveAttachmentTask; @@ -153,7 +152,7 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity im threadId = getIntent().getLongExtra(THREAD_ID_EXTRA, -1); if (address != null) { - recipient = RecipientFactory.getRecipientFor(this, address, true); + recipient = Recipient.from(this, address, true); recipient.addListener(this); } else { recipient = null; diff --git a/src/org/thoughtcrime/securesms/MessageDetailsActivity.java b/src/org/thoughtcrime/securesms/MessageDetailsActivity.java index ea6e6a7498..a663689ffc 100644 --- a/src/org/thoughtcrime/securesms/MessageDetailsActivity.java +++ b/src/org/thoughtcrime/securesms/MessageDetailsActivity.java @@ -46,7 +46,6 @@ import org.thoughtcrime.securesms.database.loaders.MessageDetailsLoader; import org.thoughtcrime.securesms.database.model.MessageRecord; import org.thoughtcrime.securesms.notifications.MessageNotifier; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.recipients.RecipientModifiedListener; import org.thoughtcrime.securesms.util.DateUtils; import org.thoughtcrime.securesms.util.DynamicLanguage; @@ -138,7 +137,7 @@ public class MessageDetailsActivity extends PassphraseRequiredActionBarActivity private void initializeActionBar() { getSupportActionBar().setDisplayHomeAsUpEnabled(true); - Recipient recipient = RecipientFactory.getRecipientFor(this, (Address)getIntent().getParcelableExtra(ADDRESS_EXTRA), true); + Recipient recipient = Recipient.from(this, (Address)getIntent().getParcelableExtra(ADDRESS_EXTRA), true); recipient.addListener(this); setActionBarColor(recipient.getColor()); diff --git a/src/org/thoughtcrime/securesms/NewConversationActivity.java b/src/org/thoughtcrime/securesms/NewConversationActivity.java index e2025962c0..329c25ed1a 100644 --- a/src/org/thoughtcrime/securesms/NewConversationActivity.java +++ b/src/org/thoughtcrime/securesms/NewConversationActivity.java @@ -29,7 +29,6 @@ import org.thoughtcrime.securesms.database.Address; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.ThreadDatabase; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; /** * Activity container for starting a new conversation. @@ -50,7 +49,7 @@ public class NewConversationActivity extends ContactSelectionActivity { @Override public void onContactSelected(String number) { - Recipient recipient = RecipientFactory.getRecipientFor(this, Address.fromExternal(this, number), true); + Recipient recipient = Recipient.from(this, Address.fromExternal(this, number), true); Intent intent = new Intent(this, ConversationActivity.class); intent.putExtra(ConversationActivity.ADDRESS_EXTRA, recipient.getAddress()); diff --git a/src/org/thoughtcrime/securesms/RecipientPreferenceActivity.java b/src/org/thoughtcrime/securesms/RecipientPreferenceActivity.java index d5f878ffbf..90abdf48ac 100644 --- a/src/org/thoughtcrime/securesms/RecipientPreferenceActivity.java +++ b/src/org/thoughtcrime/securesms/RecipientPreferenceActivity.java @@ -42,7 +42,6 @@ import org.thoughtcrime.securesms.jobs.MultiDeviceContactUpdateJob; import org.thoughtcrime.securesms.preferences.AdvancedRingtonePreference; import org.thoughtcrime.securesms.preferences.ColorPreference; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.recipients.RecipientModifiedListener; import org.thoughtcrime.securesms.util.DirectoryHelper; import org.thoughtcrime.securesms.util.DynamicLanguage; @@ -88,7 +87,7 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi setContentView(R.layout.recipient_preference_activity); Address address = getIntent().getParcelableExtra(ADDRESS_EXTRA); - Recipient recipient = RecipientFactory.getRecipientFor(this, address, true); + Recipient recipient = Recipient.from(this, address, true); initializeToolbar(); initializeReceivers(); @@ -150,7 +149,7 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi this.staleReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { - Recipient recipient = RecipientFactory.getRecipientFor(context, (Address)getIntent().getParcelableExtra(ADDRESS_EXTRA), true); + Recipient recipient = Recipient.from(context, (Address)getIntent().getParcelableExtra(ADDRESS_EXTRA), true); recipient.addListener(RecipientPreferenceActivity.this); onModified(recipient); } @@ -158,7 +157,7 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi IntentFilter staleFilter = new IntentFilter(); staleFilter.addAction(GroupDatabase.DATABASE_UPDATE_ACTION); - staleFilter.addAction(RecipientFactory.RECIPIENT_CLEAR_ACTION); + staleFilter.addAction(Recipient.RECIPIENT_CLEAR_ACTION); registerReceiver(staleReceiver, staleFilter); } @@ -235,9 +234,9 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi } private void initializeRecipients() { - this.recipient = RecipientFactory.getRecipientFor(getActivity(), - (Address)getArguments().getParcelable(ADDRESS_EXTRA), - true); + this.recipient = Recipient.from(getActivity(), + (Address)getArguments().getParcelable(ADDRESS_EXTRA), + true); this.recipient.addListener(this); @@ -245,14 +244,14 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi @Override public void onReceive(Context context, Intent intent) { recipient.removeListener(RecipientPreferenceFragment.this); - recipient = RecipientFactory.getRecipientFor(getActivity(), (Address)getArguments().getParcelable(ADDRESS_EXTRA), true); + recipient = Recipient.from(getActivity(), (Address)getArguments().getParcelable(ADDRESS_EXTRA), true); onModified(recipient); } }; IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(GroupDatabase.DATABASE_UPDATE_ACTION); - intentFilter.addAction(RecipientFactory.RECIPIENT_CLEAR_ACTION); + intentFilter.addAction(Recipient.RECIPIENT_CLEAR_ACTION); getActivity().registerReceiver(staleReceiver, intentFilter); } diff --git a/src/org/thoughtcrime/securesms/SmsSendtoActivity.java b/src/org/thoughtcrime/securesms/SmsSendtoActivity.java index cda8428702..8134e3dcf3 100644 --- a/src/org/thoughtcrime/securesms/SmsSendtoActivity.java +++ b/src/org/thoughtcrime/securesms/SmsSendtoActivity.java @@ -13,7 +13,6 @@ import android.widget.Toast; import org.thoughtcrime.securesms.database.Address; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.util.Rfc5724Uri; import java.net.URISyntaxException; @@ -47,7 +46,7 @@ public class SmsSendtoActivity extends Activity { nextIntent.putExtra(ConversationActivity.TEXT_EXTRA, destination.getBody()); Toast.makeText(this, R.string.ConversationActivity_specify_recipient, Toast.LENGTH_LONG).show(); } else { - Recipient recipient = RecipientFactory.getRecipientFor(this, Address.fromExternal(this, destination.getDestination()), true); + Recipient recipient = Recipient.from(this, Address.fromExternal(this, destination.getDestination()), true); long threadId = DatabaseFactory.getThreadDatabase(this).getThreadIdIfExistsFor(recipient); nextIntent = new Intent(this, ConversationActivity.class); diff --git a/src/org/thoughtcrime/securesms/VerifyIdentityActivity.java b/src/org/thoughtcrime/securesms/VerifyIdentityActivity.java index a36a5e63b8..7624b20504 100644 --- a/src/org/thoughtcrime/securesms/VerifyIdentityActivity.java +++ b/src/org/thoughtcrime/securesms/VerifyIdentityActivity.java @@ -73,7 +73,6 @@ import org.thoughtcrime.securesms.qr.QrCode; import org.thoughtcrime.securesms.qr.ScanListener; import org.thoughtcrime.securesms.qr.ScanningThread; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.recipients.RecipientModifiedListener; import org.thoughtcrime.securesms.util.DynamicLanguage; import org.thoughtcrime.securesms.util.DynamicTheme; @@ -122,7 +121,7 @@ public class VerifyIdentityActivity extends PassphraseRequiredActionBarActivity getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setTitle(R.string.AndroidManifest__verify_safety_number); - Recipient recipient = RecipientFactory.getRecipientFor(this, (Address)getIntent().getParcelableExtra(ADDRESS_EXTRA), true); + Recipient recipient = Recipient.from(this, (Address)getIntent().getParcelableExtra(ADDRESS_EXTRA), true); recipient.addListener(this); setActionBarNotificationBarColor(recipient.getColor()); @@ -271,7 +270,7 @@ public class VerifyIdentityActivity extends PassphraseRequiredActionBarActivity this.localNumber = getArguments().getString(LOCAL_NUMBER); this.localIdentity = localIdentityParcelable.get(); this.remoteNumber = getArguments().getString(REMOTE_NUMBER); - this.recipient = RecipientFactory.getRecipientFor(getActivity(), address, true); + this.recipient = Recipient.from(getActivity(), address, true); this.remoteIdentity = remoteIdentityParcelable.get(); this.recipient.addListener(this); diff --git a/src/org/thoughtcrime/securesms/components/PushRecipientsPanel.java b/src/org/thoughtcrime/securesms/components/PushRecipientsPanel.java index 38c4e4cb97..062a7bed72 100644 --- a/src/org/thoughtcrime/securesms/components/PushRecipientsPanel.java +++ b/src/org/thoughtcrime/securesms/components/PushRecipientsPanel.java @@ -31,7 +31,6 @@ import org.thoughtcrime.securesms.contacts.RecipientsAdapter; import org.thoughtcrime.securesms.contacts.RecipientsEditor; import org.thoughtcrime.securesms.database.Address; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.recipients.RecipientModifiedListener; import java.util.LinkedList; @@ -128,8 +127,8 @@ public class PushRecipientsPanel extends RelativeLayout implements RecipientModi String token = tokenizer.nextToken().trim(); if (!TextUtils.isEmpty(token)) { - if (hasBracketedNumber(token)) recipients.add(RecipientFactory.getRecipientFor(context, Address.fromExternal(context, parseBracketedNumber(token)), asynchronous)); - else recipients.add(RecipientFactory.getRecipientFor(context, Address.fromExternal(context, token), asynchronous)); + if (hasBracketedNumber(token)) recipients.add(Recipient.from(context, Address.fromExternal(context, parseBracketedNumber(token)), asynchronous)); + else recipients.add(Recipient.from(context, Address.fromExternal(context, token), asynchronous)); } } diff --git a/src/org/thoughtcrime/securesms/contacts/ContactSelectionListItem.java b/src/org/thoughtcrime/securesms/contacts/ContactSelectionListItem.java index b55df22a44..3659eeecee 100644 --- a/src/org/thoughtcrime/securesms/contacts/ContactSelectionListItem.java +++ b/src/org/thoughtcrime/securesms/contacts/ContactSelectionListItem.java @@ -12,7 +12,6 @@ import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.components.AvatarImageView; import org.thoughtcrime.securesms.database.Address; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.recipients.RecipientModifiedListener; import org.thoughtcrime.securesms.util.ViewUtil; @@ -54,10 +53,10 @@ public class ContactSelectionListItem extends LinearLayout implements RecipientM if (type == ContactsDatabase.NEW_TYPE) { this.recipient = null; - this.contactPhotoImage.setAvatar(RecipientFactory.getRecipientFor(getContext(), Address.UNKNOWN, true), false); + this.contactPhotoImage.setAvatar(Recipient.from(getContext(), Address.UNKNOWN, true), false); } else if (!TextUtils.isEmpty(number)) { Address address = Address.fromExternal(getContext(), number); - this.recipient = RecipientFactory.getRecipientFor(getContext(), address, true); + this.recipient = Recipient.from(getContext(), address, true); if (this.recipient.getName() != null) { name = this.recipient.getName(); diff --git a/src/org/thoughtcrime/securesms/contacts/ContactsCursorLoader.java b/src/org/thoughtcrime/securesms/contacts/ContactsCursorLoader.java index c73c50c32a..6f3477d34e 100644 --- a/src/org/thoughtcrime/securesms/contacts/ContactsCursorLoader.java +++ b/src/org/thoughtcrime/securesms/contacts/ContactsCursorLoader.java @@ -30,7 +30,6 @@ import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.database.Address; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.util.DirectoryHelper; import org.thoughtcrime.securesms.util.NumberUtil; @@ -103,7 +102,7 @@ public class ContactsCursorLoader extends CursorLoader { ContactsDatabase.CONTACT_TYPE_COLUMN}); while (cursor.moveToNext()) { final String number = cursor.getString(cursor.getColumnIndexOrThrow(ContactsDatabase.NUMBER_COLUMN)); - final Recipient recipient = RecipientFactory.getRecipientFor(getContext(), Address.fromExternal(getContext(), number), true); + final Recipient recipient = Recipient.from(getContext(), Address.fromExternal(getContext(), number), true); if (DirectoryHelper.getUserCapabilities(getContext(), recipient) != DirectoryHelper.Capability.SUPPORTED) { matrix.addRow(new Object[]{cursor.getLong(cursor.getColumnIndexOrThrow(ContactsDatabase.ID_COLUMN)), diff --git a/src/org/thoughtcrime/securesms/crypto/storage/TextSecureIdentityKeyStore.java b/src/org/thoughtcrime/securesms/crypto/storage/TextSecureIdentityKeyStore.java index 1279349b64..be6736a40d 100644 --- a/src/org/thoughtcrime/securesms/crypto/storage/TextSecureIdentityKeyStore.java +++ b/src/org/thoughtcrime/securesms/crypto/storage/TextSecureIdentityKeyStore.java @@ -10,7 +10,7 @@ import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.IdentityDatabase; import org.thoughtcrime.securesms.database.IdentityDatabase.IdentityRecord; import org.thoughtcrime.securesms.database.IdentityDatabase.VerifiedStatus; -import org.thoughtcrime.securesms.recipients.RecipientFactory; +import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.util.IdentityUtil; import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.whispersystems.libsignal.IdentityKey; @@ -69,7 +69,7 @@ public class TextSecureIdentityKeyStore implements IdentityKeyStore { } identityDatabase.saveIdentity(signalAddress, identityKey, verifiedStatus, false, System.currentTimeMillis(), nonBlockingApproval); - IdentityUtil.markIdentityUpdate(context, RecipientFactory.getRecipientFor(context, signalAddress, true)); + IdentityUtil.markIdentityUpdate(context, Recipient.from(context, signalAddress, true)); SessionUtil.archiveSiblingSessions(context, address); return true; } diff --git a/src/org/thoughtcrime/securesms/database/GroupDatabase.java b/src/org/thoughtcrime/securesms/database/GroupDatabase.java index c5eb5d5bdf..f35d8a3e11 100644 --- a/src/org/thoughtcrime/securesms/database/GroupDatabase.java +++ b/src/org/thoughtcrime/securesms/database/GroupDatabase.java @@ -11,12 +11,10 @@ import android.graphics.Bitmap; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.text.TextUtils; -import android.util.Log; import com.annimon.stream.Stream; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.util.BitmapUtil; import org.thoughtcrime.securesms.util.GroupUtil; import org.thoughtcrime.securesms.util.Util; @@ -145,7 +143,7 @@ public class GroupDatabase extends Database { if (!includeSelf && Util.isOwnNumber(context, member)) continue; - recipients.add(RecipientFactory.getRecipientFor(context, member, false)); + recipients.add(Recipient.from(context, member, false)); } return recipients; @@ -174,7 +172,7 @@ public class GroupDatabase extends Database { contentValues.put(MMS, GroupUtil.isMmsGroup(groupId)); databaseHelper.getWritableDatabase().insert(TABLE_NAME, null, contentValues); - RecipientFactory.clearCache(context); + Recipient.clearCache(context); notifyConversationListListeners(); } @@ -193,7 +191,7 @@ public class GroupDatabase extends Database { GROUP_ID + " = ?", new String[] {groupId}); - RecipientFactory.clearCache(context); + Recipient.clearCache(context); notifyDatabaseListeners(); notifyConversationListListeners(); } @@ -204,7 +202,7 @@ public class GroupDatabase extends Database { databaseHelper.getWritableDatabase().update(TABLE_NAME, contentValues, GROUP_ID + " = ?", new String[] {groupId}); - RecipientFactory.clearCache(context); + Recipient.clearCache(context); notifyDatabaseListeners(); } @@ -219,7 +217,7 @@ public class GroupDatabase extends Database { databaseHelper.getWritableDatabase().update(TABLE_NAME, contentValues, GROUP_ID + " = ?", new String[] {groupId}); - RecipientFactory.clearCache(context); + Recipient.clearCache(context); notifyDatabaseListeners(); } diff --git a/src/org/thoughtcrime/securesms/database/MmsDatabase.java b/src/org/thoughtcrime/securesms/database/MmsDatabase.java index ca16c8455c..0519681944 100644 --- a/src/org/thoughtcrime/securesms/database/MmsDatabase.java +++ b/src/org/thoughtcrime/securesms/database/MmsDatabase.java @@ -57,7 +57,6 @@ import org.thoughtcrime.securesms.mms.OutgoingMediaMessage; import org.thoughtcrime.securesms.mms.OutgoingSecureMediaMessage; import org.thoughtcrime.securesms.mms.SlideDeck; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.recipients.RecipientFormattingException; import org.thoughtcrime.securesms.util.JsonUtils; import org.thoughtcrime.securesms.util.Util; @@ -250,10 +249,10 @@ public class MmsDatabase extends MessagingDatabase { private long getThreadIdFor(IncomingMediaMessage retrieved) throws RecipientFormattingException, MmsException { if (retrieved.getGroupId() != null) { - Recipient groupRecipients = RecipientFactory.getRecipientFor(context, retrieved.getGroupId(), true); + Recipient groupRecipients = Recipient.from(context, retrieved.getGroupId(), true); return DatabaseFactory.getThreadDatabase(context).getThreadIdFor(groupRecipients); } else { - Recipient sender = RecipientFactory.getRecipientFor(context, retrieved.getFrom(), true); + Recipient sender = Recipient.from(context, retrieved.getFrom(), true); return DatabaseFactory.getThreadDatabase(context).getThreadIdFor(sender); } } @@ -262,7 +261,7 @@ public class MmsDatabase extends MessagingDatabase { String fromString = notification.getFrom() != null && notification.getFrom().getTextString() != null ? Util.toIsoString(notification.getFrom().getTextString()) : ""; - Recipient recipient = RecipientFactory.getRecipientFor(context, Address.fromExternal(context, fromString), false); + Recipient recipient = Recipient.from(context, Address.fromExternal(context, fromString), false); return DatabaseFactory.getThreadDatabase(context).getThreadIdFor(recipient); } @@ -553,7 +552,7 @@ public class MmsDatabase extends MessagingDatabase { long threadId = cursor.getLong(cursor.getColumnIndexOrThrow(THREAD_ID)); int distributionType = DatabaseFactory.getThreadDatabase(context).getDistributionType(threadId); - Recipient recipient = RecipientFactory.getRecipientFor(context, Address.fromSerialized(address), false); + Recipient recipient = Recipient.from(context, Address.fromSerialized(address), false); if (body != null && (Types.isGroupQuit(outboxType) || Types.isGroupUpdate(outboxType))) { return new OutgoingGroupMediaMessage(recipient, body, attachments, timestamp, 0); @@ -1162,7 +1161,7 @@ public class MmsDatabase extends MessagingDatabase { address = Address.fromSerialized(serialized); } - return RecipientFactory.getRecipientFor(context, address, true); + return Recipient.from(context, address, true); } private List getMismatchedIdentities(String document) { diff --git a/src/org/thoughtcrime/securesms/database/PlaintextBackupImporter.java b/src/org/thoughtcrime/securesms/database/PlaintextBackupImporter.java index 92bb9fb478..bf023d493f 100644 --- a/src/org/thoughtcrime/securesms/database/PlaintextBackupImporter.java +++ b/src/org/thoughtcrime/securesms/database/PlaintextBackupImporter.java @@ -9,7 +9,6 @@ import android.util.Log; import org.thoughtcrime.securesms.crypto.MasterCipher; import org.thoughtcrime.securesms.crypto.MasterSecret; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.xmlpull.v1.XmlPullParserException; import java.io.File; @@ -34,7 +33,7 @@ public class PlaintextBackupImporter { XmlBackup.XmlBackupItem item; while ((item = backup.getNext()) != null) { - Recipient recipient = RecipientFactory.getRecipientFor(context, Address.fromExternal(context, item.getAddress()), false); + Recipient recipient = Recipient.from(context, Address.fromExternal(context, item.getAddress()), false); long threadId = threads.getThreadIdFor(recipient); SQLiteStatement statement = db.createInsertStatement(transaction); diff --git a/src/org/thoughtcrime/securesms/database/RecipientPreferenceDatabase.java b/src/org/thoughtcrime/securesms/database/RecipientPreferenceDatabase.java index c46dcd8e5e..c678729785 100644 --- a/src/org/thoughtcrime/securesms/database/RecipientPreferenceDatabase.java +++ b/src/org/thoughtcrime/securesms/database/RecipientPreferenceDatabase.java @@ -15,7 +15,6 @@ import com.annimon.stream.Stream; import org.greenrobot.eventbus.EventBus; import org.thoughtcrime.securesms.color.MaterialColor; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.util.Base64; import org.whispersystems.libsignal.util.guava.Optional; @@ -355,7 +354,7 @@ public class RecipientPreferenceDatabase extends Database { public void finish() { database.setTransactionSuccessful(); database.endTransaction(); - RecipientFactory.clearCache(context); + Recipient.clearCache(context); context.getContentResolver().notifyChange(Uri.parse(RECIPIENT_PREFERENCES_URI), null); } } @@ -475,7 +474,7 @@ public class RecipientPreferenceDatabase extends Database { public @NonNull Recipient getCurrent() { String serialized = cursor.getString(cursor.getColumnIndexOrThrow(ADDRESS)); - return RecipientFactory.getRecipientFor(context, Address.fromSerialized(serialized), false); + return Recipient.from(context, Address.fromSerialized(serialized), false); } public @Nullable Recipient getNext() { diff --git a/src/org/thoughtcrime/securesms/database/SmsDatabase.java b/src/org/thoughtcrime/securesms/database/SmsDatabase.java index 7e043fa4b7..81da9e38de 100644 --- a/src/org/thoughtcrime/securesms/database/SmsDatabase.java +++ b/src/org/thoughtcrime/securesms/database/SmsDatabase.java @@ -35,7 +35,6 @@ import org.thoughtcrime.securesms.database.model.MessageRecord; import org.thoughtcrime.securesms.database.model.SmsMessageRecord; import org.thoughtcrime.securesms.jobs.TrimThreadJob; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.sms.IncomingGroupMessage; import org.thoughtcrime.securesms.sms.IncomingTextMessage; import org.thoughtcrime.securesms.sms.OutgoingTextMessage; @@ -457,7 +456,7 @@ public class SmsDatabase extends MessagingDatabase { } private @NonNull Pair insertCallLog(@NonNull Address address, long type, boolean unread) { - Recipient recipient = RecipientFactory.getRecipientFor(context, address, true); + Recipient recipient = Recipient.from(context, address, true); long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(recipient); ContentValues values = new ContentValues(6); @@ -506,14 +505,14 @@ public class SmsDatabase extends MessagingDatabase { if (message.isIdentityVerified()) type |= Types.KEY_EXCHANGE_IDENTITY_VERIFIED_BIT; else if (message.isIdentityDefault()) type |= Types.KEY_EXCHANGE_IDENTITY_DEFAULT_BIT; - Recipient recipient = RecipientFactory.getRecipientFor(context, message.getSender(), true); + Recipient recipient = Recipient.from(context, message.getSender(), true); Recipient groupRecipient; if (message.getGroupId() == null) { groupRecipient = null; } else { - groupRecipient = RecipientFactory.getRecipientFor(context, message.getGroupId(), true); + groupRecipient = Recipient.from(context, message.getGroupId(), true); } boolean unread = (org.thoughtcrime.securesms.util.Util.isDefaultSmsProvider(context) || @@ -830,7 +829,7 @@ public class SmsDatabase extends MessagingDatabase { long expireStarted = cursor.getLong(cursor.getColumnIndexOrThrow(SmsDatabase.EXPIRE_STARTED)); List mismatches = getMismatches(mismatchDocument); - Recipient recipient = RecipientFactory.getRecipientFor(context, address, true); + Recipient recipient = Recipient.from(context, address, true); DisplayRecord.Body body = getBody(cursor); return new SmsMessageRecord(context, messageId, body, recipient, diff --git a/src/org/thoughtcrime/securesms/database/SmsMigrator.java b/src/org/thoughtcrime/securesms/database/SmsMigrator.java index 15c6b40b3e..f79949b1d5 100644 --- a/src/org/thoughtcrime/securesms/database/SmsMigrator.java +++ b/src/org/thoughtcrime/securesms/database/SmsMigrator.java @@ -28,7 +28,6 @@ import android.util.Log; import org.thoughtcrime.securesms.crypto.MasterCipher; import org.thoughtcrime.securesms.crypto.MasterSecret; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.util.TextSecurePreferences; import java.util.HashSet; @@ -152,7 +151,7 @@ public class SmsMigrator { String address = getTheirCanonicalAddress(context, theirRecipientId); if (address != null) { - recipientList.add(RecipientFactory.getRecipientFor(context, Address.fromExternal(context, address), true)); + recipientList.add(Recipient.from(context, Address.fromExternal(context, address), true)); } } @@ -234,7 +233,7 @@ public class SmsMigrator { long ourThreadId = threadDatabase.getThreadIdFor(ourRecipients.iterator().next()); migrateConversation(context, masterSecret, listener, progress, theirThreadId, ourThreadId); } else if (ourRecipients.size() > 1) { - ourRecipients.add(RecipientFactory.getRecipientFor(context, Address.fromSerialized(TextSecurePreferences.getLocalNumber(context)), true)); + ourRecipients.add(Recipient.from(context, Address.fromSerialized(TextSecurePreferences.getLocalNumber(context)), true)); List
memberAddresses = new LinkedList<>(); @@ -243,7 +242,7 @@ public class SmsMigrator { } String ourGroupId = DatabaseFactory.getGroupDatabase(context).getOrCreateGroupForMembers(memberAddresses, true); - Recipient ourGroupRecipient = RecipientFactory.getRecipientFor(context, Address.fromSerialized(ourGroupId), true); + Recipient ourGroupRecipient = Recipient.from(context, Address.fromSerialized(ourGroupId), true); long ourThreadId = threadDatabase.getThreadIdFor(ourGroupRecipient, ThreadDatabase.DistributionTypes.CONVERSATION); migrateConversation(context, masterSecret, listener, progress, theirThreadId, ourThreadId); diff --git a/src/org/thoughtcrime/securesms/database/ThreadDatabase.java b/src/org/thoughtcrime/securesms/database/ThreadDatabase.java index b8769df859..6084867f61 100644 --- a/src/org/thoughtcrime/securesms/database/ThreadDatabase.java +++ b/src/org/thoughtcrime/securesms/database/ThreadDatabase.java @@ -22,7 +22,6 @@ import android.database.Cursor; import android.database.MergeCursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; -import android.graphics.Path; import android.net.Uri; import android.support.annotation.Nullable; import android.text.TextUtils; @@ -42,7 +41,6 @@ import org.thoughtcrime.securesms.database.model.ThreadRecord; import org.thoughtcrime.securesms.mms.Slide; import org.thoughtcrime.securesms.mms.SlideDeck; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.util.DelimiterUtil; import org.thoughtcrime.securesms.util.Util; import org.whispersystems.libsignal.InvalidMessageException; @@ -511,7 +509,7 @@ public class ThreadDatabase extends Database { if (cursor != null && cursor.moveToFirst()) { Address address = Address.fromSerialized(cursor.getString(cursor.getColumnIndexOrThrow(ADDRESS))); - return RecipientFactory.getRecipientFor(context, address, false); + return Recipient.from(context, address, false); } } finally { if (cursor != null) @@ -633,7 +631,7 @@ public class ThreadDatabase extends Database { groupRecord = Optional.absent(); } - Recipient recipient = RecipientFactory.getRecipientFor(context, address, preferences, groupRecord, true); + Recipient recipient = Recipient.from(context, address, preferences, groupRecord, true); DisplayRecord.Body body = getPlaintextBody(cursor); long date = cursor.getLong(cursor.getColumnIndexOrThrow(ThreadDatabase.DATE)); long count = cursor.getLong(cursor.getColumnIndexOrThrow(ThreadDatabase.MESSAGE_COUNT)); diff --git a/src/org/thoughtcrime/securesms/database/identity/IdentityRecordList.java b/src/org/thoughtcrime/securesms/database/identity/IdentityRecordList.java index 4ddc76e333..a92b060382 100644 --- a/src/org/thoughtcrime/securesms/database/identity/IdentityRecordList.java +++ b/src/org/thoughtcrime/securesms/database/identity/IdentityRecordList.java @@ -6,7 +6,6 @@ import android.content.Context; import org.thoughtcrime.securesms.database.IdentityDatabase.IdentityRecord; import org.thoughtcrime.securesms.database.IdentityDatabase.VerifiedStatus; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.whispersystems.libsignal.util.guava.Optional; import java.util.LinkedList; @@ -77,7 +76,7 @@ public class IdentityRecordList { for (IdentityRecord identityRecord : identityRecords) { if (isUntrusted(identityRecord)) { - untrusted.add(RecipientFactory.getRecipientFor(context, identityRecord.getAddress(), false)); + untrusted.add(Recipient.from(context, identityRecord.getAddress(), false)); } } @@ -101,7 +100,7 @@ public class IdentityRecordList { for (IdentityRecord identityRecord : identityRecords) { if (identityRecord.getVerifiedStatus() == VerifiedStatus.UNVERIFIED) { - unverified.add(RecipientFactory.getRecipientFor(context, identityRecord.getAddress(), false)); + unverified.add(Recipient.from(context, identityRecord.getAddress(), false)); } } diff --git a/src/org/thoughtcrime/securesms/groups/GroupManager.java b/src/org/thoughtcrime/securesms/groups/GroupManager.java index c42aeae0a7..65f870443c 100644 --- a/src/org/thoughtcrime/securesms/groups/GroupManager.java +++ b/src/org/thoughtcrime/securesms/groups/GroupManager.java @@ -19,13 +19,11 @@ import org.thoughtcrime.securesms.database.ThreadDatabase; import org.thoughtcrime.securesms.mms.OutgoingGroupMediaMessage; import org.thoughtcrime.securesms.providers.SingleUseBlobProvider; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.sms.MessageSender; import org.thoughtcrime.securesms.util.BitmapUtil; import org.thoughtcrime.securesms.util.GroupUtil; import org.thoughtcrime.securesms.util.MediaUtil; import org.thoughtcrime.securesms.util.TextSecurePreferences; -import org.whispersystems.libsignal.util.guava.Optional; import org.whispersystems.signalservice.api.util.InvalidNumberException; import org.whispersystems.signalservice.internal.push.SignalServiceProtos.GroupContext; @@ -58,7 +56,7 @@ public class GroupManager { DatabaseFactory.getRecipientPreferenceDatabase(context).setProfileSharing(Address.fromSerialized(groupId), true); return sendGroupUpdate(context, masterSecret, groupId, memberAddresses, name, avatarBytes); } else { - Recipient groupRecipient = RecipientFactory.getRecipientFor(context, Address.fromSerialized(groupId), true); + Recipient groupRecipient = Recipient.from(context, Address.fromSerialized(groupId), true); long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(groupRecipient, ThreadDatabase.DistributionTypes.CONVERSATION); return new GroupActionResult(groupRecipient, threadId); } @@ -84,7 +82,7 @@ public class GroupManager { if (!GroupUtil.isMmsGroup(groupId)) { return sendGroupUpdate(context, masterSecret, groupId, memberAddresses, name, avatarBytes); } else { - Recipient groupRecipient = RecipientFactory.getRecipientFor(context, Address.fromSerialized(groupId), true); + Recipient groupRecipient = Recipient.from(context, Address.fromSerialized(groupId), true); long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(groupRecipient); return new GroupActionResult(groupRecipient, threadId); } @@ -100,7 +98,7 @@ public class GroupManager { try { Attachment avatarAttachment = null; Address groupAddress = Address.fromSerialized(groupId); - Recipient groupRecipient = RecipientFactory.getRecipientFor(context, groupAddress, false); + Recipient groupRecipient = Recipient.from(context, groupAddress, false); List numbers = new LinkedList<>(); diff --git a/src/org/thoughtcrime/securesms/groups/GroupMessageProcessor.java b/src/org/thoughtcrime/securesms/groups/GroupMessageProcessor.java index 1e43ebd486..98042bef94 100644 --- a/src/org/thoughtcrime/securesms/groups/GroupMessageProcessor.java +++ b/src/org/thoughtcrime/securesms/groups/GroupMessageProcessor.java @@ -22,7 +22,6 @@ import org.thoughtcrime.securesms.mms.MmsException; import org.thoughtcrime.securesms.mms.OutgoingGroupMediaMessage; import org.thoughtcrime.securesms.notifications.MessageNotifier; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.sms.IncomingGroupMessage; import org.thoughtcrime.securesms.sms.IncomingTextMessage; import org.thoughtcrime.securesms.util.Base64; @@ -218,7 +217,7 @@ public class GroupMessageProcessor { if (outgoing) { MmsDatabase mmsDatabase = DatabaseFactory.getMmsDatabase(context); Address addres = Address.fromExternal(context, GroupUtil.getEncodedId(group.getGroupId(), false)); - Recipient recipient = RecipientFactory.getRecipientFor(context, addres, false); + Recipient recipient = Recipient.from(context, addres, false); OutgoingGroupMediaMessage outgoingMessage = new OutgoingGroupMediaMessage(recipient, storage, null, envelope.getTimestamp(), 0); long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(recipient); long messageId = mmsDatabase.insertMessageOutbox(masterSecret, outgoingMessage, threadId, false, null); diff --git a/src/org/thoughtcrime/securesms/jobs/MmsReceiveJob.java b/src/org/thoughtcrime/securesms/jobs/MmsReceiveJob.java index 5cbb700954..3477975c43 100644 --- a/src/org/thoughtcrime/securesms/jobs/MmsReceiveJob.java +++ b/src/org/thoughtcrime/securesms/jobs/MmsReceiveJob.java @@ -14,7 +14,6 @@ import org.thoughtcrime.securesms.database.Address; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.MmsDatabase; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.util.Util; import org.whispersystems.jobqueue.JobParameters; @@ -86,7 +85,7 @@ public class MmsReceiveJob extends ContextJob { private boolean isBlocked(GenericPdu pdu) { if (pdu.getFrom() != null && pdu.getFrom().getTextString() != null) { - Recipient recipients = RecipientFactory.getRecipientFor(context, Address.fromExternal(context, Util.toIsoString(pdu.getFrom().getTextString())), false); + Recipient recipients = Recipient.from(context, Address.fromExternal(context, Util.toIsoString(pdu.getFrom().getTextString())), false); return recipients.isBlocked(); } diff --git a/src/org/thoughtcrime/securesms/jobs/MultiDeviceContactUpdateJob.java b/src/org/thoughtcrime/securesms/jobs/MultiDeviceContactUpdateJob.java index 6d4dff089e..b492161bd3 100644 --- a/src/org/thoughtcrime/securesms/jobs/MultiDeviceContactUpdateJob.java +++ b/src/org/thoughtcrime/securesms/jobs/MultiDeviceContactUpdateJob.java @@ -20,7 +20,6 @@ import org.thoughtcrime.securesms.dependencies.InjectableType; import org.thoughtcrime.securesms.dependencies.SignalCommunicationModule.SignalMessageSenderFactory; import org.thoughtcrime.securesms.jobs.requirements.MasterSecretRequirement; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.whispersystems.jobqueue.JobParameters; import org.whispersystems.jobqueue.requirements.NetworkRequirement; @@ -94,7 +93,7 @@ public class MultiDeviceContactUpdateJob extends MasterSecretJob implements Inje try { DeviceContactsOutputStream out = new DeviceContactsOutputStream(new FileOutputStream(contactDataFile)); - Recipient recipient = RecipientFactory.getRecipientFor(context, address, false); + Recipient recipient = Recipient.from(context, address, false); Optional identityRecord = DatabaseFactory.getIdentityDatabase(context).getIdentity(address); Optional verifiedMessage = getVerifiedMessage(recipient, identityRecord); @@ -127,7 +126,7 @@ public class MultiDeviceContactUpdateJob extends MasterSecretJob implements Inje for (ContactData contactData : contacts) { Uri contactUri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, String.valueOf(contactData.id)); Address address = Address.fromExternal(context, contactData.numbers.get(0).number); - Recipient recipient = RecipientFactory.getRecipientFor(context, address, false); + Recipient recipient = Recipient.from(context, address, false); Optional identity = DatabaseFactory.getIdentityDatabase(context).getIdentity(address); Optional verified = getVerifiedMessage(recipient, identity); Optional name = Optional.fromNullable(contactData.name); diff --git a/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java b/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java index 44e210f3bd..a2017b0413 100644 --- a/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java +++ b/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java @@ -37,7 +37,6 @@ import org.thoughtcrime.securesms.mms.OutgoingMediaMessage; import org.thoughtcrime.securesms.mms.OutgoingSecureMediaMessage; import org.thoughtcrime.securesms.notifications.MessageNotifier; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.service.KeyCachingService; import org.thoughtcrime.securesms.service.WebRtcCallService; import org.thoughtcrime.securesms.sms.IncomingEncryptedMessage; @@ -84,7 +83,6 @@ import org.whispersystems.signalservice.api.messages.multidevice.VerifiedMessage import org.whispersystems.signalservice.api.push.SignalServiceAddress; import java.security.MessageDigest; -import java.util.Arrays; import java.util.List; import java.util.concurrent.TimeUnit; @@ -814,7 +812,7 @@ public class PushDecryptJob extends ContextJob { { database.setProfileKey(sourceAddress, message.getProfileKey().get()); - Recipient recipient = RecipientFactory.getRecipientFor(context, sourceAddress, true); + Recipient recipient = Recipient.from(context, sourceAddress, true); ApplicationContext.getInstance(context).getJobManager().add(new RetrieveProfileJob(context, recipient)); } @@ -833,17 +831,17 @@ public class PushDecryptJob extends ContextJob { private Recipient getSyncMessageDestination(SentTranscriptMessage message) { if (message.getMessage().getGroupInfo().isPresent()) { - return RecipientFactory.getRecipientFor(context, Address.fromExternal(context, GroupUtil.getEncodedId(message.getMessage().getGroupInfo().get().getGroupId(), false)), false); + return Recipient.from(context, Address.fromExternal(context, GroupUtil.getEncodedId(message.getMessage().getGroupInfo().get().getGroupId(), false)), false); } else { - return RecipientFactory.getRecipientFor(context, Address.fromExternal(context, message.getDestination().get()), false); + return Recipient.from(context, Address.fromExternal(context, message.getDestination().get()), false); } } private Recipient getMessageDestination(SignalServiceEnvelope envelope, SignalServiceDataMessage message) { if (message.getGroupInfo().isPresent()) { - return RecipientFactory.getRecipientFor(context, Address.fromExternal(context, GroupUtil.getEncodedId(message.getGroupInfo().get().getGroupId(), false)), false); + return Recipient.from(context, Address.fromExternal(context, GroupUtil.getEncodedId(message.getGroupInfo().get().getGroupId(), false)), false); } else { - return RecipientFactory.getRecipientFor(context, Address.fromExternal(context, envelope.getSource()), false); + return Recipient.from(context, Address.fromExternal(context, envelope.getSource()), false); } } } diff --git a/src/org/thoughtcrime/securesms/jobs/PushReceivedJob.java b/src/org/thoughtcrime/securesms/jobs/PushReceivedJob.java index 8ab37f6403..0cca40c451 100644 --- a/src/org/thoughtcrime/securesms/jobs/PushReceivedJob.java +++ b/src/org/thoughtcrime/securesms/jobs/PushReceivedJob.java @@ -9,7 +9,6 @@ import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.MessagingDatabase.SyncMessageId; import org.thoughtcrime.securesms.database.RecipientPreferenceDatabase.RecipientsPreferences; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.service.KeyCachingService; import org.thoughtcrime.securesms.util.Util; import org.whispersystems.jobqueue.JobManager; @@ -32,7 +31,7 @@ public abstract class PushReceivedJob extends ContextJob { if (!isActiveNumber(context, source)) { DatabaseFactory.getRecipientPreferenceDatabase(context).setRegistered(Util.asList(source), new LinkedList<>()); - Recipient recipient = RecipientFactory.getRecipientFor(context, source, false); + Recipient recipient = Recipient.from(context, source, false); ApplicationContext.getInstance(context).getJobManager().add(new DirectoryRefreshJob(context, KeyCachingService.getMasterSecret(context), recipient)); } @@ -46,7 +45,7 @@ public abstract class PushReceivedJob extends ContextJob { } private void handleMessage(SignalServiceEnvelope envelope, Address source, boolean sendExplicitReceipt) { - Recipient recipients = RecipientFactory.getRecipientFor(context, source, false); + Recipient recipients = Recipient.from(context, source, false); JobManager jobManager = ApplicationContext.getInstance(context).getJobManager(); if (!recipients.isBlocked()) { diff --git a/src/org/thoughtcrime/securesms/jobs/RetrieveProfileAvatarJob.java b/src/org/thoughtcrime/securesms/jobs/RetrieveProfileAvatarJob.java index d276eedd68..37f5283248 100644 --- a/src/org/thoughtcrime/securesms/jobs/RetrieveProfileAvatarJob.java +++ b/src/org/thoughtcrime/securesms/jobs/RetrieveProfileAvatarJob.java @@ -11,7 +11,6 @@ import org.thoughtcrime.securesms.database.RecipientPreferenceDatabase.Recipient import org.thoughtcrime.securesms.dependencies.InjectableType; import org.thoughtcrime.securesms.profiles.AvatarHelper; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.util.Util; import org.whispersystems.jobqueue.JobParameters; import org.whispersystems.jobqueue.requirements.NetworkRequirement; @@ -89,7 +88,7 @@ public class RetrieveProfileAvatarJob extends ContextJob implements InjectableTy } database.setProfileAvatar(recipient.getAddress(), profileAvatar); - RecipientFactory.clearCache(context); + Recipient.clearCache(context); } @Override diff --git a/src/org/thoughtcrime/securesms/jobs/RetrieveProfileJob.java b/src/org/thoughtcrime/securesms/jobs/RetrieveProfileJob.java index 952b0511af..2c1b71c561 100644 --- a/src/org/thoughtcrime/securesms/jobs/RetrieveProfileJob.java +++ b/src/org/thoughtcrime/securesms/jobs/RetrieveProfileJob.java @@ -11,7 +11,6 @@ import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.RecipientPreferenceDatabase.RecipientsPreferences; import org.thoughtcrime.securesms.dependencies.InjectableType; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.service.MessageRetrievalService; import org.thoughtcrime.securesms.util.Base64; import org.thoughtcrime.securesms.util.IdentityUtil; @@ -142,7 +141,7 @@ public class RetrieveProfileJob extends ContextJob implements InjectableType { if (!Util.equals(plaintextProfileName, recipientPreferences.get().getProfileName())) { DatabaseFactory.getRecipientPreferenceDatabase(context).setProfileName(recipient.getAddress(), plaintextProfileName); - RecipientFactory.clearCache(context); + Recipient.clearCache(context); } } catch (ProfileCipher.InvalidCiphertextException | IOException e) { Log.w(TAG, e); diff --git a/src/org/thoughtcrime/securesms/jobs/SmsReceiveJob.java b/src/org/thoughtcrime/securesms/jobs/SmsReceiveJob.java index 2e019c602c..4fdf22ecb2 100644 --- a/src/org/thoughtcrime/securesms/jobs/SmsReceiveJob.java +++ b/src/org/thoughtcrime/securesms/jobs/SmsReceiveJob.java @@ -14,7 +14,6 @@ import org.thoughtcrime.securesms.database.EncryptingSmsDatabase; import org.thoughtcrime.securesms.database.MessagingDatabase.InsertResult; import org.thoughtcrime.securesms.notifications.MessageNotifier; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.service.KeyCachingService; import org.thoughtcrime.securesms.sms.IncomingTextMessage; import org.whispersystems.jobqueue.JobParameters; @@ -85,7 +84,7 @@ public class SmsReceiveJob extends ContextJob { private boolean isBlocked(IncomingTextMessage message) { if (message.getSender() != null) { - Recipient recipient = RecipientFactory.getRecipientFor(context, message.getSender(), false); + Recipient recipient = Recipient.from(context, message.getSender(), false); return recipient.isBlocked(); } diff --git a/src/org/thoughtcrime/securesms/notifications/AndroidAutoReplyReceiver.java b/src/org/thoughtcrime/securesms/notifications/AndroidAutoReplyReceiver.java index 0666d8bf22..9450564e31 100644 --- a/src/org/thoughtcrime/securesms/notifications/AndroidAutoReplyReceiver.java +++ b/src/org/thoughtcrime/securesms/notifications/AndroidAutoReplyReceiver.java @@ -32,7 +32,6 @@ import org.thoughtcrime.securesms.database.MessagingDatabase.MarkedMessageInfo; import org.thoughtcrime.securesms.database.RecipientPreferenceDatabase.RecipientsPreferences; import org.thoughtcrime.securesms.mms.OutgoingMediaMessage; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.sms.MessageSender; import org.thoughtcrime.securesms.sms.OutgoingTextMessage; import org.whispersystems.libsignal.logging.Log; @@ -65,7 +64,7 @@ public class AndroidAutoReplyReceiver extends MasterSecretBroadcastReceiver { final Address address = intent.getParcelableExtra(ADDRESS_EXTRA); final long threadId = intent.getLongExtra(THREAD_ID_EXTRA, -1); final CharSequence responseText = getMessageText(intent); - final Recipient recipient = RecipientFactory.getRecipientFor(context, address, false); + final Recipient recipient = Recipient.from(context, address, false); if (responseText != null) { new AsyncTask() { diff --git a/src/org/thoughtcrime/securesms/notifications/RemoteReplyReceiver.java b/src/org/thoughtcrime/securesms/notifications/RemoteReplyReceiver.java index 8372551690..0d5656ae67 100644 --- a/src/org/thoughtcrime/securesms/notifications/RemoteReplyReceiver.java +++ b/src/org/thoughtcrime/securesms/notifications/RemoteReplyReceiver.java @@ -32,7 +32,6 @@ import org.thoughtcrime.securesms.database.MessagingDatabase.MarkedMessageInfo; import org.thoughtcrime.securesms.database.RecipientPreferenceDatabase.RecipientsPreferences; import org.thoughtcrime.securesms.mms.OutgoingMediaMessage; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.sms.MessageSender; import org.thoughtcrime.securesms.sms.OutgoingTextMessage; import org.whispersystems.libsignal.util.guava.Optional; @@ -71,7 +70,7 @@ public class RemoteReplyReceiver extends MasterSecretBroadcastReceiver { Optional preferences = DatabaseFactory.getRecipientPreferenceDatabase(context).getRecipientsPreferences(address); int subscriptionId = preferences.isPresent() ? preferences.get().getDefaultSubscriptionId().or(-1) : -1; long expiresIn = preferences.isPresent() ? preferences.get().getExpireMessages() * 1000 : 0; - Recipient recipient = RecipientFactory.getRecipientFor(context, address, false); + Recipient recipient = Recipient.from(context, address, false); if (recipient.isGroupRecipient()) { OutgoingMediaMessage reply = new OutgoingMediaMessage(recipient, responseText.toString(), new LinkedList(), System.currentTimeMillis(), subscriptionId, expiresIn, 0); diff --git a/src/org/thoughtcrime/securesms/recipients/Recipient.java b/src/org/thoughtcrime/securesms/recipients/Recipient.java index cd525cf347..5c48e72a7a 100644 --- a/src/org/thoughtcrime/securesms/recipients/Recipient.java +++ b/src/org/thoughtcrime/securesms/recipients/Recipient.java @@ -16,6 +16,8 @@ */ package org.thoughtcrime.securesms.recipients; +import android.content.Context; +import android.content.Intent; import android.net.Uri; import android.support.annotation.NonNull; import android.support.annotation.Nullable; @@ -27,6 +29,7 @@ import org.thoughtcrime.securesms.contacts.avatars.ContactColors; import org.thoughtcrime.securesms.contacts.avatars.ContactPhoto; import org.thoughtcrime.securesms.contacts.avatars.ContactPhotoFactory; import org.thoughtcrime.securesms.database.Address; +import org.thoughtcrime.securesms.database.GroupDatabase; import org.thoughtcrime.securesms.database.RecipientPreferenceDatabase.RecipientsPreferences; import org.thoughtcrime.securesms.database.RecipientPreferenceDatabase.VibrateState; import org.thoughtcrime.securesms.recipients.RecipientProvider.RecipientDetails; @@ -45,7 +48,9 @@ import java.util.concurrent.ExecutionException; public class Recipient implements RecipientModifiedListener { - private final static String TAG = Recipient.class.getSimpleName(); + public static final String RECIPIENT_CLEAR_ACTION = "org.thoughtcrime.securesms.database.RecipientFactory.CLEAR"; + private static final String TAG = Recipient.class.getSimpleName(); + private static final RecipientProvider provider = new RecipientProvider(); private final Set listeners = Collections.newSetFromMap(new WeakHashMap()); @@ -68,6 +73,21 @@ public class Recipient implements RecipientModifiedListener { @Nullable private MaterialColor color; + public static @NonNull Recipient from(@NonNull Context context, @NonNull Address address, boolean asynchronous) { + if (address == null) throw new AssertionError(address); + return provider.getRecipient(context, address, Optional.absent(), Optional.absent(), asynchronous); + } + + public static @NonNull Recipient from(@NonNull Context context, @NonNull Address address, @NonNull Optional preferences, @NonNull Optional groupRecord, boolean asynchronous) { + if (address == null) throw new AssertionError(address); + return provider.getRecipient(context, address, preferences, groupRecord, asynchronous); + } + + public static void clearCache(Context context) { + provider.clearCache(); + context.sendBroadcast(new Intent(RECIPIENT_CLEAR_ACTION)); + } + Recipient(@NonNull Address address, @Nullable Recipient stale, @NonNull Optional details, diff --git a/src/org/thoughtcrime/securesms/recipients/RecipientFactory.java b/src/org/thoughtcrime/securesms/recipients/RecipientFactory.java deleted file mode 100644 index bc01001839..0000000000 --- a/src/org/thoughtcrime/securesms/recipients/RecipientFactory.java +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Copyright (C) 2011 Whisper Systems - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.thoughtcrime.securesms.recipients; - -import android.content.Context; -import android.content.Intent; -import android.support.annotation.NonNull; - -import org.thoughtcrime.securesms.database.Address; -import org.thoughtcrime.securesms.database.GroupDatabase.GroupRecord; -import org.thoughtcrime.securesms.database.RecipientPreferenceDatabase.RecipientsPreferences; -import org.whispersystems.libsignal.util.guava.Optional; - -public class RecipientFactory { - - public static final String RECIPIENT_CLEAR_ACTION = "org.thoughtcrime.securesms.database.RecipientFactory.CLEAR"; - - private static final RecipientProvider provider = new RecipientProvider(); - - public static @NonNull Recipient getRecipientFor(@NonNull Context context, @NonNull Address address, boolean asynchronous) { - if (address == null) throw new AssertionError(address); - return provider.getRecipient(context, address, Optional.absent(), Optional.absent(), asynchronous); - } - - public static @NonNull Recipient getRecipientFor(@NonNull Context context, @NonNull Address address, @NonNull Optional preferences, @NonNull Optional groupRecord, boolean asynchronous) { - if (address == null) throw new AssertionError(address); - return provider.getRecipient(context, address, preferences, groupRecord, asynchronous); - } - - public static void clearCache(Context context) { - provider.clearCache(); - context.sendBroadcast(new Intent(RECIPIENT_CLEAR_ACTION)); - } - -} diff --git a/src/org/thoughtcrime/securesms/service/DirectShareService.java b/src/org/thoughtcrime/securesms/service/DirectShareService.java index 1d9b55e202..99d41cf8d9 100644 --- a/src/org/thoughtcrime/securesms/service/DirectShareService.java +++ b/src/org/thoughtcrime/securesms/service/DirectShareService.java @@ -21,7 +21,6 @@ import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.ThreadDatabase; import org.thoughtcrime.securesms.database.model.ThreadRecord; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.util.BitmapUtil; import java.util.LinkedList; @@ -49,7 +48,7 @@ public class DirectShareService extends ChooserTargetService { ThreadRecord record; while ((record = reader.getNext()) != null && results.size() < 10) { - Recipient recipient = RecipientFactory.getRecipientFor(this, record.getRecipient().getAddress(), false); + Recipient recipient = Recipient.from(this, record.getRecipient().getAddress(), false); String name = recipient.toShortString(); Drawable drawable = recipient.getContactPhoto().asDrawable(this, recipient.getColor().toConversationColor(this)); Bitmap avatar = BitmapUtil.createFromDrawable(drawable, 500, 500); diff --git a/src/org/thoughtcrime/securesms/service/QuickResponseService.java b/src/org/thoughtcrime/securesms/service/QuickResponseService.java index 9b8d0d5ecf..8557b87c31 100644 --- a/src/org/thoughtcrime/securesms/service/QuickResponseService.java +++ b/src/org/thoughtcrime/securesms/service/QuickResponseService.java @@ -13,7 +13,6 @@ import org.thoughtcrime.securesms.database.Address; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.RecipientPreferenceDatabase.RecipientsPreferences; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.sms.MessageSender; import org.thoughtcrime.securesms.sms.OutgoingTextMessage; import org.thoughtcrime.securesms.util.Rfc5724Uri; @@ -53,7 +52,7 @@ public class QuickResponseService extends MasterSecretIntentService { } Address address = Address.fromExternal(this, number); - Recipient recipient = RecipientFactory.getRecipientFor(this, address, false); + Recipient recipient = Recipient.from(this, address, false); Optional preferences = DatabaseFactory.getRecipientPreferenceDatabase(this).getRecipientsPreferences(recipient.getAddress()); int subscriptionId = preferences.isPresent() ? preferences.get().getDefaultSubscriptionId().or(-1) : -1; long expiresIn = preferences.isPresent() ? preferences.get().getExpireMessages() * 1000 : 0; diff --git a/src/org/thoughtcrime/securesms/service/WebRtcCallService.java b/src/org/thoughtcrime/securesms/service/WebRtcCallService.java index a8c0484a55..6638e2afbd 100644 --- a/src/org/thoughtcrime/securesms/service/WebRtcCallService.java +++ b/src/org/thoughtcrime/securesms/service/WebRtcCallService.java @@ -33,7 +33,6 @@ import org.thoughtcrime.securesms.dependencies.SignalCommunicationModule.SignalM import org.thoughtcrime.securesms.events.WebRtcViewModel; import org.thoughtcrime.securesms.notifications.MessageNotifier; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.util.FutureTaskListener; import org.thoughtcrime.securesms.util.ListenableFutureTask; import org.thoughtcrime.securesms.util.ServiceUtil; @@ -945,7 +944,7 @@ public class WebRtcCallService extends Service implements InjectableType, PeerCo Address remoteAddress = intent.getParcelableExtra(EXTRA_REMOTE_ADDRESS); if (remoteAddress == null) throw new AssertionError("No recipient in intent!"); - return RecipientFactory.getRecipientFor(this, remoteAddress, true); + return Recipient.from(this, remoteAddress, true); } private long getCallId(Intent intent) { diff --git a/src/org/thoughtcrime/securesms/util/GroupUtil.java b/src/org/thoughtcrime/securesms/util/GroupUtil.java index 0e1bf17689..0637964758 100644 --- a/src/org/thoughtcrime/securesms/util/GroupUtil.java +++ b/src/org/thoughtcrime/securesms/util/GroupUtil.java @@ -8,7 +8,6 @@ import android.util.Log; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.database.Address; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.recipients.RecipientModifiedListener; import java.io.IOException; @@ -73,7 +72,7 @@ public class GroupUtil { this.members = new LinkedList<>(); for (String member : groupContext.getMembersList()) { - this.members.add(RecipientFactory.getRecipientFor(context, Address.fromExternal(context, member), true)); + this.members.add(Recipient.from(context, Address.fromExternal(context, member), true)); } } } diff --git a/src/org/thoughtcrime/securesms/util/IdentityUtil.java b/src/org/thoughtcrime/securesms/util/IdentityUtil.java index b512bc3465..0a159e2bbf 100644 --- a/src/org/thoughtcrime/securesms/util/IdentityUtil.java +++ b/src/org/thoughtcrime/securesms/util/IdentityUtil.java @@ -21,7 +21,6 @@ import org.thoughtcrime.securesms.database.MessagingDatabase.InsertResult; import org.thoughtcrime.securesms.database.SmsDatabase; import org.thoughtcrime.securesms.notifications.MessageNotifier; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.sms.IncomingIdentityDefaultMessage; import org.thoughtcrime.securesms.sms.IncomingIdentityUpdateMessage; import org.thoughtcrime.securesms.sms.IncomingIdentityVerifiedMessage; @@ -90,7 +89,7 @@ public class IdentityUtil { smsDatabase.insertMessageInbox(incoming); } else { - Recipient groupRecipient = RecipientFactory.getRecipientFor(context, Address.fromSerialized(GroupUtil.getEncodedId(group.getGroupId(), false)), true); + Recipient groupRecipient = Recipient.from(context, Address.fromSerialized(GroupUtil.getEncodedId(group.getGroupId(), false)), true); long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(groupRecipient); OutgoingTextMessage outgoing ; @@ -170,7 +169,7 @@ public class IdentityUtil { public static void processVerifiedMessage(Context context, MasterSecretUnion masterSecret, VerifiedMessage verifiedMessage) { synchronized (SESSION_LOCK) { IdentityDatabase identityDatabase = DatabaseFactory.getIdentityDatabase(context); - Recipient recipient = RecipientFactory.getRecipientFor(context, Address.fromExternal(context, verifiedMessage.getDestination()), true); + Recipient recipient = Recipient.from(context, Address.fromExternal(context, verifiedMessage.getDestination()), true); Optional identityRecord = identityDatabase.getIdentity(recipient.getAddress()); if (!identityRecord.isPresent() && verifiedMessage.getVerified() == VerifiedMessage.VerifiedState.DEFAULT) {