mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-18 23:18:26 +00:00
Merge branch 'refactor-sending' of github.com:hjubb/session-android into origin/refactor-sending
This commit is contained in:
commit
7ba4e7a2d2
@ -806,7 +806,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
|||||||
@Override
|
@Override
|
||||||
protected Void doInBackground(Void... params) {
|
protected Void doInBackground(Void... params) {
|
||||||
DatabaseFactory.getRecipientDatabase(ConversationActivity.this).setExpireMessages(recipient, expirationTime);
|
DatabaseFactory.getRecipientDatabase(ConversationActivity.this).setExpireMessages(recipient, expirationTime);
|
||||||
ExpirationTimerUpdate message = new ExpirationTimerUpdate(expirationTime);
|
ExpirationTimerUpdate message = new ExpirationTimerUpdate(null, expirationTime);
|
||||||
message.setSentTimestamp(System.currentTimeMillis());
|
message.setSentTimestamp(System.currentTimeMillis());
|
||||||
OutgoingExpirationUpdateMessage outgoingMessage = OutgoingExpirationUpdateMessage.from(message, recipient);
|
OutgoingExpirationUpdateMessage outgoingMessage = OutgoingExpirationUpdateMessage.from(message, recipient);
|
||||||
try {
|
try {
|
||||||
|
@ -7,6 +7,8 @@ import org.session.libsignal.service.internal.push.SignalServiceProtos
|
|||||||
|
|
||||||
class ExpirationTimerUpdate() : ControlMessage() {
|
class ExpirationTimerUpdate() : ControlMessage() {
|
||||||
|
|
||||||
|
/// In the case of a sync message, the public key of the person the message was targeted at.
|
||||||
|
/// - Note: `nil` if this isn't a sync message.
|
||||||
var syncTarget: String? = null
|
var syncTarget: String? = null
|
||||||
var duration: Int? = 0
|
var duration: Int? = 0
|
||||||
|
|
||||||
@ -19,13 +21,15 @@ class ExpirationTimerUpdate() : ControlMessage() {
|
|||||||
val dataMessageProto = if (proto.hasDataMessage()) proto.dataMessage else return null
|
val dataMessageProto = if (proto.hasDataMessage()) proto.dataMessage else return null
|
||||||
val isExpirationTimerUpdate = dataMessageProto.flags.and(SignalServiceProtos.DataMessage.Flags.EXPIRATION_TIMER_UPDATE_VALUE) != 0
|
val isExpirationTimerUpdate = dataMessageProto.flags.and(SignalServiceProtos.DataMessage.Flags.EXPIRATION_TIMER_UPDATE_VALUE) != 0
|
||||||
if (!isExpirationTimerUpdate) return null
|
if (!isExpirationTimerUpdate) return null
|
||||||
|
val syncTarget = dataMessageProto.syncTarget
|
||||||
val duration = dataMessageProto.expireTimer
|
val duration = dataMessageProto.expireTimer
|
||||||
return ExpirationTimerUpdate(duration)
|
return ExpirationTimerUpdate(syncTarget, duration)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//constructor
|
//constructor
|
||||||
internal constructor(duration: Int) : this() {
|
internal constructor(syncTarget: String?, duration: Int) : this() {
|
||||||
|
this.syncTarget = syncTarget
|
||||||
this.duration = duration
|
this.duration = duration
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,7 +48,10 @@ class ExpirationTimerUpdate() : ControlMessage() {
|
|||||||
val dataMessageProto = SignalServiceProtos.DataMessage.newBuilder()
|
val dataMessageProto = SignalServiceProtos.DataMessage.newBuilder()
|
||||||
dataMessageProto.flags = SignalServiceProtos.DataMessage.Flags.EXPIRATION_TIMER_UPDATE_VALUE
|
dataMessageProto.flags = SignalServiceProtos.DataMessage.Flags.EXPIRATION_TIMER_UPDATE_VALUE
|
||||||
dataMessageProto.expireTimer = duration
|
dataMessageProto.expireTimer = duration
|
||||||
syncTarget?.let { dataMessageProto.syncTarget = it }
|
// Sync target
|
||||||
|
if (syncTarget != null) {
|
||||||
|
dataMessageProto.syncTarget = syncTarget
|
||||||
|
}
|
||||||
// Group context
|
// Group context
|
||||||
if (MessagingConfiguration.shared.storage.isClosedGroup(recipient!!)) {
|
if (MessagingConfiguration.shared.storage.isClosedGroup(recipient!!)) {
|
||||||
try {
|
try {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user