Remove the Canonical Address Database

This was a holdover from Signal's origins as a pure SMS app.
It causes problems, depends on undefined device specific behavior,
and should no longer be necessary now that we have all the
information we need to E164 all numbers.

// FREEBIE
This commit is contained in:
Moxie Marlinspike
2017-07-26 09:59:15 -07:00
parent e452862813
commit 737810475e
113 changed files with 2029 additions and 2130 deletions

View File

@@ -38,12 +38,12 @@ import android.view.WindowManager;
import android.widget.TextView;
import org.thoughtcrime.securesms.crypto.MasterSecret;
import org.thoughtcrime.securesms.database.Address;
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.Recipient.RecipientModifiedListener;
import org.thoughtcrime.securesms.recipients.RecipientFactory;
import org.thoughtcrime.securesms.recipients.Recipients;
import org.thoughtcrime.securesms.util.AbstractCursorLoader;
import org.thoughtcrime.securesms.util.DynamicLanguage;
import org.thoughtcrime.securesms.util.SaveAttachmentTask;
@@ -58,7 +58,7 @@ import java.util.List;
public class MediaOverviewActivity extends PassphraseRequiredActionBarActivity implements LoaderManager.LoaderCallbacks<Cursor> {
private final static String TAG = MediaOverviewActivity.class.getSimpleName();
public static final String RECIPIENT_EXTRA = "recipient";
public static final String ADDRESSES_EXTRA = "addresses";
public static final String THREAD_ID_EXTRA = "thread_id";
private final DynamicLanguage dynamicLanguage = new DynamicLanguage();
@@ -68,7 +68,7 @@ public class MediaOverviewActivity extends PassphraseRequiredActionBarActivity i
private RecyclerView gridView;
private GridLayoutManager gridManager;
private TextView noImages;
private Recipient recipient;
private Recipients recipients;
private long threadId;
@Override
@@ -113,9 +113,9 @@ public class MediaOverviewActivity extends PassphraseRequiredActionBarActivity i
}
private void initializeActionBar() {
getSupportActionBar().setTitle(recipient == null
getSupportActionBar().setTitle(recipients == null
? getString(R.string.AndroidManifest__all_media)
: getString(R.string.AndroidManifest__all_media_named, recipient.toShortString()));
: getString(R.string.AndroidManifest__all_media_named, recipients.toShortString()));
}
@Override
@@ -132,19 +132,20 @@ public class MediaOverviewActivity extends PassphraseRequiredActionBarActivity i
gridView.setLayoutManager(gridManager);
gridView.setHasFixedSize(true);
final long recipientId = getIntent().getLongExtra(RECIPIENT_EXTRA, -1);
if (recipientId > -1) {
recipient = RecipientFactory.getRecipientForId(this, recipientId, true);
} else if (threadId > -1){
recipient = DatabaseFactory.getThreadDatabase(this).getRecipientsForThreadId(threadId).getPrimaryRecipient();
Address[] addresses = Address.fromParcelable(getIntent().getParcelableArrayExtra(ADDRESSES_EXTRA));
if (addresses != null) {
recipients = RecipientFactory.getRecipientsFor(this, addresses, true);
} else if (threadId > -1) {
recipients = DatabaseFactory.getThreadDatabase(this).getRecipientsForThreadId(threadId);
} else {
recipient = null;
recipients = null;
}
if (recipient != null) {
recipient.addListener(new RecipientModifiedListener() {
if (recipients != null) {
recipients.addListener(new Recipients.RecipientsModifiedListener() {
@Override
public void onModified(Recipient recipient) {
public void onModified(Recipients recipients) {
initializeActionBar();
}
});