mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-05-20 07:10:15 +01:00
Remove support for END_SESSION flag.
This commit is contained in:
committed by
Michelle Tang
parent
59b42ac546
commit
64cdff4638
@@ -6137,7 +6137,6 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat
|
||||
MessageType.IDENTITY_UPDATE -> MessageTypes.KEY_EXCHANGE_IDENTITY_UPDATE_BIT or MessageTypes.BASE_INBOX_TYPE
|
||||
MessageType.IDENTITY_VERIFIED -> MessageTypes.KEY_EXCHANGE_IDENTITY_VERIFIED_BIT or MessageTypes.BASE_INBOX_TYPE
|
||||
MessageType.IDENTITY_DEFAULT -> MessageTypes.KEY_EXCHANGE_IDENTITY_DEFAULT_BIT or MessageTypes.BASE_INBOX_TYPE
|
||||
MessageType.END_SESSION -> MessageTypes.END_SESSION_BIT or MessageTypes.BASE_INBOX_TYPE
|
||||
MessageType.POLL_TERMINATE -> MessageTypes.SPECIAL_TYPE_POLL_TERMINATE or MessageTypes.BASE_INBOX_TYPE
|
||||
MessageType.PINNED_MESSAGE -> MessageTypes.SPECIAL_TYPE_PINNED_MESSAGE or MessageTypes.BASE_INBOX_TYPE
|
||||
MessageType.GROUP_UPDATE -> {
|
||||
|
||||
@@ -44,9 +44,6 @@ enum class MessageType {
|
||||
/** You unverified a user's identity/safety number, resetting it to the default state */
|
||||
IDENTITY_DEFAULT,
|
||||
|
||||
/** A manual session reset. This is no longer used and is only here for handling possible inbound/sync messages. */
|
||||
END_SESSION,
|
||||
|
||||
/** A poll has ended **/
|
||||
POLL_TERMINATE,
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@ import org.thoughtcrime.securesms.components.emoji.EmojiUtil
|
||||
import org.thoughtcrime.securesms.contactshare.Contact
|
||||
import org.thoughtcrime.securesms.contactshare.ContactModelMapper
|
||||
import org.thoughtcrime.securesms.crypto.ProfileKeyUtil
|
||||
import org.thoughtcrime.securesms.crypto.SecurityEvent
|
||||
import org.thoughtcrime.securesms.database.AttachmentTable
|
||||
import org.thoughtcrime.securesms.database.MessageTable
|
||||
import org.thoughtcrime.securesms.database.MessageTable.InsertResult
|
||||
@@ -78,7 +77,6 @@ import org.thoughtcrime.securesms.messages.SignalServiceProtoUtil.expireTimerDur
|
||||
import org.thoughtcrime.securesms.messages.SignalServiceProtoUtil.groupMasterKey
|
||||
import org.thoughtcrime.securesms.messages.SignalServiceProtoUtil.hasGroupContext
|
||||
import org.thoughtcrime.securesms.messages.SignalServiceProtoUtil.hasRemoteDelete
|
||||
import org.thoughtcrime.securesms.messages.SignalServiceProtoUtil.isEndSession
|
||||
import org.thoughtcrime.securesms.messages.SignalServiceProtoUtil.isExpirationUpdate
|
||||
import org.thoughtcrime.securesms.messages.SignalServiceProtoUtil.isInvalid
|
||||
import org.thoughtcrime.securesms.messages.SignalServiceProtoUtil.isMediaMessage
|
||||
@@ -172,7 +170,6 @@ object DataMessageProcessor {
|
||||
SignalTrace.beginSection("DataMessageProcessor#messageInsert")
|
||||
when {
|
||||
message.isInvalid -> handleInvalidMessage(context, senderRecipient.id, groupId, envelope.clientTimestamp!!)
|
||||
message.isEndSession -> insertResult = handleEndSessionMessage(context, senderRecipient.id, envelope, metadata)
|
||||
message.isExpirationUpdate -> insertResult = handleExpirationUpdate(envelope, metadata, senderRecipient, threadRecipient.id, groupId, message.expireTimerDuration, message.expireTimerVersion, receivedTime, false)
|
||||
message.isStoryReaction -> insertResult = handleStoryReaction(context, envelope, metadata, message, senderRecipient.id, groupId)
|
||||
message.reaction != null -> messageId = handleReaction(context, envelope, message, senderRecipient.id, earlyMessageCacheEntry)
|
||||
@@ -310,36 +307,6 @@ object DataMessageProcessor {
|
||||
}
|
||||
}
|
||||
|
||||
private fun handleEndSessionMessage(
|
||||
context: Context,
|
||||
senderRecipientId: RecipientId,
|
||||
envelope: Envelope,
|
||||
metadata: EnvelopeMetadata
|
||||
): InsertResult? {
|
||||
log(envelope.clientTimestamp!!, "End session message.")
|
||||
|
||||
val incomingMessage = IncomingMessage(
|
||||
from = senderRecipientId,
|
||||
sentTimeMillis = envelope.clientTimestamp!!,
|
||||
serverTimeMillis = envelope.serverTimestamp!!,
|
||||
receivedTimeMillis = System.currentTimeMillis(),
|
||||
isUnidentified = metadata.sealedSender,
|
||||
serverGuid = UuidUtil.getStringUUID(envelope.serverGuid, envelope.serverGuidBinary),
|
||||
type = MessageType.END_SESSION
|
||||
)
|
||||
|
||||
val insertResult: InsertResult? = SignalDatabase.messages.insertMessageInbox(incomingMessage).orNull()
|
||||
|
||||
return if (insertResult != null) {
|
||||
AppDependencies.protocolStore.aci().deleteAllSessions(metadata.sourceServiceId.toString())
|
||||
SecurityEvent.broadcastSecurityUpdateEvent(context)
|
||||
AppDependencies.messageNotifier.updateNotification(context, ConversationId.forConversation(insertResult.threadId))
|
||||
insertResult
|
||||
} else {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param sideEffect True if the event is side effect of a different message, false if the message itself was an expiration update.
|
||||
* @throws StorageFailedException
|
||||
|
||||
@@ -88,9 +88,6 @@ object SignalServiceProtoUtil {
|
||||
val DataMessage.isMediaMessage: Boolean
|
||||
get() = attachments.isNotEmpty() || quote != null || contact.isNotEmpty() || sticker != null || bodyRanges.isNotEmpty() || preview.isNotEmpty()
|
||||
|
||||
val DataMessage.isEndSession: Boolean
|
||||
get() = flags != null && flags!! and DataMessage.Flags.END_SESSION.value != 0
|
||||
|
||||
val DataMessage.isStoryReaction: Boolean
|
||||
get() = reaction != null && storyContext != null
|
||||
|
||||
|
||||
@@ -187,7 +187,7 @@ message CallMessage {
|
||||
|
||||
message DataMessage {
|
||||
enum Flags {
|
||||
END_SESSION = 1;
|
||||
reserved /*END_SESSION*/ 1;
|
||||
EXPIRATION_TIMER_UPDATE = 2;
|
||||
PROFILE_KEY_UPDATE = 4;
|
||||
FORWARD = 8;
|
||||
|
||||
Reference in New Issue
Block a user