() {
- @Override
- public SmsCharacterCalculator createFromParcel(Parcel in) {
- return new SmsCharacterCalculator();
- }
-
- @Override
- public SmsCharacterCalculator[] newArray(int size) {
- return new SmsCharacterCalculator[size];
- }
- };
-}
diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/SmsUtil.java b/app/src/main/java/org/thoughtcrime/securesms/util/SmsUtil.java
deleted file mode 100644
index a0a7d062c1..0000000000
--- a/app/src/main/java/org/thoughtcrime/securesms/util/SmsUtil.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.thoughtcrime.securesms.util;
-
-import android.app.role.RoleManager;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Build;
-import android.provider.Telephony;
-
-import androidx.annotation.NonNull;
-import androidx.core.content.ContextCompat;
-
-public final class SmsUtil {
-
- private SmsUtil() {
- }
-
- /**
- * Must be used with {@code startActivityForResult}
- */
- public static @NonNull Intent getSmsRoleIntent(@NonNull Context context) {
- if (Build.VERSION.SDK_INT >= 29) {
- RoleManager roleManager = ContextCompat.getSystemService(context, RoleManager.class);
- return roleManager.createRequestRoleIntent(RoleManager.ROLE_SMS);
- } else {
- Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
- intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, context.getPackageName());
- return intent;
- }
- }
-}
diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/Util.java b/app/src/main/java/org/thoughtcrime/securesms/util/Util.java
index f8a6e9c126..ef39a8bd9d 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/util/Util.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/util/Util.java
@@ -24,9 +24,6 @@ import android.content.Context;
import android.content.pm.PackageManager;
import android.graphics.Typeface;
import android.net.Uri;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
-import android.provider.Telephony;
import android.telephony.TelephonyManager;
import android.text.Spannable;
import android.text.SpannableString;
@@ -38,8 +35,6 @@ import androidx.annotation.Nullable;
import androidx.annotation.RequiresPermission;
import com.annimon.stream.Stream;
-import com.google.android.mms.pdu_alt.CharacterSets;
-import com.google.android.mms.pdu_alt.EncodedStringValue;
import com.google.i18n.phonenumbers.NumberParseException;
import com.google.i18n.phonenumbers.PhoneNumberUtil;
import com.google.i18n.phonenumbers.Phonenumber;
@@ -50,11 +45,10 @@ import org.thoughtcrime.securesms.BuildConfig;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.components.ComposeText;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
-import org.thoughtcrime.securesms.mms.OutgoingLegacyMmsConnection;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.Arrays;
@@ -143,10 +137,6 @@ public class Util {
return out.toString();
}
- public static boolean isEmpty(EncodedStringValue[] value) {
- return value == null || value.length == 0;
- }
-
public static boolean isEmpty(ComposeText value) {
return value == null || value.getText() == null || TextUtils.isEmpty(value.getTextTrimmed());
}
@@ -198,27 +188,15 @@ public class Util {
}
public static @NonNull String toIsoString(byte[] bytes) {
- try {
- return new String(bytes, CharacterSets.MIMENAME_ISO_8859_1);
- } catch (UnsupportedEncodingException e) {
- throw new AssertionError("ISO_8859_1 must be supported!");
- }
+ return new String(bytes, StandardCharsets.ISO_8859_1);
}
public static byte[] toIsoBytes(String isoString) {
- try {
- return isoString.getBytes(CharacterSets.MIMENAME_ISO_8859_1);
- } catch (UnsupportedEncodingException e) {
- throw new AssertionError("ISO_8859_1 must be supported!");
- }
+ return isoString.getBytes(StandardCharsets.ISO_8859_1);
}
public static byte[] toUtf8Bytes(String utf8String) {
- try {
- return utf8String.getBytes(CharacterSets.MIMENAME_UTF_8);
- } catch (UnsupportedEncodingException e) {
- throw new AssertionError("UTF_8 must be supported!");
- }
+ return utf8String.getBytes(StandardCharsets.UTF_8);
}
public static void wait(Object lock, long timeout) {
@@ -231,7 +209,6 @@ public class Util {
@RequiresPermission(anyOf = {
android.Manifest.permission.READ_PHONE_STATE,
- android.Manifest.permission.READ_SMS,
android.Manifest.permission.READ_PHONE_NUMBERS
})
@SuppressLint("MissingPermission")
@@ -328,11 +305,6 @@ public class Util {
return result;
}
- @SuppressLint("NewApi")
- public static boolean isDefaultSmsProvider(Context context){
- return context.getPackageName().equals(Telephony.Sms.getDefaultSmsPackage(context));
- }
-
/**
* The app version.
*
@@ -394,10 +366,6 @@ public class Util {
}
}
- public static boolean isMmsCapable(Context context) {
- return (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) || OutgoingLegacyMmsConnection.isConnectionPossible(context);
- }
-
public static T getRandomElement(T[] elements) {
return elements[new SecureRandom().nextInt(elements.length)];
}
diff --git a/app/src/main/res/layout/activity_change_number_lock.xml b/app/src/main/res/layout/activity_change_number_lock.xml
index 2f141327f1..1d838f8a58 100644
--- a/app/src/main/res/layout/activity_change_number_lock.xml
+++ b/app/src/main/res/layout/activity_change_number_lock.xml
@@ -29,7 +29,7 @@
app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintVertical_bias="0"
app:tint="@color/signal_alert_primary"
- app:srcCompat="@drawable/ic_alert" />
+ app:srcCompat="@drawable/ic_warning_40" />
-
-
-
-
-
-
-
Other
- Payments (MobileCoin)
- Donations & Badges
- - SMS Export
Signal Android Debug Log Submission
diff --git a/app/src/test/java/org/thoughtcrime/securesms/database/TestMms.kt b/app/src/test/java/org/thoughtcrime/securesms/database/TestMms.kt
index 30a9aaf3a4..8b87edfe20 100644
--- a/app/src/test/java/org/thoughtcrime/securesms/database/TestMms.kt
+++ b/app/src/test/java/org/thoughtcrime/securesms/database/TestMms.kt
@@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.database
import android.content.ContentValues
import android.database.sqlite.SQLiteDatabase
-import com.google.android.mms.pdu_alt.PduHeaders
import org.thoughtcrime.securesms.database.model.StoryType
import org.thoughtcrime.securesms.mms.OutgoingMessage
import org.thoughtcrime.securesms.recipients.Recipient
@@ -75,7 +74,6 @@ object TestMms {
): Long {
val contentValues = ContentValues().apply {
put(MessageTable.DATE_SENT, message.sentTimeMillis)
- put(MessageTable.MMS_MESSAGE_TYPE, PduHeaders.MESSAGE_TYPE_SEND_REQ)
put(MessageTable.TYPE, type)
put(MessageTable.THREAD_ID, threadId)
diff --git a/app/src/test/java/org/thoughtcrime/securesms/jobmanager/migrations/RecipientIdJobMigrationTest.java b/app/src/test/java/org/thoughtcrime/securesms/jobmanager/migrations/RecipientIdJobMigrationTest.java
index ce031a8c09..6c55198046 100644
--- a/app/src/test/java/org/thoughtcrime/securesms/jobmanager/migrations/RecipientIdJobMigrationTest.java
+++ b/app/src/test/java/org/thoughtcrime/securesms/jobmanager/migrations/RecipientIdJobMigrationTest.java
@@ -22,7 +22,6 @@ import org.thoughtcrime.securesms.jobs.PushGroupSendJob;
import org.thoughtcrime.securesms.jobs.IndividualSendJob;
import org.thoughtcrime.securesms.jobs.RetrieveProfileAvatarJob;
import org.thoughtcrime.securesms.jobs.SendDeliveryReceiptJob;
-import org.thoughtcrime.securesms.jobs.SmsSendJob;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.recipients.RecipientId;
import org.thoughtcrime.securesms.util.JsonUtils;
@@ -273,40 +272,6 @@ public class RecipientIdJobMigrationTest {
new IndividualSendJob.Factory().create(mock(Job.Parameters.class), converted.getData());
}
- @Test
- public void migrate_smsSendJob_nonNull() throws Exception {
- JobData testData = new JobData("SmsSendJob", "+16101234567", -1, -1, new JsonJobData.Builder().putLong("message_id", 1).putInt("run_attempt", 0).serialize());
- mockRecipientResolve("+16101234567", 1);
-
- RecipientIdJobMigration subject = new RecipientIdJobMigration(mock(Application.class));
- JobData converted = subject.migrate(testData);
- JsonJobData data = JsonJobData.deserialize(converted.getData());
-
- assertEquals("SmsSendJob", converted.getFactoryKey());
- assertEquals(RecipientId.from(1).toQueueKey(), converted.getQueueKey());
- assertEquals(1, data.getLong("message_id"));
- assertEquals(0, data.getInt("run_attempt"));
-
- new SmsSendJob.Factory().create(mock(Job.Parameters.class), converted.getData());
- }
-
- @Test
- public void migrate_smsSendJob_null() throws Exception {
- JobData testData = new JobData("SmsSendJob", null, -1, -1, new JsonJobData.Builder().putLong("message_id", 1).putInt("run_attempt", 0).serialize());
- mockRecipientResolve("+16101234567", 1);
-
- RecipientIdJobMigration subject = new RecipientIdJobMigration(mock(Application.class));
- JobData converted = subject.migrate(testData);
- JsonJobData data = JsonJobData.deserialize(converted.getData());
-
- assertEquals("SmsSendJob", converted.getFactoryKey());
- assertNull(converted.getQueueKey());
- assertEquals(1, data.getLong("message_id"));
- assertEquals(0, data.getInt("run_attempt"));
-
- new SmsSendJob.Factory().create(mock(Job.Parameters.class), converted.getData());
- }
-
private void mockRecipientResolve(String address, long recipientId) {
Recipient mockRecipient = mockRecipient(recipientId);
recipientMockedStatic.when(() -> Recipient.external(any(), eq(address))).thenReturn(mockRecipient);
diff --git a/dependencies.gradle.kts b/dependencies.gradle.kts
index ddf3ffd464..01c8e78492 100644
--- a/dependencies.gradle.kts
+++ b/dependencies.gradle.kts
@@ -144,7 +144,6 @@ dependencyResolutionManagement {
library("materialish-progress", "com.pnikosis:materialish-progress:1.7")
library("subsampling-scale-image-view", "com.davemorrissey.labs:subsampling-scale-image-view-androidx:3.10.0")
library("android-tooltips", "com.tomergoldst.android:tooltips:1.0.6")
- library("android-smsmms", "com.klinkerapps:android-smsmms:4.0.1")
library("stream", "com.annimon:stream:1.1.8")
library("lottie", "com.airbnb.android:lottie:5.2.0")
library("dnsjava", "dnsjava:dnsjava:2.1.9")
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index 03adf6c051..2122f255c0 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -3371,16 +3371,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
-
-
-
-
-
-
-
-
-
-