mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-26 04:33:36 +00:00
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:
@@ -115,7 +115,7 @@ object FakeMessageRecords {
|
||||
body: String = "body",
|
||||
slideDeck: SlideDeck = SlideDeck(),
|
||||
partCount: Int = slideDeck.slides.count(),
|
||||
mailbox: Long = MmsSmsColumns.Types.BASE_INBOX_TYPE,
|
||||
mailbox: Long = MessageTypes.BASE_INBOX_TYPE,
|
||||
mismatches: Set<IdentityKeyMismatch> = emptySet(),
|
||||
failures: Set<NetworkFailure> = emptySet(),
|
||||
subscriptionId: Int = -1,
|
||||
|
||||
@@ -12,7 +12,6 @@ import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.robolectric.RobolectricTestRunner
|
||||
import org.robolectric.annotation.Config
|
||||
import org.thoughtcrime.securesms.database.MmsSmsColumns.Types
|
||||
import org.thoughtcrime.securesms.database.model.StoryType
|
||||
import org.thoughtcrime.securesms.database.model.StoryViewState
|
||||
import org.thoughtcrime.securesms.testing.TestDatabaseUtil
|
||||
@@ -40,37 +39,37 @@ class MmsDatabaseTest {
|
||||
|
||||
@Test
|
||||
fun `isGroupQuitMessage when normal message, return false`() {
|
||||
val id = TestMms.insert(db, type = Types.BASE_SENDING_TYPE or Types.SECURE_MESSAGE_BIT or Types.PUSH_MESSAGE_BIT)
|
||||
val id = TestMms.insert(db, type = MessageTypes.BASE_SENDING_TYPE or MessageTypes.SECURE_MESSAGE_BIT or MessageTypes.PUSH_MESSAGE_BIT)
|
||||
assertFalse(messageTable.isGroupQuitMessage(id))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `isGroupQuitMessage when legacy quit message, return true`() {
|
||||
val id = TestMms.insert(db, type = Types.BASE_SENDING_TYPE or Types.SECURE_MESSAGE_BIT or Types.PUSH_MESSAGE_BIT or Types.GROUP_LEAVE_BIT)
|
||||
val id = TestMms.insert(db, type = MessageTypes.BASE_SENDING_TYPE or MessageTypes.SECURE_MESSAGE_BIT or MessageTypes.PUSH_MESSAGE_BIT or MessageTypes.GROUP_LEAVE_BIT)
|
||||
assertTrue(messageTable.isGroupQuitMessage(id))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `isGroupQuitMessage when GV2 leave update, return false`() {
|
||||
val id = TestMms.insert(db, type = Types.BASE_SENDING_TYPE or Types.SECURE_MESSAGE_BIT or Types.PUSH_MESSAGE_BIT or Types.GROUP_LEAVE_BIT or Types.GROUP_V2_BIT or Types.GROUP_UPDATE_BIT)
|
||||
val id = TestMms.insert(db, type = MessageTypes.BASE_SENDING_TYPE or MessageTypes.SECURE_MESSAGE_BIT or MessageTypes.PUSH_MESSAGE_BIT or MessageTypes.GROUP_LEAVE_BIT or MessageTypes.GROUP_V2_BIT or MessageTypes.GROUP_UPDATE_BIT)
|
||||
assertFalse(messageTable.isGroupQuitMessage(id))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `getLatestGroupQuitTimestamp when only normal message, return -1`() {
|
||||
TestMms.insert(db, threadId = 1, sentTimeMillis = 1, type = Types.BASE_SENDING_TYPE or Types.SECURE_MESSAGE_BIT or Types.PUSH_MESSAGE_BIT)
|
||||
TestMms.insert(db, threadId = 1, sentTimeMillis = 1, type = MessageTypes.BASE_SENDING_TYPE or MessageTypes.SECURE_MESSAGE_BIT or MessageTypes.PUSH_MESSAGE_BIT)
|
||||
assertEquals(-1, messageTable.getLatestGroupQuitTimestamp(1, 4))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `getLatestGroupQuitTimestamp when legacy quit, return message timestamp`() {
|
||||
TestMms.insert(db, threadId = 1, sentTimeMillis = 2, type = Types.BASE_SENDING_TYPE or Types.SECURE_MESSAGE_BIT or Types.PUSH_MESSAGE_BIT or Types.GROUP_LEAVE_BIT)
|
||||
TestMms.insert(db, threadId = 1, sentTimeMillis = 2, type = MessageTypes.BASE_SENDING_TYPE or MessageTypes.SECURE_MESSAGE_BIT or MessageTypes.PUSH_MESSAGE_BIT or MessageTypes.GROUP_LEAVE_BIT)
|
||||
assertEquals(2, messageTable.getLatestGroupQuitTimestamp(1, 4))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `getLatestGroupQuitTimestamp when GV2 leave update message, return -1`() {
|
||||
TestMms.insert(db, threadId = 1, sentTimeMillis = 3, type = Types.BASE_SENDING_TYPE or Types.SECURE_MESSAGE_BIT or Types.PUSH_MESSAGE_BIT or Types.GROUP_LEAVE_BIT or Types.GROUP_V2_BIT or Types.GROUP_UPDATE_BIT)
|
||||
TestMms.insert(db, threadId = 1, sentTimeMillis = 3, type = MessageTypes.BASE_SENDING_TYPE or MessageTypes.SECURE_MESSAGE_BIT or MessageTypes.PUSH_MESSAGE_BIT or MessageTypes.GROUP_LEAVE_BIT or MessageTypes.GROUP_V2_BIT or MessageTypes.GROUP_UPDATE_BIT)
|
||||
assertEquals(-1, messageTable.getLatestGroupQuitTimestamp(1, 4))
|
||||
}
|
||||
|
||||
@@ -109,7 +108,7 @@ class MmsDatabaseTest {
|
||||
|
||||
@Test
|
||||
fun `Given only outgoing story in database, when I getStoryViewState, then I expect VIEWED`() {
|
||||
TestMms.insert(db, threadId = 1, storyType = StoryType.STORY_WITH_REPLIES, type = Types.BASE_OUTBOX_TYPE)
|
||||
TestMms.insert(db, threadId = 1, storyType = StoryType.STORY_WITH_REPLIES, type = MessageTypes.BASE_OUTBOX_TYPE)
|
||||
assertEquals(StoryViewState.VIEWED, messageTable.getStoryViewState(1))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ class MmsSmsDatabaseTest {
|
||||
TestSms.insert(db)
|
||||
mmsSmsTable.getConversationSnippetCursor(1).use { cursor ->
|
||||
cursor.moveToFirst()
|
||||
assertEquals(1, CursorUtil.requireLong(cursor, MmsSmsColumns.ID))
|
||||
assertEquals(1, CursorUtil.requireLong(cursor, MessageTable.ID))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ class MmsSmsDatabaseTest {
|
||||
TestMms.insert(db)
|
||||
mmsSmsTable.getConversationSnippetCursor(1).use { cursor ->
|
||||
cursor.moveToFirst()
|
||||
assertEquals(1, CursorUtil.requireLong(cursor, MmsSmsColumns.ID))
|
||||
assertEquals(1, CursorUtil.requireLong(cursor, MessageTable.ID))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,13 +60,13 @@ class MmsSmsDatabaseTest {
|
||||
TestMms.insert(db, receivedTimestampMillis = timestamp + 2)
|
||||
mmsSmsTable.getConversationSnippetCursor(1).use { cursor ->
|
||||
cursor.moveToFirst()
|
||||
assertEquals(1, CursorUtil.requireLong(cursor, MmsSmsColumns.ID))
|
||||
assertEquals(1, CursorUtil.requireLong(cursor, MessageTable.ID))
|
||||
}
|
||||
|
||||
TestSms.insert(db, receivedTimestampMillis = timestamp + 3, type = MmsSmsColumns.Types.BASE_SENDING_TYPE or MmsSmsColumns.Types.SECURE_MESSAGE_BIT or MmsSmsColumns.Types.PUSH_MESSAGE_BIT or MmsSmsColumns.Types.GROUP_V2_LEAVE_BITS)
|
||||
TestSms.insert(db, receivedTimestampMillis = timestamp + 3, type = MessageTypes.BASE_SENDING_TYPE or MessageTypes.SECURE_MESSAGE_BIT or MessageTypes.PUSH_MESSAGE_BIT or MessageTypes.GROUP_V2_LEAVE_BITS)
|
||||
mmsSmsTable.getConversationSnippetCursor(1).use { cursor ->
|
||||
cursor.moveToFirst()
|
||||
assertEquals(1, CursorUtil.requireLong(cursor, MmsSmsColumns.ID))
|
||||
assertEquals(1, CursorUtil.requireLong(cursor, MessageTable.ID))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ class SmsDatabaseTest {
|
||||
|
||||
@Test
|
||||
fun `hasMeaningfulMessage when GV2 create message only, return true`() {
|
||||
TestSms.insert(db, type = MmsSmsColumns.Types.BASE_INBOX_TYPE or MmsSmsColumns.Types.SECURE_MESSAGE_BIT or MmsSmsColumns.Types.GROUP_V2_BIT or MmsSmsColumns.Types.GROUP_UPDATE_BIT)
|
||||
TestSms.insert(db, type = MessageTypes.BASE_INBOX_TYPE or MessageTypes.SECURE_MESSAGE_BIT or MessageTypes.GROUP_V2_BIT or MessageTypes.GROUP_UPDATE_BIT)
|
||||
assertTrue(messageTable.hasMeaningfulMessage(1))
|
||||
}
|
||||
|
||||
@@ -69,22 +69,22 @@ class SmsDatabaseTest {
|
||||
fun `hasMeaningfulMessage when empty and then with ignored types, always return false`() {
|
||||
assertFalse(messageTable.hasMeaningfulMessage(1))
|
||||
|
||||
TestSms.insert(db, type = MmsSmsColumns.Types.IGNORABLE_TYPESMASK_WHEN_COUNTING)
|
||||
TestSms.insert(db, type = MessageTypes.IGNORABLE_TYPESMASK_WHEN_COUNTING)
|
||||
assertFalse(messageTable.hasMeaningfulMessage(1))
|
||||
|
||||
TestSms.insert(db, type = MmsSmsColumns.Types.PROFILE_CHANGE_TYPE)
|
||||
TestSms.insert(db, type = MessageTypes.PROFILE_CHANGE_TYPE)
|
||||
assertFalse(messageTable.hasMeaningfulMessage(1))
|
||||
|
||||
TestSms.insert(db, type = MmsSmsColumns.Types.CHANGE_NUMBER_TYPE)
|
||||
TestSms.insert(db, type = MessageTypes.CHANGE_NUMBER_TYPE)
|
||||
assertFalse(messageTable.hasMeaningfulMessage(1))
|
||||
|
||||
TestSms.insert(db, type = MmsSmsColumns.Types.BOOST_REQUEST_TYPE)
|
||||
TestSms.insert(db, type = MessageTypes.BOOST_REQUEST_TYPE)
|
||||
assertFalse(messageTable.hasMeaningfulMessage(1))
|
||||
|
||||
TestSms.insert(db, type = MmsSmsColumns.Types.SMS_EXPORT_TYPE)
|
||||
TestSms.insert(db, type = MessageTypes.SMS_EXPORT_TYPE)
|
||||
assertFalse(messageTable.hasMeaningfulMessage(1))
|
||||
|
||||
TestSms.insert(db, type = MmsSmsColumns.Types.BASE_INBOX_TYPE or MmsSmsColumns.Types.GROUP_V2_LEAVE_BITS)
|
||||
TestSms.insert(db, type = MessageTypes.BASE_INBOX_TYPE or MessageTypes.GROUP_V2_LEAVE_BITS)
|
||||
assertFalse(messageTable.hasMeaningfulMessage(1))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ object TestMms {
|
||||
expiresIn: Long = 0,
|
||||
viewOnce: Boolean = false,
|
||||
distributionType: Int = ThreadTable.DistributionTypes.DEFAULT,
|
||||
type: Long = MmsSmsColumns.Types.BASE_INBOX_TYPE,
|
||||
type: Long = MessageTypes.BASE_INBOX_TYPE,
|
||||
unread: Boolean = false,
|
||||
viewed: Boolean = false,
|
||||
threadId: Long = 1,
|
||||
@@ -69,7 +69,7 @@ object TestMms {
|
||||
message: OutgoingMessage,
|
||||
recipientId: RecipientId = message.recipient.id,
|
||||
body: String = message.body,
|
||||
type: Long = MmsSmsColumns.Types.BASE_INBOX_TYPE,
|
||||
type: Long = MessageTypes.BASE_INBOX_TYPE,
|
||||
unread: Boolean = false,
|
||||
viewed: Boolean = false,
|
||||
threadId: Long = 1,
|
||||
@@ -80,19 +80,19 @@ object TestMms {
|
||||
put(MessageTable.MMS_MESSAGE_TYPE, PduHeaders.MESSAGE_TYPE_SEND_REQ)
|
||||
|
||||
put(MessageTable.TYPE, type)
|
||||
put(MmsSmsColumns.THREAD_ID, threadId)
|
||||
put(MmsSmsColumns.READ, if (unread) 0 else 1)
|
||||
put(MessageTable.THREAD_ID, threadId)
|
||||
put(MessageTable.READ, if (unread) 0 else 1)
|
||||
put(MessageTable.DATE_RECEIVED, receivedTimestampMillis)
|
||||
put(MmsSmsColumns.SMS_SUBSCRIPTION_ID, message.subscriptionId)
|
||||
put(MmsSmsColumns.EXPIRES_IN, message.expiresIn)
|
||||
put(MessageTable.SMS_SUBSCRIPTION_ID, message.subscriptionId)
|
||||
put(MessageTable.EXPIRES_IN, message.expiresIn)
|
||||
put(MessageTable.VIEW_ONCE, message.isViewOnce)
|
||||
put(MmsSmsColumns.RECIPIENT_ID, recipientId.serialize())
|
||||
put(MmsSmsColumns.DELIVERY_RECEIPT_COUNT, 0)
|
||||
put(MmsSmsColumns.RECEIPT_TIMESTAMP, 0)
|
||||
put(MmsSmsColumns.VIEWED_RECEIPT_COUNT, if (viewed) 1 else 0)
|
||||
put(MessageTable.RECIPIENT_ID, recipientId.serialize())
|
||||
put(MessageTable.DELIVERY_RECEIPT_COUNT, 0)
|
||||
put(MessageTable.RECEIPT_TIMESTAMP, 0)
|
||||
put(MessageTable.VIEWED_RECEIPT_COUNT, if (viewed) 1 else 0)
|
||||
put(MessageTable.STORY_TYPE, message.storyType.code)
|
||||
|
||||
put(MmsSmsColumns.BODY, body)
|
||||
put(MessageTable.BODY, body)
|
||||
put(MessageTable.MENTIONS_SELF, 0)
|
||||
}
|
||||
|
||||
@@ -101,8 +101,8 @@ object TestMms {
|
||||
|
||||
fun markAsRemoteDelete(db: SQLiteDatabase, messageId: Long) {
|
||||
val values = ContentValues()
|
||||
values.put(MmsSmsColumns.REMOTE_DELETED, 1)
|
||||
values.putNull(MmsSmsColumns.BODY)
|
||||
values.put(MessageTable.REMOTE_DELETED, 1)
|
||||
values.putNull(MessageTable.BODY)
|
||||
values.putNull(MessageTable.QUOTE_BODY)
|
||||
values.putNull(MessageTable.QUOTE_AUTHOR)
|
||||
values.put(MessageTable.QUOTE_TYPE, -1)
|
||||
|
||||
@@ -25,7 +25,7 @@ object TestSms {
|
||||
expiresInMillis: Long = 0,
|
||||
unidentified: Boolean = false,
|
||||
serverGuid: String = UUID.randomUUID().toString(),
|
||||
type: Long = MmsSmsColumns.Types.BASE_INBOX_TYPE,
|
||||
type: Long = MessageTypes.BASE_INBOX_TYPE,
|
||||
unread: Boolean = false,
|
||||
threadId: Long = 1
|
||||
): Long {
|
||||
@@ -54,24 +54,24 @@ object TestSms {
|
||||
fun insert(
|
||||
db: AndroidSQLiteDatabase,
|
||||
message: IncomingTextMessage,
|
||||
type: Long = MmsSmsColumns.Types.BASE_INBOX_TYPE,
|
||||
type: Long = MessageTypes.BASE_INBOX_TYPE,
|
||||
unread: Boolean = false,
|
||||
threadId: Long = 1
|
||||
): Long {
|
||||
val values = ContentValues().apply {
|
||||
put(MmsSmsColumns.RECIPIENT_ID, message.sender.serialize())
|
||||
put(MmsSmsColumns.RECIPIENT_DEVICE_ID, message.senderDeviceId)
|
||||
put(MmsSmsColumns.DATE_RECEIVED, message.receivedTimestampMillis)
|
||||
put(MmsSmsColumns.DATE_SENT, message.sentTimestampMillis)
|
||||
put(MmsSmsColumns.DATE_SERVER, message.serverTimestampMillis)
|
||||
put(MmsSmsColumns.READ, if (unread) 0 else 1)
|
||||
put(MmsSmsColumns.SMS_SUBSCRIPTION_ID, message.subscriptionId)
|
||||
put(MmsSmsColumns.EXPIRES_IN, message.expiresIn)
|
||||
put(MmsSmsColumns.UNIDENTIFIED, message.isUnidentified)
|
||||
put(MmsSmsColumns.BODY, message.messageBody)
|
||||
put(MmsSmsColumns.TYPE, type)
|
||||
put(MmsSmsColumns.THREAD_ID, threadId)
|
||||
put(MmsSmsColumns.SERVER_GUID, message.serverGuid)
|
||||
put(MessageTable.RECIPIENT_ID, message.sender.serialize())
|
||||
put(MessageTable.RECIPIENT_DEVICE_ID, message.senderDeviceId)
|
||||
put(MessageTable.DATE_RECEIVED, message.receivedTimestampMillis)
|
||||
put(MessageTable.DATE_SENT, message.sentTimestampMillis)
|
||||
put(MessageTable.DATE_SERVER, message.serverTimestampMillis)
|
||||
put(MessageTable.READ, if (unread) 0 else 1)
|
||||
put(MessageTable.SMS_SUBSCRIPTION_ID, message.subscriptionId)
|
||||
put(MessageTable.EXPIRES_IN, message.expiresIn)
|
||||
put(MessageTable.UNIDENTIFIED, message.isUnidentified)
|
||||
put(MessageTable.BODY, message.messageBody)
|
||||
put(MessageTable.TYPE, type)
|
||||
put(MessageTable.THREAD_ID, threadId)
|
||||
put(MessageTable.SERVER_GUID, message.serverGuid)
|
||||
}
|
||||
|
||||
return db.insert(MessageTable.TABLE_NAME, null, values)
|
||||
|
||||
Reference in New Issue
Block a user