diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 128e448b6..0745865a4 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -130,14 +130,6 @@
android:value="org.thoughtcrime.securesms.ConversationListActivity" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/org/thoughtcrime/securesms/ConversationActivity.java b/src/org/thoughtcrime/securesms/ConversationActivity.java
index 1c90c4766..74f959b6b 100644
--- a/src/org/thoughtcrime/securesms/ConversationActivity.java
+++ b/src/org/thoughtcrime/securesms/ConversationActivity.java
@@ -865,23 +865,10 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
}
private void handleAddAttachment() {
- if (this.isMmsEnabled || isSecureText) {
- if (attachmentTypeSelector == null) {
- attachmentTypeSelector = new AttachmentTypeSelector(this, getSupportLoaderManager(), new AttachmentTypeListener());
- }
- attachmentTypeSelector.show(this, attachButton);
- } else {
- handleManualMmsRequired();
+ if (attachmentTypeSelector == null) {
+ attachmentTypeSelector = new AttachmentTypeSelector(this, getSupportLoaderManager(), new AttachmentTypeListener());
}
- }
-
- private void handleManualMmsRequired() {
- Toast.makeText(this, R.string.MmsDownloader_error_reading_mms_settings, Toast.LENGTH_LONG).show();
-
- Bundle extras = getIntent().getExtras();
- Intent intent = new Intent(this, PromptMmsActivity.class);
- if (extras != null) intent.putExtras(extras);
- startActivity(intent);
+ attachmentTypeSelector.show(this, attachButton);
}
private void handleSecurityChange(boolean isSecureText, boolean isDefaultSms) {
@@ -1462,9 +1449,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
Log.w(TAG, "isManual Selection: " + sendButton.isManualSelection());
Log.w(TAG, "forceSms: " + forceSms);
- if ((recipient.isMmsGroupRecipient() || recipient.getAddress().isEmail()) && !isMmsEnabled) {
- handleManualMmsRequired();
- } else if (attachmentManager.isAttachmentPresent() || recipient.isGroupRecipient() || recipient.getAddress().isEmail() || inputPanel.getQuote().isPresent()) {
+ if (attachmentManager.isAttachmentPresent() || recipient.isGroupRecipient() || recipient.getAddress().isEmail() || inputPanel.getQuote().isPresent()) {
sendMediaMessage(forceSms, expiresIn, subscriptionId, initiating);
} else {
sendTextMessage(forceSms, expiresIn, subscriptionId, initiating);
diff --git a/src/org/thoughtcrime/securesms/PromptMmsActivity.java b/src/org/thoughtcrime/securesms/PromptMmsActivity.java
deleted file mode 100644
index e2e4f6e96..000000000
--- a/src/org/thoughtcrime/securesms/PromptMmsActivity.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.thoughtcrime.securesms;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.widget.Button;
-
-import org.thoughtcrime.securesms.preferences.MmsPreferencesActivity;
-
-public class PromptMmsActivity extends PassphraseRequiredActionBarActivity {
-
- @Override
- protected void onCreate(Bundle bundle, boolean ready) {
- setContentView(R.layout.prompt_apn_activity);
- initializeResources();
- }
-
- private void initializeResources() {
- Button okButton = findViewById(R.id.ok_button);
- Button cancelButton = findViewById(R.id.cancel_button);
-
- okButton.setOnClickListener(v -> {
- Intent intent = new Intent(PromptMmsActivity.this, MmsPreferencesActivity.class);
- intent.putExtras(PromptMmsActivity.this.getIntent().getExtras());
- startActivity(intent);
- finish();
- });
-
- cancelButton.setOnClickListener(v -> finish());
- }
-
-}
diff --git a/src/org/thoughtcrime/securesms/backup/FullBackupImporter.java b/src/org/thoughtcrime/securesms/backup/FullBackupImporter.java
deleted file mode 100644
index 29b2f2cee..000000000
--- a/src/org/thoughtcrime/securesms/backup/FullBackupImporter.java
+++ /dev/null
@@ -1,328 +0,0 @@
-package org.thoughtcrime.securesms.backup;
-
-
-import android.annotation.SuppressLint;
-import android.content.ContentValues;
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.database.Cursor;
-import android.support.annotation.NonNull;
-import android.util.Log;
-import android.util.Pair;
-
-import net.sqlcipher.database.SQLiteDatabase;
-
-import org.greenrobot.eventbus.EventBus;
-import org.thoughtcrime.securesms.attachments.AttachmentId;
-import org.thoughtcrime.securesms.backup.BackupProtos.Attachment;
-import org.thoughtcrime.securesms.backup.BackupProtos.BackupFrame;
-import org.thoughtcrime.securesms.backup.BackupProtos.DatabaseVersion;
-import org.thoughtcrime.securesms.backup.BackupProtos.SharedPreference;
-import org.thoughtcrime.securesms.backup.BackupProtos.SqlStatement;
-import org.thoughtcrime.securesms.crypto.AttachmentSecret;
-import org.thoughtcrime.securesms.crypto.ModernEncryptingPartOutputStream;
-import org.thoughtcrime.securesms.database.Address;
-import org.thoughtcrime.securesms.database.AttachmentDatabase;
-import org.thoughtcrime.securesms.database.DatabaseFactory;
-import org.thoughtcrime.securesms.database.GroupReceiptDatabase;
-import org.thoughtcrime.securesms.database.MmsDatabase;
-import org.thoughtcrime.securesms.database.MmsSmsColumns;
-import org.thoughtcrime.securesms.database.SearchDatabase;
-import org.thoughtcrime.securesms.database.ThreadDatabase;
-import org.thoughtcrime.securesms.profiles.AvatarHelper;
-import org.thoughtcrime.securesms.util.Conversions;
-import org.thoughtcrime.securesms.util.Util;
-import org.whispersystems.libsignal.kdf.HKDFv3;
-import org.whispersystems.libsignal.util.ByteUtil;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.security.InvalidAlgorithmParameterException;
-import java.security.InvalidKeyException;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.Arrays;
-import java.util.LinkedList;
-import java.util.List;
-
-import javax.crypto.BadPaddingException;
-import javax.crypto.Cipher;
-import javax.crypto.IllegalBlockSizeException;
-import javax.crypto.Mac;
-import javax.crypto.NoSuchPaddingException;
-import javax.crypto.spec.IvParameterSpec;
-import javax.crypto.spec.SecretKeySpec;
-
-public class FullBackupImporter extends FullBackupBase {
-
- @SuppressWarnings("unused")
- private static final String TAG = FullBackupImporter.class.getSimpleName();
-
- public static void importFile(@NonNull Context context, @NonNull AttachmentSecret attachmentSecret,
- @NonNull SQLiteDatabase db, @NonNull File file, @NonNull String passphrase)
- throws IOException
- {
- BackupRecordInputStream inputStream = new BackupRecordInputStream(file, passphrase);
- int count = 0;
-
- try {
- db.beginTransaction();
-
- dropAllTables(db);
-
- BackupFrame frame;
-
- while (!(frame = inputStream.readFrame()).getEnd()) {
- if (count++ % 100 == 0) EventBus.getDefault().post(new BackupEvent(BackupEvent.Type.PROGRESS, count));
-
- if (frame.hasVersion()) processVersion(db, frame.getVersion());
- else if (frame.hasStatement()) processStatement(db, frame.getStatement());
- else if (frame.hasPreference()) processPreference(context, frame.getPreference());
- else if (frame.hasAttachment()) processAttachment(context, attachmentSecret, db, frame.getAttachment(), inputStream);
- else if (frame.hasAvatar()) processAvatar(context, frame.getAvatar(), inputStream);
- }
-
- trimEntriesForExpiredMessages(context, db);
-
- db.setTransactionSuccessful();
- } finally {
- db.endTransaction();
- }
-
- EventBus.getDefault().post(new BackupEvent(BackupEvent.Type.FINISHED, count));
- }
-
- private static void processVersion(@NonNull SQLiteDatabase db, DatabaseVersion version) {
- db.setVersion(version.getVersion());
- }
-
- private static void processStatement(@NonNull SQLiteDatabase db, SqlStatement statement) {
- boolean isForSmsFtsSecretTable = statement.getStatement().contains(SearchDatabase.SMS_FTS_TABLE_NAME + "_");
- boolean isForMmsFtsSecretTable = statement.getStatement().contains(SearchDatabase.MMS_FTS_TABLE_NAME + "_");
-
- if (isForSmsFtsSecretTable || isForMmsFtsSecretTable) {
- Log.i(TAG, "Ignoring import for statement: " + statement.getStatement());
- return;
- }
-
- List