Remove MmsSmsColumns.

All the columns got moved to MessageTable.
I kept the types though and renamed the class to MessageTypes because
it's a lot of boring domain-specific code.
This commit is contained in:
Greyson Parrelli
2022-12-30 15:56:47 -05:00
parent 3708cc5583
commit f149c0adb9
32 changed files with 883 additions and 989 deletions

View File

@@ -13,7 +13,7 @@ import org.thoughtcrime.securesms.util.Base64
object GV2UpdateTransformer : ColumnTransformer {
override fun matches(tableName: String?, columnName: String): Boolean {
return columnName == MmsSmsColumns.BODY && (tableName == null || tableName == MessageTable.TABLE_NAME)
return columnName == MessageTable.BODY && (tableName == null || tableName == MessageTable.TABLE_NAME)
}
override fun transform(tableName: String?, columnName: String, cursor: Cursor): String {
@@ -23,9 +23,9 @@ object GV2UpdateTransformer : ColumnTransformer {
return DefaultColumnTransformer.transform(tableName, columnName, cursor)
}
val body: String? = CursorUtil.requireString(cursor, MmsSmsColumns.BODY)
val body: String? = CursorUtil.requireString(cursor, MessageTable.BODY)
return if (MmsSmsColumns.Types.isGroupV2(type) && MmsSmsColumns.Types.isGroupUpdate(type) && body != null) {
return if (MessageTypes.isGroupV2(type) && MessageTypes.isGroupUpdate(type) && body != null) {
val decoded = Base64.decode(body)
val decryptedGroupV2Context = DecryptedGroupV2Context.parseFrom(decoded)
val gv2ChangeDescription: UpdateDescription = MessageRecord.getGv2ChangeDescription(ApplicationDependencies.getApplication(), body, null)
@@ -39,7 +39,7 @@ object GV2UpdateTransformer : ColumnTransformer {
private fun Cursor.getMessageType(): Long {
return when {
getColumnIndex(MmsSmsColumns.TYPE) != -1 -> requireLong(MmsSmsColumns.TYPE)
getColumnIndex(MessageTable.TYPE) != -1 -> requireLong(MessageTable.TYPE)
else -> -1
}
}

View File

@@ -3,62 +3,62 @@ package org.thoughtcrime.securesms.database
import android.database.Cursor
import org.signal.core.util.requireLong
import org.signal.spinner.ColumnTransformer
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.BAD_DECRYPT_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.BASE_DRAFT_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.BASE_INBOX_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.BASE_OUTBOX_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.BASE_PENDING_INSECURE_SMS_FALLBACK
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.BASE_PENDING_SECURE_SMS_FALLBACK
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.BASE_SENDING_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.BASE_SENT_FAILED_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.BASE_SENT_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.BASE_TYPE_MASK
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.BOOST_REQUEST_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.CHANGE_NUMBER_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.ENCRYPTION_REMOTE_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.ENCRYPTION_REMOTE_DUPLICATE_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.ENCRYPTION_REMOTE_FAILED_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.ENCRYPTION_REMOTE_LEGACY_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.ENCRYPTION_REMOTE_NO_SESSION_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.END_SESSION_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.EXPIRATION_TIMER_UPDATE_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.GROUP_CALL_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.GROUP_LEAVE_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.GROUP_UPDATE_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.GROUP_V2_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.GROUP_V2_LEAVE_BITS
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.GV1_MIGRATION_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.INCOMING_AUDIO_CALL_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.INCOMING_VIDEO_CALL_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.INVALID_MESSAGE_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.JOINED_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.KEY_EXCHANGE_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.KEY_EXCHANGE_BUNDLE_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.KEY_EXCHANGE_CONTENT_FORMAT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.KEY_EXCHANGE_CORRUPTED_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.KEY_EXCHANGE_IDENTITY_DEFAULT_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.KEY_EXCHANGE_IDENTITY_UPDATE_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.KEY_EXCHANGE_IDENTITY_VERIFIED_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.KEY_EXCHANGE_INVALID_VERSION_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.MESSAGE_FORCE_SMS_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.MESSAGE_RATE_LIMITED_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.MISSED_AUDIO_CALL_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.MISSED_VIDEO_CALL_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.OUTGOING_AUDIO_CALL_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.OUTGOING_MESSAGE_TYPES
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.OUTGOING_VIDEO_CALL_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.PROFILE_CHANGE_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.PUSH_MESSAGE_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.SECURE_MESSAGE_BIT
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.SMS_EXPORT_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.SPECIAL_TYPES_MASK
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.SPECIAL_TYPE_GIFT_BADGE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.SPECIAL_TYPE_PAYMENTS_ACTIVATED
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.SPECIAL_TYPE_PAYMENTS_ACTIVATE_REQUEST
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.SPECIAL_TYPE_PAYMENTS_NOTIFICATION
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.SPECIAL_TYPE_STORY_REACTION
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.THREAD_MERGE_TYPE
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types.UNSUPPORTED_MESSAGE_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.BAD_DECRYPT_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.BASE_DRAFT_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.BASE_INBOX_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.BASE_OUTBOX_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.BASE_PENDING_INSECURE_SMS_FALLBACK
import org.thoughtcrime.securesms.database.MessageTypes.BASE_PENDING_SECURE_SMS_FALLBACK
import org.thoughtcrime.securesms.database.MessageTypes.BASE_SENDING_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.BASE_SENT_FAILED_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.BASE_SENT_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.BASE_TYPE_MASK
import org.thoughtcrime.securesms.database.MessageTypes.BOOST_REQUEST_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.CHANGE_NUMBER_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.ENCRYPTION_REMOTE_BIT
import org.thoughtcrime.securesms.database.MessageTypes.ENCRYPTION_REMOTE_DUPLICATE_BIT
import org.thoughtcrime.securesms.database.MessageTypes.ENCRYPTION_REMOTE_FAILED_BIT
import org.thoughtcrime.securesms.database.MessageTypes.ENCRYPTION_REMOTE_LEGACY_BIT
import org.thoughtcrime.securesms.database.MessageTypes.ENCRYPTION_REMOTE_NO_SESSION_BIT
import org.thoughtcrime.securesms.database.MessageTypes.END_SESSION_BIT
import org.thoughtcrime.securesms.database.MessageTypes.EXPIRATION_TIMER_UPDATE_BIT
import org.thoughtcrime.securesms.database.MessageTypes.GROUP_CALL_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.GROUP_LEAVE_BIT
import org.thoughtcrime.securesms.database.MessageTypes.GROUP_UPDATE_BIT
import org.thoughtcrime.securesms.database.MessageTypes.GROUP_V2_BIT
import org.thoughtcrime.securesms.database.MessageTypes.GROUP_V2_LEAVE_BITS
import org.thoughtcrime.securesms.database.MessageTypes.GV1_MIGRATION_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.INCOMING_AUDIO_CALL_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.INCOMING_VIDEO_CALL_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.INVALID_MESSAGE_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.JOINED_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.KEY_EXCHANGE_BIT
import org.thoughtcrime.securesms.database.MessageTypes.KEY_EXCHANGE_BUNDLE_BIT
import org.thoughtcrime.securesms.database.MessageTypes.KEY_EXCHANGE_CONTENT_FORMAT
import org.thoughtcrime.securesms.database.MessageTypes.KEY_EXCHANGE_CORRUPTED_BIT
import org.thoughtcrime.securesms.database.MessageTypes.KEY_EXCHANGE_IDENTITY_DEFAULT_BIT
import org.thoughtcrime.securesms.database.MessageTypes.KEY_EXCHANGE_IDENTITY_UPDATE_BIT
import org.thoughtcrime.securesms.database.MessageTypes.KEY_EXCHANGE_IDENTITY_VERIFIED_BIT
import org.thoughtcrime.securesms.database.MessageTypes.KEY_EXCHANGE_INVALID_VERSION_BIT
import org.thoughtcrime.securesms.database.MessageTypes.MESSAGE_FORCE_SMS_BIT
import org.thoughtcrime.securesms.database.MessageTypes.MESSAGE_RATE_LIMITED_BIT
import org.thoughtcrime.securesms.database.MessageTypes.MISSED_AUDIO_CALL_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.MISSED_VIDEO_CALL_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.OUTGOING_AUDIO_CALL_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.OUTGOING_MESSAGE_TYPES
import org.thoughtcrime.securesms.database.MessageTypes.OUTGOING_VIDEO_CALL_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.PROFILE_CHANGE_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.PUSH_MESSAGE_BIT
import org.thoughtcrime.securesms.database.MessageTypes.SECURE_MESSAGE_BIT
import org.thoughtcrime.securesms.database.MessageTypes.SMS_EXPORT_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.SPECIAL_TYPES_MASK
import org.thoughtcrime.securesms.database.MessageTypes.SPECIAL_TYPE_GIFT_BADGE
import org.thoughtcrime.securesms.database.MessageTypes.SPECIAL_TYPE_PAYMENTS_ACTIVATED
import org.thoughtcrime.securesms.database.MessageTypes.SPECIAL_TYPE_PAYMENTS_ACTIVATE_REQUEST
import org.thoughtcrime.securesms.database.MessageTypes.SPECIAL_TYPE_PAYMENTS_NOTIFICATION
import org.thoughtcrime.securesms.database.MessageTypes.SPECIAL_TYPE_STORY_REACTION
import org.thoughtcrime.securesms.database.MessageTypes.THREAD_MERGE_TYPE
import org.thoughtcrime.securesms.database.MessageTypes.UNSUPPORTED_MESSAGE_TYPE
object MessageBitmaskColumnTransformer : ColumnTransformer {