mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-24 10:51:27 +01:00
Improve speed of sending single messages.
This commit is contained in:
@@ -296,6 +296,7 @@ import org.whispersystems.libsignal.util.guava.Optional;
|
||||
import org.whispersystems.signalservice.api.SignalSessionLock;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.security.SecureRandom;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -3051,12 +3052,13 @@ public class ConversationActivity extends PassphraseRequiredActivity
|
||||
.ifNecessary(!sendPush)
|
||||
.withPermanentDenialDialog(getString(R.string.ConversationActivity_signal_needs_sms_permission_in_order_to_send_an_sms))
|
||||
.onAllGranted(() -> {
|
||||
silentlySetComposeText("");
|
||||
final long id = fragment.stageOutgoingMessage(message);
|
||||
|
||||
final long id = new SecureRandom().nextLong();
|
||||
SimpleTask.run(() -> {
|
||||
return MessageSender.send(context, message, thread, forceSms, () -> fragment.releaseOutgoingMessage(id));
|
||||
}, this::sendComplete);
|
||||
|
||||
silentlySetComposeText("");
|
||||
fragment.stageOutgoingMessage(message, id);
|
||||
})
|
||||
.execute();
|
||||
}
|
||||
|
||||
@@ -1088,8 +1088,8 @@ public class ConversationFragment extends LoggingFragment {
|
||||
return messageRecord.getId();
|
||||
}
|
||||
|
||||
public long stageOutgoingMessage(OutgoingTextMessage message) {
|
||||
MessageRecord messageRecord = SmsDatabase.readerFor(message, threadId).getCurrent();
|
||||
public long stageOutgoingMessage(OutgoingTextMessage message, long messageId) {
|
||||
MessageRecord messageRecord = SmsDatabase.readerFor(message, threadId, messageId).getCurrent();
|
||||
|
||||
if (getListAdapter() != null) {
|
||||
clearHeaderIfNotTyping(getListAdapter());
|
||||
|
||||
Reference in New Issue
Block a user