From 122380db6688f6f7d780855bf2a359316c06543e Mon Sep 17 00:00:00 2001 From: akwizgran <akwizgran@users.sourceforge.net> Date: Wed, 16 Dec 2015 16:12:33 +0000 Subject: [PATCH] Use new UI/DB interfaces for private messaging. --- .../android/contact/ContactListActivity.java | 18 +++++++++------- .../android/contact/ConversationActivity.java | 21 +++++++++++-------- .../contact/ReadPrivateMessageActivity.java | 8 +++---- .../contact/WritePrivateMessageActivity.java | 12 ++++++----- 4 files changed, 34 insertions(+), 25 deletions(-) diff --git a/briar-android/src/org/briarproject/android/contact/ContactListActivity.java b/briar-android/src/org/briarproject/android/contact/ContactListActivity.java index d80b00cbfd..9f61e34cb2 100644 --- a/briar-android/src/org/briarproject/android/contact/ContactListActivity.java +++ b/briar-android/src/org/briarproject/android/contact/ContactListActivity.java @@ -25,7 +25,7 @@ import org.briarproject.android.util.HorizontalBorder; import org.briarproject.android.util.ListLoadingProgressBar; import org.briarproject.api.contact.Contact; import org.briarproject.api.contact.ContactId; -import org.briarproject.api.db.DatabaseComponent; +import org.briarproject.api.contact.ContactManager; import org.briarproject.api.db.DbException; import org.briarproject.api.db.NoSuchContactException; import org.briarproject.api.event.ContactAddedEvent; @@ -37,6 +37,7 @@ import org.briarproject.api.event.EventBus; import org.briarproject.api.event.EventListener; import org.briarproject.api.event.MessageAddedEvent; import org.briarproject.api.identity.AuthorId; +import org.briarproject.api.messaging.MessagingManager; import org.briarproject.api.plugins.ConnectionRegistry; import org.briarproject.api.sync.GroupId; import org.briarproject.api.sync.MessageHeader; @@ -74,7 +75,8 @@ EventListener { private ListLoadingProgressBar loading = null; // Fields that are accessed from background threads must be volatile - @Inject private volatile DatabaseComponent db; + @Inject private volatile ContactManager contactManager; + @Inject private volatile MessagingManager messagingManager; @Inject private volatile EventBus eventBus; @Override @@ -136,11 +138,13 @@ EventListener { public void run() { try { long now = System.currentTimeMillis(); - for (Contact c : db.getContacts()) { + for (Contact c : contactManager.getContacts()) { try { - GroupId inbox = db.getInboxGroupId(c.getId()); + ContactId id = c.getId(); + GroupId inbox = + messagingManager.getInboxGroupId(id); Collection<MessageHeader> headers = - db.getInboxMessageHeaders(c.getId()); + messagingManager.getInboxMessageHeaders(id); displayContact(c, inbox, headers); } catch (NoSuchContactException e) { // Continue @@ -256,7 +260,7 @@ EventListener { runOnDbThread(new Runnable() { public void run() { try { - db.removeContact(c); + contactManager.removeContact(c); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); @@ -290,7 +294,7 @@ EventListener { try { long now = System.currentTimeMillis(); Collection<MessageHeader> headers = - db.getInboxMessageHeaders(c); + messagingManager.getInboxMessageHeaders(c); long duration = System.currentTimeMillis() - now; if (LOG.isLoggable(INFO)) LOG.info("Partial load took " + duration + " ms"); diff --git a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java index 7bbec7095f..fe60f8c423 100644 --- a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java +++ b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java @@ -22,8 +22,8 @@ import org.briarproject.android.util.LayoutUtils; import org.briarproject.api.android.AndroidNotificationManager; import org.briarproject.api.contact.Contact; import org.briarproject.api.contact.ContactId; +import org.briarproject.api.contact.ContactManager; import org.briarproject.api.crypto.CryptoExecutor; -import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; import org.briarproject.api.db.NoSuchContactException; import org.briarproject.api.db.NoSuchMessageException; @@ -38,6 +38,7 @@ import org.briarproject.api.event.MessageAddedEvent; import org.briarproject.api.event.MessagesAckedEvent; import org.briarproject.api.event.MessagesSentEvent; import org.briarproject.api.identity.AuthorId; +import org.briarproject.api.messaging.MessagingManager; import org.briarproject.api.plugins.ConnectionRegistry; import org.briarproject.api.sync.Group; import org.briarproject.api.sync.GroupId; @@ -89,7 +90,8 @@ implements EventListener, OnClickListener, OnItemClickListener { private ImageButton sendButton = null; // Fields that are accessed from background threads must be volatile - @Inject private volatile DatabaseComponent db; + @Inject private volatile ContactManager contactManager; + @Inject private volatile MessagingManager messagingManager; @Inject private volatile EventBus eventBus; @Inject private volatile MessageFactory messageFactory; private volatile ContactId contactId = null; @@ -162,11 +164,11 @@ implements EventListener, OnClickListener, OnItemClickListener { public void run() { try { long now = System.currentTimeMillis(); - Contact contact = db.getContact(contactId); + Contact contact = contactManager.getContact(contactId); contactName = contact.getAuthor().getName(); localAuthorId = contact.getLocalAuthorId(); - groupId = db.getInboxGroupId(contactId); - group = db.getGroup(groupId); + groupId = messagingManager.getInboxGroupId(contactId); + group = messagingManager.getGroup(groupId); connected = connectionRegistry.isConnected(contactId); long duration = System.currentTimeMillis() - now; if (LOG.isLoggable(INFO)) { @@ -208,7 +210,7 @@ implements EventListener, OnClickListener, OnItemClickListener { try { long now = System.currentTimeMillis(); Collection<MessageHeader> headers = - db.getInboxMessageHeaders(contactId); + messagingManager.getInboxMessageHeaders(contactId); long duration = System.currentTimeMillis() - now; if (LOG.isLoggable(INFO)) LOG.info("Loading headers took " + duration + " ms"); @@ -254,7 +256,7 @@ implements EventListener, OnClickListener, OnItemClickListener { public void run() { try { long now = System.currentTimeMillis(); - byte[] body = db.getMessageBody(h.getId()); + byte[] body = messagingManager.getMessageBody(h.getId()); long duration = System.currentTimeMillis() - now; if (LOG.isLoggable(INFO)) LOG.info("Loading message took " + duration + " ms"); @@ -324,7 +326,8 @@ implements EventListener, OnClickListener, OnItemClickListener { public void run() { try { long now = System.currentTimeMillis(); - for (MessageId m : unread) db.setReadFlag(m, true); + for (MessageId m : unread) + messagingManager.setReadFlag(m, true); long duration = System.currentTimeMillis() - now; if (LOG.isLoggable(INFO)) LOG.info("Marking read took " + duration + " ms"); @@ -438,7 +441,7 @@ implements EventListener, OnClickListener, OnItemClickListener { public void run() { try { long now = System.currentTimeMillis(); - db.addLocalMessage(m); + messagingManager.addLocalMessage(m); long duration = System.currentTimeMillis() - now; if (LOG.isLoggable(INFO)) LOG.info("Storing message took " + duration + " ms"); diff --git a/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java b/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java index 7b8df89d44..7ece03b027 100644 --- a/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java +++ b/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java @@ -17,10 +17,10 @@ import org.briarproject.android.util.AuthorView; import org.briarproject.android.util.ElasticHorizontalSpace; import org.briarproject.android.util.HorizontalBorder; import org.briarproject.android.util.LayoutUtils; -import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; import org.briarproject.api.db.NoSuchMessageException; import org.briarproject.api.identity.AuthorId; +import org.briarproject.api.messaging.MessagingManager; import org.briarproject.api.sync.GroupId; import org.briarproject.api.sync.MessageId; import org.briarproject.util.StringUtils; @@ -58,7 +58,7 @@ implements OnClickListener { private int position = -1; // Fields that are accessed from background threads must be volatile - @Inject private volatile DatabaseComponent db; + @Inject private volatile MessagingManager messagingManager; private volatile MessageId messageId = null; private volatile GroupId groupId = null; @@ -172,7 +172,7 @@ implements OnClickListener { public void run() { try { long now = System.currentTimeMillis(); - db.setReadFlag(messageId, true); + messagingManager.setReadFlag(messageId, true); long duration = System.currentTimeMillis() - now; if (LOG.isLoggable(INFO)) LOG.info("Marking read took " + duration + " ms"); @@ -189,7 +189,7 @@ implements OnClickListener { public void run() { try { long now = System.currentTimeMillis(); - byte[] body = db.getMessageBody(messageId); + byte[] body = messagingManager.getMessageBody(messageId); long duration = System.currentTimeMillis() - now; if (LOG.isLoggable(INFO)) LOG.info("Loading message took " + duration + " ms"); diff --git a/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java b/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java index 03cf96e9b1..44dc87dc89 100644 --- a/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java +++ b/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java @@ -17,12 +17,13 @@ import org.briarproject.android.BriarActivity; import org.briarproject.android.util.CommonLayoutParams; import org.briarproject.android.util.LayoutUtils; import org.briarproject.api.crypto.CryptoExecutor; -import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; import org.briarproject.api.db.NoSuchContactException; import org.briarproject.api.db.NoSuchSubscriptionException; import org.briarproject.api.identity.AuthorId; +import org.briarproject.api.identity.IdentityManager; import org.briarproject.api.identity.LocalAuthor; +import org.briarproject.api.messaging.MessagingManager; import org.briarproject.api.sync.Group; import org.briarproject.api.sync.GroupId; import org.briarproject.api.sync.Message; @@ -62,7 +63,8 @@ implements OnClickListener { private EditText content = null; // Fields that are accessed from background threads must be volatile - @Inject private volatile DatabaseComponent db; + @Inject private volatile IdentityManager identityManager; + @Inject private volatile MessagingManager messagingManager; @Inject private volatile MessageFactory messageFactory; private volatile String contactName = null; private volatile GroupId groupId = null; @@ -146,8 +148,8 @@ implements OnClickListener { public void run() { try { long now = System.currentTimeMillis(); - localAuthor = db.getLocalAuthor(localAuthorId); - group = db.getGroup(groupId); + localAuthor = identityManager.getLocalAuthor(localAuthorId); + group = messagingManager.getGroup(groupId); long duration = System.currentTimeMillis() - now; if (LOG.isLoggable(INFO)) LOG.info("Load took " + duration + " ms"); @@ -207,7 +209,7 @@ implements OnClickListener { public void run() { try { long now = System.currentTimeMillis(); - db.addLocalMessage(m); + messagingManager.addLocalMessage(m); long duration = System.currentTimeMillis() - now; if (LOG.isLoggable(INFO)) LOG.info("Storing message took " + duration + " ms"); -- GitLab