mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-17 13:19:52 +01:00
Merge branch '1590-create-private-messages-on-ui-thread' into 'master'
Move private message creation off the crypto executor Closes #1590 See merge request briar/briar!1141
This commit is contained in:
@@ -13,7 +13,6 @@ import org.briarproject.bramble.api.FormatException;
|
|||||||
import org.briarproject.bramble.api.contact.Contact;
|
import org.briarproject.bramble.api.contact.Contact;
|
||||||
import org.briarproject.bramble.api.contact.ContactId;
|
import org.briarproject.bramble.api.contact.ContactId;
|
||||||
import org.briarproject.bramble.api.contact.ContactManager;
|
import org.briarproject.bramble.api.contact.ContactManager;
|
||||||
import org.briarproject.bramble.api.crypto.CryptoExecutor;
|
|
||||||
import org.briarproject.bramble.api.db.DatabaseExecutor;
|
import org.briarproject.bramble.api.db.DatabaseExecutor;
|
||||||
import org.briarproject.bramble.api.db.DbException;
|
import org.briarproject.bramble.api.db.DbException;
|
||||||
import org.briarproject.bramble.api.db.NoSuchContactException;
|
import org.briarproject.bramble.api.db.NoSuchContactException;
|
||||||
@@ -69,8 +68,6 @@ public class ConversationViewModel extends AndroidViewModel
|
|||||||
|
|
||||||
@DatabaseExecutor
|
@DatabaseExecutor
|
||||||
private final Executor dbExecutor;
|
private final Executor dbExecutor;
|
||||||
@CryptoExecutor
|
|
||||||
private final Executor cryptoExecutor;
|
|
||||||
private final TransactionManager db;
|
private final TransactionManager db;
|
||||||
private final MessagingManager messagingManager;
|
private final MessagingManager messagingManager;
|
||||||
private final ContactManager contactManager;
|
private final ContactManager contactManager;
|
||||||
@@ -103,14 +100,12 @@ public class ConversationViewModel extends AndroidViewModel
|
|||||||
@Inject
|
@Inject
|
||||||
ConversationViewModel(Application application,
|
ConversationViewModel(Application application,
|
||||||
@DatabaseExecutor Executor dbExecutor,
|
@DatabaseExecutor Executor dbExecutor,
|
||||||
@CryptoExecutor Executor cryptoExecutor,
|
|
||||||
@IoExecutor Executor ioExecutor, TransactionManager db,
|
@IoExecutor Executor ioExecutor, TransactionManager db,
|
||||||
MessagingManager messagingManager, ContactManager contactManager,
|
MessagingManager messagingManager, ContactManager contactManager,
|
||||||
SettingsManager settingsManager,
|
SettingsManager settingsManager,
|
||||||
PrivateMessageFactory privateMessageFactory) {
|
PrivateMessageFactory privateMessageFactory) {
|
||||||
super(application);
|
super(application);
|
||||||
this.dbExecutor = dbExecutor;
|
this.dbExecutor = dbExecutor;
|
||||||
this.cryptoExecutor = cryptoExecutor;
|
|
||||||
this.db = db;
|
this.db = db;
|
||||||
this.messagingManager = messagingManager;
|
this.messagingManager = messagingManager;
|
||||||
this.contactManager = contactManager;
|
this.contactManager = contactManager;
|
||||||
@@ -276,18 +271,16 @@ public class ConversationViewModel extends AndroidViewModel
|
|||||||
|
|
||||||
private void createMessage(GroupId groupId, @Nullable String text,
|
private void createMessage(GroupId groupId, @Nullable String text,
|
||||||
List<AttachmentHeader> attachments, long timestamp) {
|
List<AttachmentHeader> attachments, long timestamp) {
|
||||||
cryptoExecutor.execute(() -> {
|
try {
|
||||||
try {
|
// TODO remove when text can be null in the backend
|
||||||
// TODO remove when text can be null in the backend
|
String msgText = text == null ? "null" : text;
|
||||||
String msgText = text == null ? "null" : text;
|
PrivateMessage pm = privateMessageFactory
|
||||||
PrivateMessage pm = privateMessageFactory
|
.createPrivateMessage(groupId, timestamp, msgText,
|
||||||
.createPrivateMessage(groupId, timestamp, msgText,
|
attachments);
|
||||||
attachments);
|
storeMessage(pm, msgText, attachments);
|
||||||
storeMessage(pm, msgText, attachments);
|
} catch (FormatException e) {
|
||||||
} catch (FormatException e) {
|
throw new RuntimeException(e);
|
||||||
throw new RuntimeException(e);
|
}
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void storeMessage(PrivateMessage m, @Nullable String text,
|
private void storeMessage(PrivateMessage m, @Nullable String text,
|
||||||
|
|||||||
Reference in New Issue
Block a user