diff --git a/briar-android/src/net/sf/briar/android/BriarService.java b/briar-android/src/net/sf/briar/android/BriarService.java index 06c24e4b772d7e6bf10fb71efafbea53af27215a..ba9cf7fbea301e83088ec3ad619f833ea53c4980 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 07fe3d0b8c0ea586c7247044e6d999aea23dde84..4d597ce7cdcfb708a987b0ec2dc3db55afd875fd 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 53143108ea60ce1c2313bcf5b42e283177c71b53..c1c00ad104d34f4a92a6225a589e210d357681b2 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 a45ac9c8bfcb23608c6425a34531014a9660ed87..ebdd646567003bb92e480ae5547e49a7e1059dbf 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))