From fa3183b46af43fbd29ec0af78722922ec0d77a0c Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Fri, 1 Mar 2013 22:46:49 +0000 Subject: [PATCH] Added convenience method for waiting for BriarService to start. --- .../net/sf/briar/android/BriarService.java | 5 +++++ .../sf/briar/android/HomeScreenActivity.java | 1 + .../android/contact/ContactListActivity.java | 13 +++++------- .../messages/ConversationListActivity.java | 21 +++++++++++-------- 4 files changed, 23 insertions(+), 17 deletions(-) diff --git a/briar-android/src/net/sf/briar/android/BriarService.java b/briar-android/src/net/sf/briar/android/BriarService.java index 06c24e4b77..ba9cf7fbea 100644 --- a/briar-android/src/net/sf/briar/android/BriarService.java +++ b/briar-android/src/net/sf/briar/android/BriarService.java @@ -160,5 +160,10 @@ public class BriarService extends RoboService { binderLatch.await(); return binder; } + + public void waitForStartup() throws InterruptedException { + waitForBinder(); + ((BriarBinder) binder).getService().waitForStartup(); + } } } diff --git a/briar-android/src/net/sf/briar/android/HomeScreenActivity.java b/briar-android/src/net/sf/briar/android/HomeScreenActivity.java index 07fe3d0b8c..4d597ce7cd 100644 --- a/briar-android/src/net/sf/briar/android/HomeScreenActivity.java +++ b/briar-android/src/net/sf/briar/android/HomeScreenActivity.java @@ -136,6 +136,7 @@ public class HomeScreenActivity extends BriarActivity { GridView grid = new GridView(this); grid.setLayoutParams(matchParent); grid.setGravity(CENTER); + grid.setPadding(5, 5, 5, 5); grid.setNumColumns(2); grid.setAdapter(new BaseAdapter() { diff --git a/briar-android/src/net/sf/briar/android/contact/ContactListActivity.java b/briar-android/src/net/sf/briar/android/contact/ContactListActivity.java index 53143108ea..c1c00ad104 100644 --- a/briar-android/src/net/sf/briar/android/contact/ContactListActivity.java +++ b/briar-android/src/net/sf/briar/android/contact/ContactListActivity.java @@ -14,7 +14,6 @@ import java.util.logging.Logger; import net.sf.briar.R; import net.sf.briar.android.BriarActivity; import net.sf.briar.android.BriarService; -import net.sf.briar.android.BriarService.BriarBinder; import net.sf.briar.android.BriarService.BriarServiceConnection; import net.sf.briar.android.invitation.AddContactActivity; import net.sf.briar.api.Contact; @@ -30,7 +29,6 @@ import net.sf.briar.api.transport.ConnectionListener; import net.sf.briar.api.transport.ConnectionRegistry; import android.content.Intent; import android.os.Bundle; -import android.os.IBinder; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; @@ -99,12 +97,12 @@ implements OnClickListener, DatabaseListener, ConnectionListener { public void run() { try { // Wait for the service to be bound and started - IBinder binder = serviceConnection.waitForBinder(); - ((BriarBinder) binder).getService().waitForStartup(); - if(LOG.isLoggable(INFO)) LOG.info("Service started"); + serviceConnection.waitForStartup(); + // If there are no contacts in the DB, create some fake ones Collection<Contact> contacts = db.getContacts(); if(contacts.isEmpty()) { - // Insert a couple of fake contacts + if(LOG.isLoggable(INFO)) + LOG.info("Inserting fake contacts"); db.addContact("Alice"); db.addContact("Bob"); } @@ -142,8 +140,7 @@ implements OnClickListener, DatabaseListener, ConnectionListener { public void run() { try { // Wait for the service to be bound and started - IBinder binder = serviceConnection.waitForBinder(); - ((BriarBinder) binder).getService().waitForStartup(); + serviceConnection.waitForStartup(); // Load the contacts from the database Collection<Contact> contacts = db.getContacts(); if(LOG.isLoggable(INFO)) diff --git a/briar-android/src/net/sf/briar/android/messages/ConversationListActivity.java b/briar-android/src/net/sf/briar/android/messages/ConversationListActivity.java index a45ac9c8bf..ebdd646567 100644 --- a/briar-android/src/net/sf/briar/android/messages/ConversationListActivity.java +++ b/briar-android/src/net/sf/briar/android/messages/ConversationListActivity.java @@ -20,7 +20,6 @@ import java.util.logging.Logger; import net.sf.briar.R; import net.sf.briar.android.BriarActivity; import net.sf.briar.android.BriarService; -import net.sf.briar.android.BriarService.BriarBinder; import net.sf.briar.android.BriarService.BriarServiceConnection; import net.sf.briar.api.Contact; import net.sf.briar.api.ContactId; @@ -36,7 +35,6 @@ import net.sf.briar.api.messaging.Message; import net.sf.briar.api.messaging.MessageFactory; import android.content.Intent; import android.os.Bundle; -import android.os.IBinder; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; @@ -103,12 +101,13 @@ implements OnClickListener, DatabaseListener { public void run() { try { // Wait for the service to be bound and started - IBinder binder = serviceConnection.waitForBinder(); - ((BriarBinder) binder).getService().waitForStartup(); - if(LOG.isLoggable(INFO)) LOG.info("Service started"); + serviceConnection.waitForStartup(); + // If there are no messages in the DB, create some fake ones Collection<PrivateMessageHeader> headers = db.getPrivateMessageHeaders(); if(headers.isEmpty()) { + if(LOG.isLoggable(INFO)) + LOG.info("Inserting fake contact and messages"); // Insert a fake contact ContactId contactId = db.addContact("Carol"); // Insert some messages to the contact @@ -154,8 +153,13 @@ implements OnClickListener, DatabaseListener { } public void eventOccurred(DatabaseEvent e) { - if(e instanceof MessageAddedEvent) reloadMessageHeaders(); - else if(e instanceof MessageExpiredEvent) reloadMessageHeaders(); + if(e instanceof MessageAddedEvent) { + if(LOG.isLoggable(INFO)) LOG.info("Message added, reloading"); + reloadMessageHeaders(); + } else if(e instanceof MessageExpiredEvent) { + if(LOG.isLoggable(INFO)) LOG.info("Message removed, reloading"); + reloadMessageHeaders(); + } } private void reloadMessageHeaders() { @@ -163,8 +167,7 @@ implements OnClickListener, DatabaseListener { public void run() { try { // Wait for the service to be bound and started - IBinder binder = serviceConnection.waitForBinder(); - ((BriarBinder) binder).getService().waitForStartup(); + serviceConnection.waitForStartup(); // Load the contact list from the database Collection<Contact> contacts = db.getContacts(); if(LOG.isLoggable(INFO)) -- GitLab