diff --git a/briar-android/src/org/briarproject/android/contact/ContactListActivity.java b/briar-android/src/org/briarproject/android/contact/ContactListActivity.java index d80b00cbfd048e93cc84064ea498e7612f232cd1..9f61e34cb25af9f7ef07bd2d01c3f474f913108a 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 7bbec7095f8c6b4997ef5d11112f66ca59c398b1..fe60f8c423c7d89518f8a8c38c7b1caef2ae1823 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 7b8df89d4448863d98bbb391592cf19250a4fe01..7ece03b027193c23925f04f8dcd79659c315af2a 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 03cf96e9b17412615d8b5498ffa8377b921150e4..44dc87dc89e6170125e11d86bf81e369c3cc5969 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");