mirror of
https://github.com/oxen-io/session-android.git
synced 2025-08-15 06:07:39 +00:00
Updated the code to use the network offset time everywhere relevant (#1111)
* Updated the code to use the network offset time everywhere relevant * Updated the SnodeAPI.nowWithOffset to use @JvmStatic
This commit is contained in:
@@ -54,6 +54,7 @@ import com.google.android.material.tabs.TabLayout;
|
||||
|
||||
import org.session.libsession.messaging.messages.control.DataExtractionNotification;
|
||||
import org.session.libsession.messaging.sending_receiving.MessageSender;
|
||||
import org.session.libsession.snode.SnodeAPI;
|
||||
import org.session.libsession.utilities.Address;
|
||||
import org.thoughtcrime.securesms.database.CursorRecyclerViewAdapter;
|
||||
import org.thoughtcrime.securesms.database.MediaDatabase;
|
||||
@@ -366,7 +367,7 @@ public class MediaOverviewActivity extends PassphraseRequiredActionBarActivity {
|
||||
|
||||
private void sendMediaSavedNotificationIfNeeded() {
|
||||
if (recipient.isGroupRecipient()) return;
|
||||
DataExtractionNotification message = new DataExtractionNotification(new DataExtractionNotification.Kind.MediaSaved(System.currentTimeMillis()));
|
||||
DataExtractionNotification message = new DataExtractionNotification(new DataExtractionNotification.Kind.MediaSaved(SnodeAPI.getNowWithOffset()));
|
||||
MessageSender.send(message, recipient.getAddress());
|
||||
}
|
||||
|
||||
|
@@ -60,6 +60,7 @@ import androidx.viewpager.widget.ViewPager;
|
||||
import org.session.libsession.messaging.messages.control.DataExtractionNotification;
|
||||
import org.session.libsession.messaging.sending_receiving.MessageSender;
|
||||
import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAttachment;
|
||||
import org.session.libsession.snode.SnodeAPI;
|
||||
import org.session.libsession.utilities.Address;
|
||||
import org.session.libsession.utilities.Util;
|
||||
import org.session.libsession.utilities.recipients.Recipient;
|
||||
@@ -423,7 +424,7 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity im
|
||||
.onAnyDenied(() -> Toast.makeText(this, R.string.MediaPreviewActivity_unable_to_write_to_external_storage_without_permission, Toast.LENGTH_LONG).show())
|
||||
.onAllGranted(() -> {
|
||||
SaveAttachmentTask saveTask = new SaveAttachmentTask(MediaPreviewActivity.this);
|
||||
long saveDate = (mediaItem.date > 0) ? mediaItem.date : System.currentTimeMillis();
|
||||
long saveDate = (mediaItem.date > 0) ? mediaItem.date : SnodeAPI.getNowWithOffset();
|
||||
saveTask.executeOnExecutor(
|
||||
AsyncTask.THREAD_POOL_EXECUTOR,
|
||||
new Attachment(mediaItem.uri, mediaItem.type, saveDate, null));
|
||||
@@ -437,7 +438,7 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity im
|
||||
|
||||
private void sendMediaSavedNotificationIfNeeded() {
|
||||
if (conversationRecipient.isGroupRecipient()) return;
|
||||
DataExtractionNotification message = new DataExtractionNotification(new DataExtractionNotification.Kind.MediaSaved(System.currentTimeMillis()));
|
||||
DataExtractionNotification message = new DataExtractionNotification(new DataExtractionNotification.Kind.MediaSaved(SnodeAPI.getNowWithOffset()));
|
||||
MessageSender.send(message, conversationRecipient.getAddress());
|
||||
}
|
||||
|
||||
|
@@ -13,6 +13,7 @@ import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.session.libsession.snode.SnodeAPI;
|
||||
import org.thoughtcrime.securesms.ApplicationContext;
|
||||
import org.thoughtcrime.securesms.conversation.v2.components.ExpirationTimerView;
|
||||
import org.thoughtcrime.securesms.database.model.MessageRecord;
|
||||
@@ -106,7 +107,7 @@ public class ConversationItemFooter extends LinearLayout {
|
||||
messageRecord.getExpiresIn());
|
||||
this.timerView.startAnimation();
|
||||
|
||||
if (messageRecord.getExpireStarted() + messageRecord.getExpiresIn() <= System.currentTimeMillis()) {
|
||||
if (messageRecord.getExpireStarted() + messageRecord.getExpiresIn() <= SnodeAPI.getNowWithOffset()) {
|
||||
ApplicationContext.getInstance(getContext()).getExpiringMessageManager().checkSchedule();
|
||||
}
|
||||
} else if (!messageRecord.isOutgoing() && !messageRecord.isMediaPending()) {
|
||||
|
@@ -57,6 +57,7 @@ import org.session.libsession.messaging.sending_receiving.attachments.Attachment
|
||||
import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview
|
||||
import org.session.libsession.messaging.sending_receiving.quotes.QuoteModel
|
||||
import org.session.libsession.messaging.utilities.SessionId
|
||||
import org.session.libsession.snode.SnodeAPI
|
||||
import org.session.libsession.utilities.*
|
||||
import org.session.libsession.utilities.Address.Companion.fromSerialized
|
||||
import org.session.libsession.utilities.concurrent.SimpleTask
|
||||
@@ -984,7 +985,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
|
||||
recipientDb.setExpireMessages(thread, expirationTime)
|
||||
val message = ExpirationTimerUpdate(expirationTime)
|
||||
message.recipient = thread.address.serialize()
|
||||
message.sentTimestamp = System.currentTimeMillis()
|
||||
message.sentTimestamp = SnodeAPI.nowWithOffset
|
||||
val expiringMessageManager = ApplicationContext.getInstance(this).expiringMessageManager
|
||||
expiringMessageManager.setExpirationTimer(message)
|
||||
MessageSender.send(message, thread.address)
|
||||
@@ -1113,7 +1114,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
|
||||
// Create the message
|
||||
val recipient = viewModel.recipient ?: return
|
||||
val reactionMessage = VisibleMessage()
|
||||
val emojiTimestamp = System.currentTimeMillis()
|
||||
val emojiTimestamp = SnodeAPI.nowWithOffset
|
||||
reactionMessage.sentTimestamp = emojiTimestamp
|
||||
val author = textSecurePreferences.getLocalNumber()!!
|
||||
// Put the message in the database
|
||||
@@ -1146,7 +1147,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
|
||||
private fun sendEmojiRemoval(emoji: String, originalMessage: MessageRecord) {
|
||||
val recipient = viewModel.recipient ?: return
|
||||
val message = VisibleMessage()
|
||||
val emojiTimestamp = System.currentTimeMillis()
|
||||
val emojiTimestamp = SnodeAPI.nowWithOffset
|
||||
message.sentTimestamp = emojiTimestamp
|
||||
val author = textSecurePreferences.getLocalNumber()!!
|
||||
reactionDb.deleteReaction(emoji, MessageId(originalMessage.id, originalMessage.isMms), author, false)
|
||||
@@ -1375,7 +1376,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
|
||||
}
|
||||
// Create the message
|
||||
val message = VisibleMessage()
|
||||
message.sentTimestamp = System.currentTimeMillis()
|
||||
message.sentTimestamp = SnodeAPI.nowWithOffset
|
||||
message.text = text
|
||||
val outgoingTextMessage = OutgoingTextMessage.from(message, recipient)
|
||||
// Clear the input bar
|
||||
@@ -1399,7 +1400,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
|
||||
processMessageRequestApproval()
|
||||
// Create the message
|
||||
val message = VisibleMessage()
|
||||
message.sentTimestamp = System.currentTimeMillis()
|
||||
message.sentTimestamp = SnodeAPI.nowWithOffset
|
||||
message.text = body
|
||||
val quote = quotedMessage?.let {
|
||||
val quotedAttachments = (it as? MmsMessageRecord)?.slideDeck?.asAttachments() ?: listOf()
|
||||
@@ -1796,7 +1797,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
|
||||
private fun sendMediaSavedNotification() {
|
||||
val recipient = viewModel.recipient ?: return
|
||||
if (recipient.isGroupRecipient) { return }
|
||||
val timestamp = System.currentTimeMillis()
|
||||
val timestamp = SnodeAPI.nowWithOffset
|
||||
val kind = DataExtractionNotification.Kind.MediaSaved(timestamp)
|
||||
val message = DataExtractionNotification(kind)
|
||||
MessageSender.send(message, recipient.address)
|
||||
|
@@ -10,6 +10,7 @@ import org.session.libsession.messaging.MessagingModuleConfiguration
|
||||
import org.session.libsession.messaging.open_groups.OpenGroupApi
|
||||
import org.session.libsession.messaging.utilities.SessionId
|
||||
import org.session.libsession.messaging.utilities.SodiumUtilities
|
||||
import org.session.libsession.snode.SnodeAPI
|
||||
import org.session.libsession.utilities.Address
|
||||
import org.session.libsession.utilities.ExpirationUtil
|
||||
import org.session.libsession.utilities.TextSecurePreferences
|
||||
@@ -88,7 +89,7 @@ class MessageDetailActivity: PassphraseRequiredActionBarActivity() {
|
||||
binding.expiresContainer.visibility = View.GONE
|
||||
} else {
|
||||
binding.expiresContainer.visibility = View.VISIBLE
|
||||
val elapsed = System.currentTimeMillis() - messageRecord!!.expireStarted
|
||||
val elapsed = SnodeAPI.nowWithOffset - messageRecord!!.expireStarted
|
||||
val remaining = messageRecord!!.expiresIn - elapsed
|
||||
|
||||
val duration = ExpirationUtil.getExpirationDisplayValue(this, Math.max((remaining / 1000).toInt(), 1))
|
||||
|
@@ -26,6 +26,7 @@ import network.loki.messenger.databinding.ViewVisibleMessageBinding
|
||||
import org.session.libsession.messaging.contacts.Contact
|
||||
import org.session.libsession.messaging.contacts.Contact.ContactContext
|
||||
import org.session.libsession.messaging.open_groups.OpenGroupApi
|
||||
import org.session.libsession.snode.SnodeAPI
|
||||
import org.session.libsession.utilities.Address
|
||||
import org.session.libsession.utilities.ViewUtil
|
||||
import org.session.libsession.utilities.getColorFromAttr
|
||||
@@ -315,7 +316,7 @@ class VisibleMessageView : LinearLayout {
|
||||
if (message.expireStarted > 0) {
|
||||
binding.expirationTimerView.setExpirationTime(message.expireStarted, message.expiresIn)
|
||||
binding.expirationTimerView.startAnimation()
|
||||
if (message.expireStarted + message.expiresIn <= System.currentTimeMillis()) {
|
||||
if (message.expireStarted + message.expiresIn <= SnodeAPI.nowWithOffset) {
|
||||
ApplicationContext.getInstance(context).expiringMessageManager.checkSchedule()
|
||||
}
|
||||
} else if (!message.isMediaPending) {
|
||||
|
@@ -35,6 +35,7 @@ import org.session.libsession.messaging.sending_receiving.attachments.Attachment
|
||||
import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAttachment
|
||||
import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview
|
||||
import org.session.libsession.messaging.sending_receiving.quotes.QuoteModel
|
||||
import org.session.libsession.snode.SnodeAPI
|
||||
import org.session.libsession.utilities.Address
|
||||
import org.session.libsession.utilities.Address.Companion.UNKNOWN
|
||||
import org.session.libsession.utilities.Address.Companion.fromExternal
|
||||
@@ -380,7 +381,7 @@ class MmsDatabase(context: Context, databaseHelper: SQLCipherOpenHelper) : Messa
|
||||
}
|
||||
|
||||
override fun markExpireStarted(messageId: Long) {
|
||||
markExpireStarted(messageId, System.currentTimeMillis())
|
||||
markExpireStarted(messageId, SnodeAPI.nowWithOffset)
|
||||
}
|
||||
|
||||
override fun markExpireStarted(messageId: Long, startedTimestamp: Long) {
|
||||
@@ -798,7 +799,7 @@ class MmsDatabase(context: Context, databaseHelper: SQLCipherOpenHelper) : Messa
|
||||
// In open groups messages should be sorted by their server timestamp
|
||||
var receivedTimestamp = serverTimestamp
|
||||
if (serverTimestamp == 0L) {
|
||||
receivedTimestamp = System.currentTimeMillis()
|
||||
receivedTimestamp = SnodeAPI.nowWithOffset
|
||||
}
|
||||
contentValues.put(DATE_RECEIVED, receivedTimestamp)
|
||||
contentValues.put(SUBSCRIPTION_ID, message.subscriptionId)
|
||||
@@ -1277,7 +1278,7 @@ class MmsDatabase(context: Context, databaseHelper: SQLCipherOpenHelper) : Messa
|
||||
val slideDeck = SlideDeck(context, message!!.attachments)
|
||||
return MediaMmsMessageRecord(
|
||||
id, message.recipient, message.recipient,
|
||||
1, System.currentTimeMillis(), System.currentTimeMillis(),
|
||||
1, SnodeAPI.nowWithOffset, SnodeAPI.nowWithOffset,
|
||||
0, threadId, message.body,
|
||||
slideDeck, slideDeck.slides.size,
|
||||
if (message.isSecure) MmsSmsColumns.Types.getOutgoingEncryptedMessageType() else MmsSmsColumns.Types.getOutgoingSmsMessageType(),
|
||||
@@ -1285,7 +1286,7 @@ class MmsDatabase(context: Context, databaseHelper: SQLCipherOpenHelper) : Messa
|
||||
LinkedList(),
|
||||
message.subscriptionId,
|
||||
message.expiresIn,
|
||||
System.currentTimeMillis(), 0,
|
||||
SnodeAPI.nowWithOffset, 0,
|
||||
if (message.outgoingQuote != null) Quote(
|
||||
message.outgoingQuote!!.id,
|
||||
message.outgoingQuote!!.author,
|
||||
|
@@ -36,6 +36,7 @@ import org.session.libsession.messaging.calls.CallMessageType;
|
||||
import org.session.libsession.messaging.messages.signal.IncomingGroupMessage;
|
||||
import org.session.libsession.messaging.messages.signal.IncomingTextMessage;
|
||||
import org.session.libsession.messaging.messages.signal.OutgoingTextMessage;
|
||||
import org.session.libsession.snode.SnodeAPI;
|
||||
import org.session.libsession.utilities.Address;
|
||||
import org.session.libsession.utilities.IdentityKeyMismatch;
|
||||
import org.session.libsession.utilities.IdentityKeyMismatchList;
|
||||
@@ -227,7 +228,7 @@ public class SmsDatabase extends MessagingDatabase {
|
||||
|
||||
@Override
|
||||
public void markExpireStarted(long id) {
|
||||
markExpireStarted(id, System.currentTimeMillis());
|
||||
markExpireStarted(id, SnodeAPI.getNowWithOffset());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -530,7 +531,7 @@ public class SmsDatabase extends MessagingDatabase {
|
||||
contentValues.put(ADDRESS, address.serialize());
|
||||
contentValues.put(THREAD_ID, threadId);
|
||||
contentValues.put(BODY, message.getMessageBody());
|
||||
contentValues.put(DATE_RECEIVED, System.currentTimeMillis());
|
||||
contentValues.put(DATE_RECEIVED, SnodeAPI.getNowWithOffset());
|
||||
contentValues.put(DATE_SENT, message.getSentTimestampMillis());
|
||||
contentValues.put(READ, 1);
|
||||
contentValues.put(TYPE, type);
|
||||
@@ -765,11 +766,11 @@ public class SmsDatabase extends MessagingDatabase {
|
||||
public MessageRecord getCurrent() {
|
||||
return new SmsMessageRecord(id, message.getMessageBody(),
|
||||
message.getRecipient(), message.getRecipient(),
|
||||
System.currentTimeMillis(), System.currentTimeMillis(),
|
||||
SnodeAPI.getNowWithOffset(), SnodeAPI.getNowWithOffset(),
|
||||
0, message.isSecureMessage() ? MmsSmsColumns.Types.getOutgoingEncryptedMessageType() : MmsSmsColumns.Types.getOutgoingSmsMessageType(),
|
||||
threadId, 0, new LinkedList<IdentityKeyMismatch>(),
|
||||
message.getExpiresIn(),
|
||||
System.currentTimeMillis(), 0, false, Collections.emptyList(), false);
|
||||
SnodeAPI.getNowWithOffset(), 0, false, Collections.emptyList(), false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -35,6 +35,7 @@ import com.annimon.stream.Stream;
|
||||
import net.zetetic.database.sqlcipher.SQLiteDatabase;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.session.libsession.snode.SnodeAPI;
|
||||
import org.session.libsession.utilities.Address;
|
||||
import org.session.libsession.utilities.Contact;
|
||||
import org.session.libsession.utilities.DelimiterUtil;
|
||||
@@ -146,7 +147,7 @@ public class ThreadDatabase extends Database {
|
||||
|
||||
private long createThreadForRecipient(Address address, boolean group, int distributionType) {
|
||||
ContentValues contentValues = new ContentValues(4);
|
||||
long date = System.currentTimeMillis();
|
||||
long date = SnodeAPI.getNowWithOffset();
|
||||
|
||||
contentValues.put(DATE, date - date % 1000);
|
||||
contentValues.put(ADDRESS, address.serialize());
|
||||
@@ -301,7 +302,7 @@ public class ThreadDatabase extends Database {
|
||||
contentValues.put(UNREAD_MENTION_COUNT, 0);
|
||||
|
||||
if (lastSeen) {
|
||||
contentValues.put(LAST_SEEN, System.currentTimeMillis());
|
||||
contentValues.put(LAST_SEEN, SnodeAPI.getNowWithOffset());
|
||||
}
|
||||
|
||||
SQLiteDatabase db = databaseHelper.getWritableDatabase();
|
||||
@@ -520,7 +521,7 @@ public class ThreadDatabase extends Database {
|
||||
SQLiteDatabase db = databaseHelper.getWritableDatabase();
|
||||
ContentValues contentValues = new ContentValues(1);
|
||||
if (timestamp == -1) {
|
||||
contentValues.put(LAST_SEEN, System.currentTimeMillis());
|
||||
contentValues.put(LAST_SEEN, SnodeAPI.getNowWithOffset());
|
||||
} else {
|
||||
contentValues.put(LAST_SEEN, timestamp);
|
||||
}
|
||||
|
@@ -30,6 +30,7 @@ import org.session.libsession.messaging.messages.signal.OutgoingMediaMessage;
|
||||
import org.session.libsession.messaging.messages.signal.OutgoingTextMessage;
|
||||
import org.session.libsession.messaging.messages.visible.VisibleMessage;
|
||||
import org.session.libsession.messaging.sending_receiving.MessageSender;
|
||||
import org.session.libsession.snode.SnodeAPI;
|
||||
import org.session.libsession.utilities.Address;
|
||||
import org.session.libsession.utilities.recipients.Recipient;
|
||||
import org.session.libsignal.utilities.Log;
|
||||
@@ -82,7 +83,7 @@ public class AndroidAutoReplyReceiver extends BroadcastReceiver {
|
||||
|
||||
VisibleMessage message = new VisibleMessage();
|
||||
message.setText(responseText.toString());
|
||||
message.setSentTimestamp(System.currentTimeMillis());
|
||||
message.setSentTimestamp(SnodeAPI.getNowWithOffset());
|
||||
MessageSender.send(message, recipient.getAddress());
|
||||
|
||||
if (recipient.isGroupRecipient()) {
|
||||
@@ -96,7 +97,7 @@ public class AndroidAutoReplyReceiver extends BroadcastReceiver {
|
||||
} else {
|
||||
Log.w("AndroidAutoReplyReceiver", "Sending regular message ");
|
||||
OutgoingTextMessage reply = OutgoingTextMessage.from(message, recipient);
|
||||
DatabaseComponent.get(context).smsDatabase().insertMessageOutbox(replyThreadId, reply, false, System.currentTimeMillis(), null, true);
|
||||
DatabaseComponent.get(context).smsDatabase().insertMessageOutbox(replyThreadId, reply, false, SnodeAPI.getNowWithOffset(), null, true);
|
||||
}
|
||||
|
||||
List<MarkedMessageInfo> messageIds = DatabaseComponent.get(context).threadDatabase().setRead(replyThreadId, true);
|
||||
|
@@ -44,6 +44,7 @@ import org.session.libsession.messaging.open_groups.OpenGroup;
|
||||
import org.session.libsession.messaging.sending_receiving.notifications.MessageNotifier;
|
||||
import org.session.libsession.messaging.utilities.SessionId;
|
||||
import org.session.libsession.messaging.utilities.SodiumUtilities;
|
||||
import org.session.libsession.snode.SnodeAPI;
|
||||
import org.session.libsession.utilities.Address;
|
||||
import org.session.libsession.utilities.Contact;
|
||||
import org.session.libsession.utilities.ServiceUtil;
|
||||
@@ -137,7 +138,7 @@ public class DefaultMessageNotifier implements MessageNotifier {
|
||||
Intent intent = new Intent(context, ConversationActivityV2.class);
|
||||
intent.putExtra(ConversationActivityV2.ADDRESS, recipient.getAddress());
|
||||
intent.putExtra(ConversationActivityV2.THREAD_ID, threadId);
|
||||
intent.setData((Uri.parse("custom://" + System.currentTimeMillis())));
|
||||
intent.setData((Uri.parse("custom://" + SnodeAPI.getNowWithOffset())));
|
||||
|
||||
FailedNotificationBuilder builder = new FailedNotificationBuilder(context, TextSecurePreferences.getNotificationPrivacy(context), intent);
|
||||
((NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE))
|
||||
|
@@ -14,6 +14,7 @@ import com.annimon.stream.Stream;
|
||||
|
||||
import org.session.libsession.messaging.messages.control.ReadReceipt;
|
||||
import org.session.libsession.messaging.sending_receiving.MessageSender;
|
||||
import org.session.libsession.snode.SnodeAPI;
|
||||
import org.session.libsession.utilities.Address;
|
||||
import org.session.libsession.utilities.TextSecurePreferences;
|
||||
import org.session.libsession.utilities.recipients.Recipient;
|
||||
@@ -86,7 +87,7 @@ public class MarkReadReceiver extends BroadcastReceiver {
|
||||
List<Long> timestamps = Stream.of(addressMap.get(address)).map(SyncMessageId::getTimetamp).toList();
|
||||
if (!SessionMetaProtocol.shouldSendReadReceipt(Recipient.from(context, address, false))) { continue; }
|
||||
ReadReceipt readReceipt = new ReadReceipt(timestamps);
|
||||
readReceipt.setSentTimestamp(System.currentTimeMillis());
|
||||
readReceipt.setSentTimestamp(SnodeAPI.getNowWithOffset());
|
||||
MessageSender.send(readReceipt, address);
|
||||
}
|
||||
}
|
||||
|
@@ -110,7 +110,7 @@ class DefaultConversationRepository @Inject constructor(
|
||||
val openGroup = lokiThreadDb.getOpenGroupChat(threadId) ?: return
|
||||
for (contact in contacts) {
|
||||
val message = VisibleMessage()
|
||||
message.sentTimestamp = System.currentTimeMillis()
|
||||
message.sentTimestamp = SnodeAPI.nowWithOffset
|
||||
val openGroupInvitation = OpenGroupInvitation()
|
||||
openGroupInvitation.name = openGroup.name
|
||||
openGroupInvitation.url = openGroup.joinURL
|
||||
|
@@ -9,6 +9,7 @@ import android.widget.Toast;
|
||||
import network.loki.messenger.R;
|
||||
|
||||
import org.session.libsession.messaging.messages.visible.VisibleMessage;
|
||||
import org.session.libsession.snode.SnodeAPI;
|
||||
import org.session.libsession.utilities.Address;
|
||||
import org.session.libsignal.utilities.Log;
|
||||
import org.session.libsession.messaging.sending_receiving.MessageSender;
|
||||
@@ -50,7 +51,7 @@ public class QuickResponseService extends IntentService {
|
||||
if (!TextUtils.isEmpty(content)) {
|
||||
VisibleMessage message = new VisibleMessage();
|
||||
message.setText(content);
|
||||
message.setSentTimestamp(System.currentTimeMillis());
|
||||
message.setSentTimestamp(SnodeAPI.getNowWithOffset());
|
||||
MessageSender.send(message, Address.fromExternal(this, number));
|
||||
}
|
||||
} catch (URISyntaxException e) {
|
||||
|
@@ -18,6 +18,7 @@ import org.session.libsession.database.StorageProtocol
|
||||
import org.session.libsession.messaging.calls.CallMessageType
|
||||
import org.session.libsession.messaging.messages.control.CallMessage
|
||||
import org.session.libsession.messaging.sending_receiving.MessageSender
|
||||
import org.session.libsession.snode.SnodeAPI
|
||||
import org.session.libsession.utilities.Address
|
||||
import org.session.libsession.utilities.Debouncer
|
||||
import org.session.libsession.utilities.Util
|
||||
@@ -574,7 +575,7 @@ class CallManager(context: Context, audioManager: AudioManagerCompat, private va
|
||||
}
|
||||
}
|
||||
|
||||
fun insertCallMessage(threadPublicKey: String, callMessageType: CallMessageType, signal: Boolean = false, sentTimestamp: Long = System.currentTimeMillis()) {
|
||||
fun insertCallMessage(threadPublicKey: String, callMessageType: CallMessageType, signal: Boolean = false, sentTimestamp: Long = SnodeAPI.nowWithOffset) {
|
||||
storage.insertCallMessage(threadPublicKey, callMessageType, sentTimestamp)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user