diff --git a/briar-android/.classpath b/briar-android/.classpath
index 591a99a8c..1242b5cb4 100644
--- a/briar-android/.classpath
+++ b/briar-android/.classpath
@@ -8,5 +8,6 @@
+
diff --git a/briar-android/src/net/sf/briar/android/AndroidExecutorImpl.java b/briar-android/src/net/sf/briar/android/AndroidExecutorImpl.java
index 79cf7db9c..a1030b3e2 100644
--- a/briar-android/src/net/sf/briar/android/AndroidExecutorImpl.java
+++ b/briar-android/src/net/sf/briar/android/AndroidExecutorImpl.java
@@ -7,13 +7,13 @@ import java.util.concurrent.Future;
import java.util.concurrent.FutureTask;
import java.util.concurrent.atomic.AtomicBoolean;
+import javax.inject.Inject;
+
import net.sf.briar.api.android.AndroidExecutor;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
-import com.google.inject.Inject;
-
class AndroidExecutorImpl implements AndroidExecutor {
private static final int SHUTDOWN = 0, RUN = 1;
diff --git a/briar-android/src/net/sf/briar/android/AndroidModule.java b/briar-android/src/net/sf/briar/android/AndroidModule.java
index 817ca22b8..bcccfefd0 100644
--- a/briar-android/src/net/sf/briar/android/AndroidModule.java
+++ b/briar-android/src/net/sf/briar/android/AndroidModule.java
@@ -12,6 +12,8 @@ import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ThreadPoolExecutor;
+import javax.inject.Singleton;
+
import net.sf.briar.api.android.AndroidExecutor;
import net.sf.briar.api.android.DatabaseUiExecutor;
import net.sf.briar.api.android.ReferenceManager;
@@ -32,7 +34,6 @@ import android.content.Context;
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
-import com.google.inject.Singleton;
public class AndroidModule extends AbstractModule {
diff --git a/briar-android/src/net/sf/briar/android/BriarService.java b/briar-android/src/net/sf/briar/android/BriarService.java
index 2cee48142..569c6e910 100644
--- a/briar-android/src/net/sf/briar/android/BriarService.java
+++ b/briar-android/src/net/sf/briar/android/BriarService.java
@@ -7,6 +7,8 @@ import static java.util.logging.Level.INFO;
import java.util.concurrent.CountDownLatch;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.R;
import net.sf.briar.api.android.AndroidExecutor;
import net.sf.briar.api.lifecycle.LifecycleManager;
@@ -19,8 +21,6 @@ import android.os.Binder;
import android.os.IBinder;
import android.support.v4.app.NotificationCompat;
-import com.google.inject.Inject;
-
public class BriarService extends RoboService {
private static final Logger LOG =
diff --git a/briar-android/src/net/sf/briar/android/HomeScreenActivity.java b/briar-android/src/net/sf/briar/android/HomeScreenActivity.java
index 71f94b0e8..51eadb086 100644
--- a/briar-android/src/net/sf/briar/android/HomeScreenActivity.java
+++ b/briar-android/src/net/sf/briar/android/HomeScreenActivity.java
@@ -19,6 +19,8 @@ import java.util.List;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.R;
import net.sf.briar.android.BriarService.BriarBinder;
import net.sf.briar.android.BriarService.BriarServiceConnection;
@@ -56,8 +58,6 @@ import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
-import com.google.inject.Inject;
-
public class HomeScreenActivity extends RoboActivity {
// This build expires on 30 November 2013
diff --git a/briar-android/src/net/sf/briar/android/SetupActivity.java b/briar-android/src/net/sf/briar/android/SetupActivity.java
index 14fc2bed1..699aa16bc 100644
--- a/briar-android/src/net/sf/briar/android/SetupActivity.java
+++ b/briar-android/src/net/sf/briar/android/SetupActivity.java
@@ -16,6 +16,8 @@ import java.io.IOException;
import java.util.Arrays;
import java.util.concurrent.Executor;
+import javax.inject.Inject;
+
import net.sf.briar.R;
import net.sf.briar.api.AuthorFactory;
import net.sf.briar.api.LocalAuthor;
@@ -39,8 +41,6 @@ import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
-import com.google.inject.Inject;
-
public class SetupActivity extends RoboActivity implements OnClickListener {
private static final int MIN_PASSWORD_LENGTH = 8;
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 e525239cc..834416420 100644
--- a/briar-android/src/net/sf/briar/android/contact/ContactListActivity.java
+++ b/briar-android/src/net/sf/briar/android/contact/ContactListActivity.java
@@ -21,6 +21,8 @@ import java.util.Map;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.R;
import net.sf.briar.android.invitation.AddContactActivity;
import net.sf.briar.android.util.HorizontalBorder;
@@ -50,8 +52,6 @@ import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.ListView;
-import com.google.inject.Inject;
-
public class ContactListActivity extends RoboActivity
implements OnClickListener, OnItemClickListener, DatabaseListener,
ConnectionListener {
diff --git a/briar-android/src/net/sf/briar/android/groups/ConfigureGroupActivity.java b/briar-android/src/net/sf/briar/android/groups/ConfigureGroupActivity.java
index 60aa3ac6c..e3d12fcc1 100644
--- a/briar-android/src/net/sf/briar/android/groups/ConfigureGroupActivity.java
+++ b/briar-android/src/net/sf/briar/android/groups/ConfigureGroupActivity.java
@@ -14,6 +14,8 @@ import java.util.Collections;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.R;
import net.sf.briar.android.contact.SelectContactsDialog;
import net.sf.briar.android.invitation.AddContactActivity;
@@ -40,8 +42,6 @@ import android.widget.ProgressBar;
import android.widget.RadioButton;
import android.widget.RadioGroup;
-import com.google.inject.Inject;
-
public class ConfigureGroupActivity extends RoboFragmentActivity
implements OnClickListener, NoContactsDialog.Listener,
SelectContactsDialog.Listener {
diff --git a/briar-android/src/net/sf/briar/android/groups/CreateGroupActivity.java b/briar-android/src/net/sf/briar/android/groups/CreateGroupActivity.java
index 3eb123ad4..b6d0dff45 100644
--- a/briar-android/src/net/sf/briar/android/groups/CreateGroupActivity.java
+++ b/briar-android/src/net/sf/briar/android/groups/CreateGroupActivity.java
@@ -19,6 +19,8 @@ import java.util.Collections;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.R;
import net.sf.briar.android.contact.SelectContactsDialog;
import net.sf.briar.android.invitation.AddContactActivity;
@@ -49,8 +51,6 @@ import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
-import com.google.inject.Inject;
-
public class CreateGroupActivity extends RoboFragmentActivity
implements OnEditorActionListener, OnClickListener, NoContactsDialog.Listener,
SelectContactsDialog.Listener {
diff --git a/briar-android/src/net/sf/briar/android/groups/GroupActivity.java b/briar-android/src/net/sf/briar/android/groups/GroupActivity.java
index 781943802..965137b0f 100644
--- a/briar-android/src/net/sf/briar/android/groups/GroupActivity.java
+++ b/briar-android/src/net/sf/briar/android/groups/GroupActivity.java
@@ -15,6 +15,8 @@ import java.util.Collection;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.R;
import net.sf.briar.android.AscendingHeaderComparator;
import net.sf.briar.android.util.HorizontalBorder;
@@ -43,8 +45,6 @@ import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.ListView;
-import com.google.inject.Inject;
-
public class GroupActivity extends RoboActivity implements DatabaseListener,
OnClickListener, OnItemClickListener {
diff --git a/briar-android/src/net/sf/briar/android/groups/GroupListActivity.java b/briar-android/src/net/sf/briar/android/groups/GroupListActivity.java
index 613b66ba8..7b6d624e3 100644
--- a/briar-android/src/net/sf/briar/android/groups/GroupListActivity.java
+++ b/briar-android/src/net/sf/briar/android/groups/GroupListActivity.java
@@ -18,6 +18,8 @@ import java.util.Comparator;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.R;
import net.sf.briar.android.util.HorizontalBorder;
import net.sf.briar.android.util.HorizontalSpace;
@@ -49,8 +51,6 @@ import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.ListView;
-import com.google.inject.Inject;
-
public class GroupListActivity extends RoboFragmentActivity
implements DatabaseListener, OnClickListener, NoGroupsDialog.Listener,
OnItemClickListener {
diff --git a/briar-android/src/net/sf/briar/android/groups/ManageGroupsActivity.java b/briar-android/src/net/sf/briar/android/groups/ManageGroupsActivity.java
index 9bf1e43d8..14d326c9c 100644
--- a/briar-android/src/net/sf/briar/android/groups/ManageGroupsActivity.java
+++ b/briar-android/src/net/sf/briar/android/groups/ManageGroupsActivity.java
@@ -10,6 +10,8 @@ import java.util.Comparator;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.android.util.ListLoadingProgressBar;
import net.sf.briar.api.android.DatabaseUiExecutor;
import net.sf.briar.api.db.DatabaseComponent;
@@ -30,8 +32,6 @@ import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
-import com.google.inject.Inject;
-
public class ManageGroupsActivity extends RoboFragmentActivity
implements DatabaseListener, OnItemClickListener {
diff --git a/briar-android/src/net/sf/briar/android/groups/ReadGroupPostActivity.java b/briar-android/src/net/sf/briar/android/groups/ReadGroupPostActivity.java
index 2f6272241..3d9c94a13 100644
--- a/briar-android/src/net/sf/briar/android/groups/ReadGroupPostActivity.java
+++ b/briar-android/src/net/sf/briar/android/groups/ReadGroupPostActivity.java
@@ -15,6 +15,8 @@ import java.io.UnsupportedEncodingException;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.R;
import net.sf.briar.android.util.HorizontalBorder;
import net.sf.briar.android.util.HorizontalSpace;
@@ -37,8 +39,6 @@ import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
-import com.google.inject.Inject;
-
public class ReadGroupPostActivity extends RoboActivity
implements OnClickListener {
diff --git a/briar-android/src/net/sf/briar/android/groups/WriteGroupPostActivity.java b/briar-android/src/net/sf/briar/android/groups/WriteGroupPostActivity.java
index fa4995331..8a9410945 100644
--- a/briar-android/src/net/sf/briar/android/groups/WriteGroupPostActivity.java
+++ b/briar-android/src/net/sf/briar/android/groups/WriteGroupPostActivity.java
@@ -15,6 +15,8 @@ import java.util.Collection;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.R;
import net.sf.briar.android.identity.CreateIdentityActivity;
import net.sf.briar.android.identity.LocalAuthorItem;
@@ -49,8 +51,6 @@ import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;
-import com.google.inject.Inject;
-
public class WriteGroupPostActivity extends RoboActivity
implements OnItemSelectedListener, OnClickListener {
diff --git a/briar-android/src/net/sf/briar/android/helloworld/HelloWorldModule.java b/briar-android/src/net/sf/briar/android/helloworld/HelloWorldModule.java
index 3f074576e..4a28987d2 100644
--- a/briar-android/src/net/sf/briar/android/helloworld/HelloWorldModule.java
+++ b/briar-android/src/net/sf/briar/android/helloworld/HelloWorldModule.java
@@ -4,13 +4,14 @@ import static android.content.Context.MODE_PRIVATE;
import java.io.File;
+import javax.inject.Singleton;
+
import net.sf.briar.api.db.DatabaseConfig;
import net.sf.briar.api.ui.UiCallback;
import android.app.Application;
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
-import com.google.inject.Singleton;
public class HelloWorldModule extends AbstractModule {
diff --git a/briar-android/src/net/sf/briar/android/identity/CreateIdentityActivity.java b/briar-android/src/net/sf/briar/android/identity/CreateIdentityActivity.java
index dba0a3eef..bd4feb7c0 100644
--- a/briar-android/src/net/sf/briar/android/identity/CreateIdentityActivity.java
+++ b/briar-android/src/net/sf/briar/android/identity/CreateIdentityActivity.java
@@ -17,6 +17,8 @@ import java.io.IOException;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.R;
import net.sf.briar.api.AuthorFactory;
import net.sf.briar.api.LocalAuthor;
@@ -40,8 +42,6 @@ import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
-import com.google.inject.Inject;
-
public class CreateIdentityActivity extends RoboActivity
implements OnEditorActionListener, OnClickListener {
diff --git a/briar-android/src/net/sf/briar/android/invitation/AddContactActivity.java b/briar-android/src/net/sf/briar/android/invitation/AddContactActivity.java
index 6c22e433c..fb02e7c71 100644
--- a/briar-android/src/net/sf/briar/android/invitation/AddContactActivity.java
+++ b/briar-android/src/net/sf/briar/android/invitation/AddContactActivity.java
@@ -12,6 +12,8 @@ import java.util.Collection;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.android.identity.LocalAuthorItem;
import net.sf.briar.android.identity.LocalAuthorItemComparator;
import net.sf.briar.android.identity.LocalAuthorSpinnerAdapter;
@@ -37,8 +39,6 @@ import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
-import com.google.inject.Inject;
-
public class AddContactActivity extends RoboActivity
implements InvitationListener {
diff --git a/briar-android/src/net/sf/briar/android/messages/ConversationActivity.java b/briar-android/src/net/sf/briar/android/messages/ConversationActivity.java
index 5d023014f..2dce8e6dd 100644
--- a/briar-android/src/net/sf/briar/android/messages/ConversationActivity.java
+++ b/briar-android/src/net/sf/briar/android/messages/ConversationActivity.java
@@ -13,6 +13,8 @@ import java.util.Collection;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.R;
import net.sf.briar.android.AscendingHeaderComparator;
import net.sf.briar.android.util.HorizontalBorder;
@@ -41,8 +43,6 @@ import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.ListView;
-import com.google.inject.Inject;
-
public class ConversationActivity extends RoboActivity
implements DatabaseListener, OnClickListener, OnItemClickListener {
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 2f27956e8..719e33419 100644
--- a/briar-android/src/net/sf/briar/android/messages/ConversationListActivity.java
+++ b/briar-android/src/net/sf/briar/android/messages/ConversationListActivity.java
@@ -14,6 +14,8 @@ import java.util.Comparator;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.R;
import net.sf.briar.android.invitation.AddContactActivity;
import net.sf.briar.android.util.HorizontalBorder;
@@ -42,8 +44,6 @@ import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.ListView;
-import com.google.inject.Inject;
-
public class ConversationListActivity extends RoboFragmentActivity
implements OnClickListener, DatabaseListener, NoContactsDialog.Listener {
diff --git a/briar-android/src/net/sf/briar/android/messages/ReadPrivateMessageActivity.java b/briar-android/src/net/sf/briar/android/messages/ReadPrivateMessageActivity.java
index 4aa8c5ffa..c47b30603 100644
--- a/briar-android/src/net/sf/briar/android/messages/ReadPrivateMessageActivity.java
+++ b/briar-android/src/net/sf/briar/android/messages/ReadPrivateMessageActivity.java
@@ -15,6 +15,8 @@ import java.io.UnsupportedEncodingException;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.R;
import net.sf.briar.android.util.HorizontalBorder;
import net.sf.briar.android.util.HorizontalSpace;
@@ -37,8 +39,6 @@ import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
-import com.google.inject.Inject;
-
public class ReadPrivateMessageActivity extends RoboActivity
implements OnClickListener {
diff --git a/briar-android/src/net/sf/briar/android/messages/WritePrivateMessageActivity.java b/briar-android/src/net/sf/briar/android/messages/WritePrivateMessageActivity.java
index e67058b83..dfa935cc0 100644
--- a/briar-android/src/net/sf/briar/android/messages/WritePrivateMessageActivity.java
+++ b/briar-android/src/net/sf/briar/android/messages/WritePrivateMessageActivity.java
@@ -16,6 +16,8 @@ import java.util.Collection;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.R;
import net.sf.briar.android.contact.ContactItem;
import net.sf.briar.android.contact.ContactItemComparator;
@@ -47,8 +49,6 @@ import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;
-import com.google.inject.Inject;
-
public class WritePrivateMessageActivity extends RoboActivity
implements OnItemSelectedListener, OnClickListener {
diff --git a/briar-core/libs/javax.inject.jar b/briar-api/libs/javax.inject.jar
similarity index 100%
rename from briar-core/libs/javax.inject.jar
rename to briar-api/libs/javax.inject.jar
diff --git a/briar-core/.classpath b/briar-core/.classpath
index f5c11aeb6..03f19e28f 100644
--- a/briar-core/.classpath
+++ b/briar-core/.classpath
@@ -3,10 +3,10 @@
-
+
diff --git a/briar-core/src/net/sf/briar/crypto/CryptoComponentImpl.java b/briar-core/src/net/sf/briar/crypto/CryptoComponentImpl.java
index 6d701dbb5..9fc1ffa8f 100644
--- a/briar-core/src/net/sf/briar/crypto/CryptoComponentImpl.java
+++ b/briar-core/src/net/sf/briar/crypto/CryptoComponentImpl.java
@@ -4,8 +4,8 @@ import static javax.crypto.Cipher.DECRYPT_MODE;
import static javax.crypto.Cipher.ENCRYPT_MODE;
import static net.sf.briar.api.invitation.InvitationConstants.CODE_BITS;
import static net.sf.briar.api.transport.TransportConstants.TAG_LENGTH;
-import static net.sf.briar.crypto.EllipticCurveConstants.PARAMETERS;
import static net.sf.briar.crypto.EllipticCurveConstants.P;
+import static net.sf.briar.crypto.EllipticCurveConstants.PARAMETERS;
import static net.sf.briar.util.ByteUtils.MAX_32_BIT_UNSIGNED;
import java.io.ByteArrayOutputStream;
diff --git a/briar-core/src/net/sf/briar/crypto/CryptoModule.java b/briar-core/src/net/sf/briar/crypto/CryptoModule.java
index 288007a9d..bda3ed9b0 100644
--- a/briar-core/src/net/sf/briar/crypto/CryptoModule.java
+++ b/briar-core/src/net/sf/briar/crypto/CryptoModule.java
@@ -9,13 +9,14 @@ import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ThreadPoolExecutor;
+import javax.inject.Singleton;
+
import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.crypto.CryptoExecutor;
import net.sf.briar.api.lifecycle.LifecycleManager;
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
-import com.google.inject.Singleton;
public class CryptoModule extends AbstractModule {
diff --git a/briar-core/src/net/sf/briar/db/DatabaseCleanerImpl.java b/briar-core/src/net/sf/briar/db/DatabaseCleanerImpl.java
index 8ede59d18..10a1a554b 100644
--- a/briar-core/src/net/sf/briar/db/DatabaseCleanerImpl.java
+++ b/briar-core/src/net/sf/briar/db/DatabaseCleanerImpl.java
@@ -6,12 +6,12 @@ import static java.util.logging.Level.WARNING;
import java.util.TimerTask;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.api.clock.Timer;
import net.sf.briar.api.db.DbClosedException;
import net.sf.briar.api.db.DbException;
-import com.google.inject.Inject;
-
class DatabaseCleanerImpl extends TimerTask implements DatabaseCleaner {
private static final Logger LOG =
diff --git a/briar-core/src/net/sf/briar/db/DatabaseComponentImpl.java b/briar-core/src/net/sf/briar/db/DatabaseComponentImpl.java
index 75778cc59..df375151f 100644
--- a/briar-core/src/net/sf/briar/db/DatabaseComponentImpl.java
+++ b/briar-core/src/net/sf/briar/db/DatabaseComponentImpl.java
@@ -22,6 +22,8 @@ import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.api.Author;
import net.sf.briar.api.AuthorId;
import net.sf.briar.api.Contact;
@@ -76,8 +78,6 @@ import net.sf.briar.api.messaging.TransportUpdate;
import net.sf.briar.api.transport.Endpoint;
import net.sf.briar.api.transport.TemporarySecret;
-import com.google.inject.Inject;
-
/**
* An implementation of DatabaseComponent using reentrant read-write locks.
* Depending on the JVM's lock implementation, this implementation may allow
diff --git a/briar-core/src/net/sf/briar/db/DatabaseModule.java b/briar-core/src/net/sf/briar/db/DatabaseModule.java
index 87f629c81..165f986e8 100644
--- a/briar-core/src/net/sf/briar/db/DatabaseModule.java
+++ b/briar-core/src/net/sf/briar/db/DatabaseModule.java
@@ -10,6 +10,8 @@ import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ThreadPoolExecutor;
+import javax.inject.Singleton;
+
import net.sf.briar.api.clock.Clock;
import net.sf.briar.api.clock.SystemClock;
import net.sf.briar.api.db.DatabaseComponent;
@@ -21,7 +23,6 @@ import net.sf.briar.api.os.FileUtils;
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
-import com.google.inject.Singleton;
public class DatabaseModule extends AbstractModule {
diff --git a/briar-core/src/net/sf/briar/db/H2Database.java b/briar-core/src/net/sf/briar/db/H2Database.java
index a21aba6d0..d0dfa1da6 100644
--- a/briar-core/src/net/sf/briar/db/H2Database.java
+++ b/briar-core/src/net/sf/briar/db/H2Database.java
@@ -8,14 +8,14 @@ import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
+import javax.inject.Inject;
+
import net.sf.briar.api.clock.Clock;
import net.sf.briar.api.db.DatabaseConfig;
import net.sf.briar.api.db.DbException;
import net.sf.briar.api.os.FileUtils;
import net.sf.briar.util.StringUtils;
-import com.google.inject.Inject;
-
/** Contains all the H2-specific code for the database. */
class H2Database extends JdbcDatabase {
diff --git a/briar-core/src/net/sf/briar/invitation/InvitationModule.java b/briar-core/src/net/sf/briar/invitation/InvitationModule.java
index 4c5293fb1..0039480e4 100644
--- a/briar-core/src/net/sf/briar/invitation/InvitationModule.java
+++ b/briar-core/src/net/sf/briar/invitation/InvitationModule.java
@@ -1,9 +1,10 @@
package net.sf.briar.invitation;
+import javax.inject.Singleton;
+
import net.sf.briar.api.invitation.InvitationTaskFactory;
import com.google.inject.AbstractModule;
-import com.google.inject.Singleton;
public class InvitationModule extends AbstractModule {
diff --git a/briar-core/src/net/sf/briar/invitation/InvitationTaskFactoryImpl.java b/briar-core/src/net/sf/briar/invitation/InvitationTaskFactoryImpl.java
index 66d5d649f..b3fd50162 100644
--- a/briar-core/src/net/sf/briar/invitation/InvitationTaskFactoryImpl.java
+++ b/briar-core/src/net/sf/briar/invitation/InvitationTaskFactoryImpl.java
@@ -1,5 +1,7 @@
package net.sf.briar.invitation;
+import javax.inject.Inject;
+
import net.sf.briar.api.AuthorFactory;
import net.sf.briar.api.AuthorId;
import net.sf.briar.api.clock.Clock;
@@ -15,8 +17,6 @@ import net.sf.briar.api.transport.ConnectionDispatcher;
import net.sf.briar.api.transport.ConnectionReaderFactory;
import net.sf.briar.api.transport.ConnectionWriterFactory;
-import com.google.inject.Inject;
-
class InvitationTaskFactoryImpl implements InvitationTaskFactory {
private final CryptoComponent crypto;
diff --git a/briar-core/src/net/sf/briar/lifecycle/LifecycleManagerImpl.java b/briar-core/src/net/sf/briar/lifecycle/LifecycleManagerImpl.java
index 0c14b3a5d..06e007762 100644
--- a/briar-core/src/net/sf/briar/lifecycle/LifecycleManagerImpl.java
+++ b/briar-core/src/net/sf/briar/lifecycle/LifecycleManagerImpl.java
@@ -10,13 +10,13 @@ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DbException;
import net.sf.briar.api.lifecycle.LifecycleManager;
import net.sf.briar.api.lifecycle.Service;
-import com.google.inject.Inject;
-
class LifecycleManagerImpl implements LifecycleManager {
private static final Logger LOG =
diff --git a/briar-core/src/net/sf/briar/lifecycle/LifecycleModule.java b/briar-core/src/net/sf/briar/lifecycle/LifecycleModule.java
index fb17ceb10..bab67b578 100644
--- a/briar-core/src/net/sf/briar/lifecycle/LifecycleModule.java
+++ b/briar-core/src/net/sf/briar/lifecycle/LifecycleModule.java
@@ -1,10 +1,11 @@
package net.sf.briar.lifecycle;
+import javax.inject.Singleton;
+
import net.sf.briar.api.lifecycle.LifecycleManager;
import net.sf.briar.api.lifecycle.ShutdownManager;
import com.google.inject.AbstractModule;
-import com.google.inject.Singleton;
public class LifecycleModule extends AbstractModule {
diff --git a/briar-core/src/net/sf/briar/messaging/AuthorFactoryImpl.java b/briar-core/src/net/sf/briar/messaging/AuthorFactoryImpl.java
index 8dc4ba94c..a55a60b22 100644
--- a/briar-core/src/net/sf/briar/messaging/AuthorFactoryImpl.java
+++ b/briar-core/src/net/sf/briar/messaging/AuthorFactoryImpl.java
@@ -5,6 +5,8 @@ import static net.sf.briar.api.messaging.Types.AUTHOR;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import javax.inject.Inject;
+
import net.sf.briar.api.Author;
import net.sf.briar.api.AuthorFactory;
import net.sf.briar.api.AuthorId;
@@ -14,8 +16,6 @@ import net.sf.briar.api.crypto.MessageDigest;
import net.sf.briar.api.serial.Writer;
import net.sf.briar.api.serial.WriterFactory;
-import com.google.inject.Inject;
-
class AuthorFactoryImpl implements AuthorFactory {
private final CryptoComponent crypto;
diff --git a/briar-core/src/net/sf/briar/messaging/GroupFactoryImpl.java b/briar-core/src/net/sf/briar/messaging/GroupFactoryImpl.java
index 7bbc71200..0a251f523 100644
--- a/briar-core/src/net/sf/briar/messaging/GroupFactoryImpl.java
+++ b/briar-core/src/net/sf/briar/messaging/GroupFactoryImpl.java
@@ -6,6 +6,8 @@ import static net.sf.briar.api.messaging.Types.GROUP;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import javax.inject.Inject;
+
import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.crypto.MessageDigest;
import net.sf.briar.api.messaging.Group;
@@ -14,8 +16,6 @@ import net.sf.briar.api.messaging.GroupId;
import net.sf.briar.api.serial.Writer;
import net.sf.briar.api.serial.WriterFactory;
-import com.google.inject.Inject;
-
class GroupFactoryImpl implements GroupFactory {
private final CryptoComponent crypto;
diff --git a/briar-core/src/net/sf/briar/messaging/MessageFactoryImpl.java b/briar-core/src/net/sf/briar/messaging/MessageFactoryImpl.java
index 810c8fd21..5de23a977 100644
--- a/briar-core/src/net/sf/briar/messaging/MessageFactoryImpl.java
+++ b/briar-core/src/net/sf/briar/messaging/MessageFactoryImpl.java
@@ -18,6 +18,8 @@ import java.nio.charset.CharsetDecoder;
import java.security.GeneralSecurityException;
import java.security.SecureRandom;
+import javax.inject.Inject;
+
import net.sf.briar.api.Author;
import net.sf.briar.api.clock.Clock;
import net.sf.briar.api.crypto.CryptoComponent;
@@ -35,8 +37,6 @@ import net.sf.briar.api.serial.SigningConsumer;
import net.sf.briar.api.serial.Writer;
import net.sf.briar.api.serial.WriterFactory;
-import com.google.inject.Inject;
-
class MessageFactoryImpl implements MessageFactory {
private final Signature signature;
diff --git a/briar-core/src/net/sf/briar/messaging/MessageVerifierImpl.java b/briar-core/src/net/sf/briar/messaging/MessageVerifierImpl.java
index a0ffe69ca..9332c59cc 100644
--- a/briar-core/src/net/sf/briar/messaging/MessageVerifierImpl.java
+++ b/briar-core/src/net/sf/briar/messaging/MessageVerifierImpl.java
@@ -2,6 +2,8 @@ package net.sf.briar.messaging;
import java.security.GeneralSecurityException;
+import javax.inject.Inject;
+
import net.sf.briar.api.Author;
import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.crypto.KeyParser;
@@ -13,8 +15,6 @@ import net.sf.briar.api.messaging.MessageId;
import net.sf.briar.api.messaging.MessageVerifier;
import net.sf.briar.api.messaging.UnverifiedMessage;
-import com.google.inject.Inject;
-
class MessageVerifierImpl implements MessageVerifier {
private final CryptoComponent crypto;
diff --git a/briar-core/src/net/sf/briar/messaging/PacketReaderFactoryImpl.java b/briar-core/src/net/sf/briar/messaging/PacketReaderFactoryImpl.java
index 624e8506c..f094ecfbe 100644
--- a/briar-core/src/net/sf/briar/messaging/PacketReaderFactoryImpl.java
+++ b/briar-core/src/net/sf/briar/messaging/PacketReaderFactoryImpl.java
@@ -2,6 +2,8 @@ package net.sf.briar.messaging;
import java.io.InputStream;
+import javax.inject.Inject;
+
import net.sf.briar.api.messaging.PacketReader;
import net.sf.briar.api.messaging.PacketReaderFactory;
import net.sf.briar.api.messaging.SubscriptionUpdate;
@@ -9,8 +11,6 @@ import net.sf.briar.api.messaging.UnverifiedMessage;
import net.sf.briar.api.serial.ReaderFactory;
import net.sf.briar.api.serial.StructReader;
-import com.google.inject.Inject;
-
class PacketReaderFactoryImpl implements PacketReaderFactory {
private final ReaderFactory readerFactory;
diff --git a/briar-core/src/net/sf/briar/messaging/PacketWriterFactoryImpl.java b/briar-core/src/net/sf/briar/messaging/PacketWriterFactoryImpl.java
index 3d80c3b3a..8f1e5b4e5 100644
--- a/briar-core/src/net/sf/briar/messaging/PacketWriterFactoryImpl.java
+++ b/briar-core/src/net/sf/briar/messaging/PacketWriterFactoryImpl.java
@@ -2,13 +2,13 @@ package net.sf.briar.messaging;
import java.io.OutputStream;
+import javax.inject.Inject;
+
import net.sf.briar.api.messaging.PacketWriter;
import net.sf.briar.api.messaging.PacketWriterFactory;
import net.sf.briar.api.serial.SerialComponent;
import net.sf.briar.api.serial.WriterFactory;
-import com.google.inject.Inject;
-
class PacketWriterFactoryImpl implements PacketWriterFactory {
private final SerialComponent serial;
diff --git a/briar-core/src/net/sf/briar/messaging/duplex/DuplexConnectionFactoryImpl.java b/briar-core/src/net/sf/briar/messaging/duplex/DuplexConnectionFactoryImpl.java
index aaea38cba..22d2153cf 100644
--- a/briar-core/src/net/sf/briar/messaging/duplex/DuplexConnectionFactoryImpl.java
+++ b/briar-core/src/net/sf/briar/messaging/duplex/DuplexConnectionFactoryImpl.java
@@ -5,6 +5,8 @@ import static java.util.logging.Level.WARNING;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportId;
import net.sf.briar.api.crypto.CryptoExecutor;
@@ -21,8 +23,6 @@ import net.sf.briar.api.transport.ConnectionReaderFactory;
import net.sf.briar.api.transport.ConnectionRegistry;
import net.sf.briar.api.transport.ConnectionWriterFactory;
-import com.google.inject.Inject;
-
class DuplexConnectionFactoryImpl implements DuplexConnectionFactory {
private static final Logger LOG =
diff --git a/briar-core/src/net/sf/briar/messaging/duplex/DuplexMessagingModule.java b/briar-core/src/net/sf/briar/messaging/duplex/DuplexMessagingModule.java
index f9c3967f8..17f4a5b1a 100644
--- a/briar-core/src/net/sf/briar/messaging/duplex/DuplexMessagingModule.java
+++ b/briar-core/src/net/sf/briar/messaging/duplex/DuplexMessagingModule.java
@@ -1,9 +1,10 @@
package net.sf.briar.messaging.duplex;
+import javax.inject.Singleton;
+
import net.sf.briar.api.messaging.duplex.DuplexConnectionFactory;
import com.google.inject.AbstractModule;
-import com.google.inject.Singleton;
public class DuplexMessagingModule extends AbstractModule {
diff --git a/briar-core/src/net/sf/briar/messaging/simplex/SimplexConnectionFactoryImpl.java b/briar-core/src/net/sf/briar/messaging/simplex/SimplexConnectionFactoryImpl.java
index aed86936a..441a0a46e 100644
--- a/briar-core/src/net/sf/briar/messaging/simplex/SimplexConnectionFactoryImpl.java
+++ b/briar-core/src/net/sf/briar/messaging/simplex/SimplexConnectionFactoryImpl.java
@@ -5,6 +5,8 @@ import static java.util.logging.Level.WARNING;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportId;
import net.sf.briar.api.crypto.CryptoExecutor;
@@ -22,8 +24,6 @@ import net.sf.briar.api.transport.ConnectionReaderFactory;
import net.sf.briar.api.transport.ConnectionRegistry;
import net.sf.briar.api.transport.ConnectionWriterFactory;
-import com.google.inject.Inject;
-
class SimplexConnectionFactoryImpl implements SimplexConnectionFactory {
private static final Logger LOG =
diff --git a/briar-core/src/net/sf/briar/messaging/simplex/SimplexMessagingModule.java b/briar-core/src/net/sf/briar/messaging/simplex/SimplexMessagingModule.java
index 4455fbe60..eec9b495d 100644
--- a/briar-core/src/net/sf/briar/messaging/simplex/SimplexMessagingModule.java
+++ b/briar-core/src/net/sf/briar/messaging/simplex/SimplexMessagingModule.java
@@ -1,9 +1,10 @@
package net.sf.briar.messaging.simplex;
+import javax.inject.Singleton;
+
import net.sf.briar.api.messaging.simplex.SimplexConnectionFactory;
import com.google.inject.AbstractModule;
-import com.google.inject.Singleton;
public class SimplexMessagingModule extends AbstractModule {
diff --git a/briar-core/src/net/sf/briar/plugins/PluginManagerImpl.java b/briar-core/src/net/sf/briar/plugins/PluginManagerImpl.java
index b24c322c9..c4d11978f 100644
--- a/briar-core/src/net/sf/briar/plugins/PluginManagerImpl.java
+++ b/briar-core/src/net/sf/briar/plugins/PluginManagerImpl.java
@@ -14,6 +14,8 @@ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportConfig;
import net.sf.briar.api.TransportId;
@@ -38,8 +40,6 @@ import net.sf.briar.api.plugins.simplex.SimplexTransportWriter;
import net.sf.briar.api.transport.ConnectionDispatcher;
import net.sf.briar.api.ui.UiCallback;
-import com.google.inject.Inject;
-
// FIXME: Don't make alien calls with a lock held (that includes waiting on a
// latch that depends on an alien call)
class PluginManagerImpl implements PluginManager {
diff --git a/briar-core/src/net/sf/briar/plugins/PluginsModule.java b/briar-core/src/net/sf/briar/plugins/PluginsModule.java
index 2ed0a78c5..defa2ac78 100644
--- a/briar-core/src/net/sf/briar/plugins/PluginsModule.java
+++ b/briar-core/src/net/sf/briar/plugins/PluginsModule.java
@@ -9,13 +9,14 @@ import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.ThreadPoolExecutor;
+import javax.inject.Singleton;
+
import net.sf.briar.api.lifecycle.LifecycleManager;
import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.PluginManager;
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
-import com.google.inject.Singleton;
public class PluginsModule extends AbstractModule {
diff --git a/briar-core/src/net/sf/briar/plugins/PollerImpl.java b/briar-core/src/net/sf/briar/plugins/PollerImpl.java
index 30a356fee..8ae80eed4 100644
--- a/briar-core/src/net/sf/briar/plugins/PollerImpl.java
+++ b/briar-core/src/net/sf/briar/plugins/PollerImpl.java
@@ -8,14 +8,14 @@ import java.util.TreeSet;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.api.ContactId;
import net.sf.briar.api.clock.Clock;
import net.sf.briar.api.plugins.Plugin;
import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.transport.ConnectionRegistry;
-import com.google.inject.Inject;
-
class PollerImpl implements Poller, Runnable {
private static final Logger LOG =
diff --git a/briar-core/src/net/sf/briar/reliability/ReliabilityLayerFactoryImpl.java b/briar-core/src/net/sf/briar/reliability/ReliabilityLayerFactoryImpl.java
index 411f817b0..406436dba 100644
--- a/briar-core/src/net/sf/briar/reliability/ReliabilityLayerFactoryImpl.java
+++ b/briar-core/src/net/sf/briar/reliability/ReliabilityLayerFactoryImpl.java
@@ -2,6 +2,8 @@ package net.sf.briar.reliability;
import java.util.concurrent.Executor;
+import javax.inject.Inject;
+
import net.sf.briar.api.clock.Clock;
import net.sf.briar.api.clock.SystemClock;
import net.sf.briar.api.reliability.ReliabilityExecutor;
@@ -9,8 +11,6 @@ import net.sf.briar.api.reliability.ReliabilityLayer;
import net.sf.briar.api.reliability.ReliabilityLayerFactory;
import net.sf.briar.api.reliability.WriteHandler;
-import com.google.inject.Inject;
-
class ReliabilityLayerFactoryImpl implements ReliabilityLayerFactory {
private final Executor executor;
diff --git a/briar-core/src/net/sf/briar/reliability/ReliabilityModule.java b/briar-core/src/net/sf/briar/reliability/ReliabilityModule.java
index eb8744245..c80897ba3 100644
--- a/briar-core/src/net/sf/briar/reliability/ReliabilityModule.java
+++ b/briar-core/src/net/sf/briar/reliability/ReliabilityModule.java
@@ -9,13 +9,14 @@ import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.ThreadPoolExecutor;
+import javax.inject.Singleton;
+
import net.sf.briar.api.lifecycle.LifecycleManager;
import net.sf.briar.api.reliability.ReliabilityExecutor;
import net.sf.briar.api.reliability.ReliabilityLayerFactory;
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
-import com.google.inject.Singleton;
public class ReliabilityModule extends AbstractModule {
diff --git a/briar-core/src/net/sf/briar/serial/SerialModule.java b/briar-core/src/net/sf/briar/serial/SerialModule.java
index acc25ce2b..0c512bd15 100644
--- a/briar-core/src/net/sf/briar/serial/SerialModule.java
+++ b/briar-core/src/net/sf/briar/serial/SerialModule.java
@@ -1,11 +1,12 @@
package net.sf.briar.serial;
+import javax.inject.Singleton;
+
import net.sf.briar.api.serial.ReaderFactory;
import net.sf.briar.api.serial.SerialComponent;
import net.sf.briar.api.serial.WriterFactory;
import com.google.inject.AbstractModule;
-import com.google.inject.Singleton;
public class SerialModule extends AbstractModule {
diff --git a/briar-core/src/net/sf/briar/transport/ConnectionDispatcherImpl.java b/briar-core/src/net/sf/briar/transport/ConnectionDispatcherImpl.java
index ecd57aa2b..45ec4834c 100644
--- a/briar-core/src/net/sf/briar/transport/ConnectionDispatcherImpl.java
+++ b/briar-core/src/net/sf/briar/transport/ConnectionDispatcherImpl.java
@@ -9,6 +9,8 @@ import java.io.InputStream;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportId;
import net.sf.briar.api.db.DbException;
@@ -22,8 +24,6 @@ import net.sf.briar.api.transport.ConnectionDispatcher;
import net.sf.briar.api.transport.ConnectionRecogniser;
import net.sf.briar.api.transport.IncomingConnectionExecutor;
-import com.google.inject.Inject;
-
class ConnectionDispatcherImpl implements ConnectionDispatcher {
private static final Logger LOG =
diff --git a/briar-core/src/net/sf/briar/transport/ConnectionReaderFactoryImpl.java b/briar-core/src/net/sf/briar/transport/ConnectionReaderFactoryImpl.java
index cfd2b8246..30c1824cc 100644
--- a/briar-core/src/net/sf/briar/transport/ConnectionReaderFactoryImpl.java
+++ b/briar-core/src/net/sf/briar/transport/ConnectionReaderFactoryImpl.java
@@ -2,14 +2,14 @@ package net.sf.briar.transport;
import java.io.InputStream;
+import javax.inject.Inject;
+
import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.crypto.SecretKey;
import net.sf.briar.api.transport.ConnectionContext;
import net.sf.briar.api.transport.ConnectionReader;
import net.sf.briar.api.transport.ConnectionReaderFactory;
-import com.google.inject.Inject;
-
class ConnectionReaderFactoryImpl implements ConnectionReaderFactory {
private final CryptoComponent crypto;
diff --git a/briar-core/src/net/sf/briar/transport/ConnectionRecogniserImpl.java b/briar-core/src/net/sf/briar/transport/ConnectionRecogniserImpl.java
index 080860b5b..1b5377aca 100644
--- a/briar-core/src/net/sf/briar/transport/ConnectionRecogniserImpl.java
+++ b/briar-core/src/net/sf/briar/transport/ConnectionRecogniserImpl.java
@@ -3,6 +3,8 @@ package net.sf.briar.transport;
import java.util.HashMap;
import java.util.Map;
+import javax.inject.Inject;
+
import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportId;
import net.sf.briar.api.crypto.CryptoComponent;
@@ -12,8 +14,6 @@ import net.sf.briar.api.transport.ConnectionContext;
import net.sf.briar.api.transport.ConnectionRecogniser;
import net.sf.briar.api.transport.TemporarySecret;
-import com.google.inject.Inject;
-
class ConnectionRecogniserImpl implements ConnectionRecogniser {
private final CryptoComponent crypto;
diff --git a/briar-core/src/net/sf/briar/transport/ConnectionWriterFactoryImpl.java b/briar-core/src/net/sf/briar/transport/ConnectionWriterFactoryImpl.java
index fcb1e65eb..9b8e174af 100644
--- a/briar-core/src/net/sf/briar/transport/ConnectionWriterFactoryImpl.java
+++ b/briar-core/src/net/sf/briar/transport/ConnectionWriterFactoryImpl.java
@@ -4,14 +4,14 @@ import static net.sf.briar.api.transport.TransportConstants.TAG_LENGTH;
import java.io.OutputStream;
+import javax.inject.Inject;
+
import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.crypto.SecretKey;
import net.sf.briar.api.transport.ConnectionContext;
import net.sf.briar.api.transport.ConnectionWriter;
import net.sf.briar.api.transport.ConnectionWriterFactory;
-import com.google.inject.Inject;
-
class ConnectionWriterFactoryImpl implements ConnectionWriterFactory {
private final CryptoComponent crypto;
diff --git a/briar-core/src/net/sf/briar/transport/KeyManagerImpl.java b/briar-core/src/net/sf/briar/transport/KeyManagerImpl.java
index cb0fc9b63..109df1e9b 100644
--- a/briar-core/src/net/sf/briar/transport/KeyManagerImpl.java
+++ b/briar-core/src/net/sf/briar/transport/KeyManagerImpl.java
@@ -14,6 +14,8 @@ import java.util.Map.Entry;
import java.util.TimerTask;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportId;
import net.sf.briar.api.clock.Clock;
@@ -33,8 +35,6 @@ import net.sf.briar.api.transport.Endpoint;
import net.sf.briar.api.transport.TemporarySecret;
import net.sf.briar.util.ByteUtils;
-import com.google.inject.Inject;
-
// FIXME: Don't make alien calls with a lock held
class KeyManagerImpl extends TimerTask implements KeyManager, DatabaseListener {
diff --git a/briar-core/src/net/sf/briar/transport/TransportModule.java b/briar-core/src/net/sf/briar/transport/TransportModule.java
index 3d08f5802..de5c1c74a 100644
--- a/briar-core/src/net/sf/briar/transport/TransportModule.java
+++ b/briar-core/src/net/sf/briar/transport/TransportModule.java
@@ -9,6 +9,8 @@ import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.ThreadPoolExecutor;
+import javax.inject.Singleton;
+
import net.sf.briar.api.crypto.KeyManager;
import net.sf.briar.api.lifecycle.LifecycleManager;
import net.sf.briar.api.transport.ConnectionDispatcher;
@@ -20,7 +22,6 @@ import net.sf.briar.api.transport.IncomingConnectionExecutor;
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
-import com.google.inject.Singleton;
public class TransportModule extends AbstractModule {
diff --git a/briar-tests/src/net/sf/briar/crypto/KeyAgreementTest.java b/briar-tests/src/net/sf/briar/crypto/KeyAgreementTest.java
index 65c7e97f4..f51d556c6 100644
--- a/briar-tests/src/net/sf/briar/crypto/KeyAgreementTest.java
+++ b/briar-tests/src/net/sf/briar/crypto/KeyAgreementTest.java
@@ -1,7 +1,6 @@
package net.sf.briar.crypto;
import static org.junit.Assert.assertArrayEquals;
-
import net.sf.briar.BriarTestCase;
import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.crypto.KeyPair;
diff --git a/briar-tests/src/net/sf/briar/crypto/KeyEncodingAndParsingTest.java b/briar-tests/src/net/sf/briar/crypto/KeyEncodingAndParsingTest.java
index 9ecfed57b..d46e9ee7b 100644
--- a/briar-tests/src/net/sf/briar/crypto/KeyEncodingAndParsingTest.java
+++ b/briar-tests/src/net/sf/briar/crypto/KeyEncodingAndParsingTest.java
@@ -1,7 +1,6 @@
package net.sf.briar.crypto;
import static org.junit.Assert.assertArrayEquals;
-
import net.sf.briar.BriarTestCase;
import net.sf.briar.api.crypto.KeyPair;
import net.sf.briar.api.crypto.KeyParser;