diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactsCursorLoader.java b/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactsCursorLoader.java index 5c90529fe..8c5cbccba 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactsCursorLoader.java +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactsCursorLoader.java @@ -33,7 +33,6 @@ import org.thoughtcrime.securesms.database.ThreadDatabase; import org.thoughtcrime.securesms.database.model.ThreadRecord; import org.session.libsession.messaging.threads.GroupRecord; -import org.session.libsession.utilities.NumberUtil; import java.util.ArrayList; import java.util.List; @@ -131,10 +130,6 @@ public class ContactsCursorLoader extends CursorLoader { cursorList.addAll(getContactsCursors()); } - if (NumberUtil.isValidSmsOrEmail(filter)) { - cursorList.add(getNewNumberCursor()); - } - return cursorList; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java index dd1223efa..6762e6457 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java @@ -1106,8 +1106,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity if (recipient == null || attachmentManager == null) { return; } - boolean isMediaMessage = recipient.isMmsGroupRecipient() || attachmentManager.isAttachmentPresent(); - /* Loki - We don't support SMS if (!isSecureText && !isPushGroupConversation()) sendButton.disableTransport(Type.TEXTSECURE); if (recipient.isPushGroupRecipient()) sendButton.disableTransport(Type.SMS); diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/GroupDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/GroupDatabase.java index 50d5bca7b..871c2576c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/GroupDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/GroupDatabase.java @@ -123,28 +123,6 @@ public class GroupDatabase extends Database implements LokiOpenGroupDatabaseProt return new Reader(cursor); } - // This function always creates a mms group - public String getOrCreateGroupForMembers(List
members, List
admins) { - Collections.sort(members); - Collections.sort(admins); - - Cursor cursor = databaseHelper.getReadableDatabase().query(TABLE_NAME, new String[] {GROUP_ID}, - MEMBERS + " = ? AND " + MMS + " = ?", - new String[] {Address.toSerializedList(members, ','), "1"}, - null, null, null); - try { - if (cursor != null && cursor.moveToNext()) { - return cursor.getString(cursor.getColumnIndexOrThrow(GROUP_ID)); - } else { - String groupId = GroupUtil.getEncodedMMSGroupID(allocateGroupId()); - create(groupId, null, members, null, null, admins, System.currentTimeMillis()); - return groupId; - } - } finally { - if (cursor != null) cursor.close(); - } - } - public Reader getGroups() { @SuppressLint("Recycle") Cursor cursor = databaseHelper.getReadableDatabase().query(TABLE_NAME, null, null, null, null, null, null); @@ -210,7 +188,7 @@ public class GroupDatabase extends Database implements LokiOpenGroupDatabaseProt contentValues.put(AVATAR_RELAY, relay); contentValues.put(TIMESTAMP, formationTimestamp); contentValues.put(ACTIVE, 1); - contentValues.put(MMS, GroupUtil.isMmsGroup(groupId)); + contentValues.put(MMS, false); if (admins != null) { contentValues.put(ADMINS, Address.toSerializedList(admins, ',')); diff --git a/libsession/src/main/java/org/session/libsession/messaging/threads/Address.kt b/libsession/src/main/java/org/session/libsession/messaging/threads/Address.kt index ca2f803ff..7ff2c3862 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/threads/Address.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/threads/Address.kt @@ -25,8 +25,6 @@ class Address private constructor(address: String) : Parcelable, Comparable = LinkedList
() var admins: List
= LinkedList
() diff --git a/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/Recipient.java b/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/Recipient.java index 6ccb2ded7..15c2d52f0 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/Recipient.java +++ b/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/Recipient.java @@ -289,7 +289,7 @@ public class Recipient implements RecipientModifiedListener { String displayName = MessagingModuleConfiguration.shared.getStorage().getDisplayName(this.address.toString()); if (displayName != null) { return displayName; } - if (this.name == null && isMmsGroupRecipient()) { + if (this.name == null && isGroupRecipient()) { List names = new LinkedList<>(); for (Recipient recipient : participants) { @@ -408,12 +408,8 @@ public class Recipient implements RecipientModifiedListener { return address.isOpenGroup(); } - public boolean isMmsGroupRecipient() { - return address.isMmsGroup(); - } - public boolean isPushGroupRecipient() { - return address.isGroup() && !address.isMmsGroup(); + return address.isGroup(); } public @NonNull synchronized List getParticipants() { @@ -593,7 +589,6 @@ public class Recipient implements RecipientModifiedListener { public synchronized RegisteredState getRegistered() { if (isPushGroupRecipient()) return RegisteredState.REGISTERED; - else if (isMmsGroupRecipient()) return RegisteredState.NOT_REGISTERED; return registered; } diff --git a/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/RecipientProvider.java b/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/RecipientProvider.java index d38a70f96..a5b77d5d0 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/RecipientProvider.java +++ b/libsession/src/main/java/org/session/libsession/messaging/threads/recipients/RecipientProvider.java @@ -148,10 +148,6 @@ class RecipientProvider { members.add(getRecipient(context, memberAddress, Optional.absent(), Optional.absent(), asynchronous)); } - if (!groupId.isMmsGroup() && title == null) { - title = context.getString(R.string.RecipientProvider_unnamed_group); - } - if (groupRecord.get().getAvatar() != null && groupRecord.get().getAvatar().length > 0) { avatarId = groupRecord.get().getAvatarId(); } diff --git a/libsession/src/main/java/org/session/libsession/snode/SnodeAPI.kt b/libsession/src/main/java/org/session/libsession/snode/SnodeAPI.kt index b12c5f367..3f9115572 100644 --- a/libsession/src/main/java/org/session/libsession/snode/SnodeAPI.kt +++ b/libsession/src/main/java/org/session/libsession/snode/SnodeAPI.kt @@ -7,7 +7,7 @@ import nl.komponents.kovenant.* import nl.komponents.kovenant.functional.bind import nl.komponents.kovenant.functional.map import org.session.libsession.messaging.utilities.MessageWrapper -import org.session.libsession.snode.utilities.getRandomElement +import org.session.libsignal.crypto.getRandomElement import org.session.libsignal.protos.SignalServiceProtos import org.session.libsignal.utilities.Snode import org.session.libsignal.utilities.HTTP diff --git a/libsession/src/main/java/org/session/libsession/snode/utilities/Random.kt b/libsession/src/main/java/org/session/libsession/snode/utilities/Random.kt deleted file mode 100644 index 72ceee9f3..000000000 --- a/libsession/src/main/java/org/session/libsession/snode/utilities/Random.kt +++ /dev/null @@ -1,19 +0,0 @@ -package org.session.libsession.snode.utilities - -import java.security.SecureRandom - -/** - * Uses `SecureRandom` to pick an element from this collection. - */ -fun Collection.getRandomElementOrNull(): T? { - if (isEmpty()) return null - val index = SecureRandom().nextInt(size) // SecureRandom() should be cryptographically secure - return elementAtOrNull(index) -} - -/** - * Uses `SecureRandom` to pick an element from this collection. - */ -fun Collection.getRandomElement(): T { - return getRandomElementOrNull()!! -} diff --git a/libsession/src/main/java/org/session/libsession/utilities/GroupUtil.kt b/libsession/src/main/java/org/session/libsession/utilities/GroupUtil.kt index 11477637c..ea82308ff 100644 --- a/libsession/src/main/java/org/session/libsession/utilities/GroupUtil.kt +++ b/libsession/src/main/java/org/session/libsession/utilities/GroupUtil.kt @@ -7,7 +7,6 @@ import kotlin.jvm.Throws object GroupUtil { const val CLOSED_GROUP_PREFIX = "__textsecure_group__!" - const val MMS_GROUP_PREFIX = "__signal_mms_group__!" const val OPEN_GROUP_PREFIX = "__loki_public_chat_group__!" @JvmStatic @@ -20,11 +19,6 @@ object GroupUtil { return CLOSED_GROUP_PREFIX + Hex.toStringCondensed(groupID) } - @JvmStatic - fun getEncodedMMSGroupID(groupID: ByteArray): String { - return MMS_GROUP_PREFIX + Hex.toStringCondensed(groupID) - } - @JvmStatic fun getEncodedId(group: SignalServiceGroup): String { val groupId = group.groupId @@ -52,12 +46,7 @@ object GroupUtil { } fun isEncodedGroup(groupId: String): Boolean { - return groupId.startsWith(CLOSED_GROUP_PREFIX) || groupId.startsWith(MMS_GROUP_PREFIX) || groupId.startsWith(OPEN_GROUP_PREFIX) - } - - @JvmStatic - fun isMmsGroup(groupId: String): Boolean { - return groupId.startsWith(MMS_GROUP_PREFIX) + return groupId.startsWith(CLOSED_GROUP_PREFIX) || groupId.startsWith(OPEN_GROUP_PREFIX) } @JvmStatic diff --git a/libsession/src/main/java/org/session/libsession/utilities/KeyPairUtilities.kt b/libsession/src/main/java/org/session/libsession/utilities/KeyPairUtilities.kt index 5d52c1175..3f0152d7b 100644 --- a/libsession/src/main/java/org/session/libsession/utilities/KeyPairUtilities.kt +++ b/libsession/src/main/java/org/session/libsession/utilities/KeyPairUtilities.kt @@ -53,8 +53,8 @@ object KeyPairUtilities { } data class KeyPairGenerationResult( - val seed: ByteArray, - val ed25519KeyPair: KeyPair, - val x25519KeyPair: ECKeyPair + val seed: ByteArray, + val ed25519KeyPair: KeyPair, + val x25519KeyPair: ECKeyPair ) } \ No newline at end of file diff --git a/libsession/src/main/java/org/session/libsession/utilities/NumberUtil.kt b/libsession/src/main/java/org/session/libsession/utilities/NumberUtil.kt deleted file mode 100644 index 6a2b96947..000000000 --- a/libsession/src/main/java/org/session/libsession/utilities/NumberUtil.kt +++ /dev/null @@ -1,19 +0,0 @@ -package org.session.libsession.utilities - -import android.telephony.PhoneNumberUtils -import android.util.Patterns - -object NumberUtil { - private val emailPattern = Patterns.EMAIL_ADDRESS - - @JvmStatic - fun isValidEmail(number: String): Boolean { - val matcher = emailPattern.matcher(number) - return matcher.matches() - } - - @JvmStatic - fun isValidSmsOrEmail(number: String): Boolean { - return PhoneNumberUtils.isWellFormedSmsAddress(number) || isValidEmail(number) - } -} \ No newline at end of file diff --git a/libsession/src/main/java/org/session/libsession/utilities/SSKEnvironment.kt b/libsession/src/main/java/org/session/libsession/utilities/SSKEnvironment.kt index f3a130e84..b0b1b730f 100644 --- a/libsession/src/main/java/org/session/libsession/utilities/SSKEnvironment.kt +++ b/libsession/src/main/java/org/session/libsession/utilities/SSKEnvironment.kt @@ -7,11 +7,11 @@ import org.session.libsession.messaging.threads.Address import org.session.libsession.messaging.threads.recipients.Recipient class SSKEnvironment( - val typingIndicators: TypingIndicatorsProtocol, - val readReceiptManager: ReadReceiptManagerProtocol, - val profileManager: ProfileManagerProtocol, - val notificationManager: MessageNotifier, - val messageExpirationManager: MessageExpirationManagerProtocol + val typingIndicators: TypingIndicatorsProtocol, + val readReceiptManager: ReadReceiptManagerProtocol, + val profileManager: ProfileManagerProtocol, + val notificationManager: MessageNotifier, + val messageExpirationManager: MessageExpirationManagerProtocol ) { interface TypingIndicatorsProtocol {