mirror of
https://github.com/oxen-io/session-android.git
synced 2025-10-16 16:50:25 +00:00
Expire data extraction messages
This commit is contained in:
@@ -750,13 +750,18 @@ class Storage(context: Context, helper: SQLCipherOpenHelper) : Database(context,
|
|||||||
val recipient = Recipient.from(context, address, false)
|
val recipient = Recipient.from(context, address, false)
|
||||||
|
|
||||||
if (recipient.isBlocked) return
|
if (recipient.isBlocked) return
|
||||||
|
val threadId = DatabaseComponent.get(context).threadDatabase().getOrCreateThreadIdFor(recipient)
|
||||||
|
val expirationConfig = getExpirationConfiguration(threadId)
|
||||||
|
val expiresInMillis = (expirationConfig?.durationSeconds ?: 0) * 100L
|
||||||
|
val expireStartedAt = if (expirationConfig?.expirationType == ExpirationType.DELETE_AFTER_SEND) {
|
||||||
|
sentTimestamp
|
||||||
|
} else 0
|
||||||
val mediaMessage = IncomingMediaMessage(
|
val mediaMessage = IncomingMediaMessage(
|
||||||
address,
|
address,
|
||||||
sentTimestamp,
|
sentTimestamp,
|
||||||
-1,
|
-1,
|
||||||
0,
|
expiresInMillis,
|
||||||
0,
|
expireStartedAt,
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
@@ -770,6 +775,7 @@ class Storage(context: Context, helper: SQLCipherOpenHelper) : Database(context,
|
|||||||
)
|
)
|
||||||
|
|
||||||
database.insertSecureDecryptedMessageInbox(mediaMessage, -1, runIncrement = true, runThreadUpdate = true)
|
database.insertSecureDecryptedMessageInbox(mediaMessage, -1, runIncrement = true, runThreadUpdate = true)
|
||||||
|
SSKEnvironment.shared.messageExpirationManager.startAnyExpiration(sentTimestamp, senderPublicKey, expireStartedAt)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun insertMessageRequestResponse(response: MessageRequestResponse) {
|
override fun insertMessageRequestResponse(response: MessageRequestResponse) {
|
||||||
@@ -825,13 +831,17 @@ class Storage(context: Context, helper: SQLCipherOpenHelper) : Database(context,
|
|||||||
}
|
}
|
||||||
recipientDb.setApproved(sender, true)
|
recipientDb.setApproved(sender, true)
|
||||||
recipientDb.setApprovedMe(sender, true)
|
recipientDb.setApprovedMe(sender, true)
|
||||||
|
val expirationConfig = getExpirationConfiguration(threadId)
|
||||||
|
val expiresInMillis = (expirationConfig?.durationSeconds ?: 0) * 100L
|
||||||
|
val expireStartedAt = if (expirationConfig?.expirationType == ExpirationType.DELETE_AFTER_SEND) {
|
||||||
|
response.sentTimestamp!!
|
||||||
|
} else 0
|
||||||
val message = IncomingMediaMessage(
|
val message = IncomingMediaMessage(
|
||||||
sender.address,
|
sender.address,
|
||||||
response.sentTimestamp!!,
|
response.sentTimestamp!!,
|
||||||
-1,
|
-1,
|
||||||
0,
|
expiresInMillis,
|
||||||
0,
|
expireStartedAt,
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
true,
|
true,
|
||||||
|
@@ -95,7 +95,7 @@ public class ExpiringMessageManager implements SSKEnvironment.MessageExpirationM
|
|||||||
String senderPublicKey = message.getSender();
|
String senderPublicKey = message.getSender();
|
||||||
Long sentTimestamp = message.getSentTimestamp();
|
Long sentTimestamp = message.getSentTimestamp();
|
||||||
String groupId = message.getGroupPublicKey();
|
String groupId = message.getGroupPublicKey();
|
||||||
int duration = message.getDuration();
|
long expiresInMillis = message.getDuration() * 1000L;
|
||||||
|
|
||||||
Optional<SignalServiceGroup> groupInfo = Optional.absent();
|
Optional<SignalServiceGroup> groupInfo = Optional.absent();
|
||||||
Address address = Address.fromSerialized(senderPublicKey);
|
Address address = Address.fromSerialized(senderPublicKey);
|
||||||
@@ -114,7 +114,7 @@ public class ExpiringMessageManager implements SSKEnvironment.MessageExpirationM
|
|||||||
}
|
}
|
||||||
|
|
||||||
IncomingMediaMessage mediaMessage = new IncomingMediaMessage(address, sentTimestamp, -1,
|
IncomingMediaMessage mediaMessage = new IncomingMediaMessage(address, sentTimestamp, -1,
|
||||||
duration * 1000L, expireStartedAt, true,
|
expiresInMillis, expireStartedAt, true,
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
Optional.absent(),
|
Optional.absent(),
|
||||||
|
Reference in New Issue
Block a user