diff --git a/briar-android/res/values/strings.xml b/briar-android/res/values/strings.xml
index 2f6f1d7d1..a5a51a518 100644
--- a/briar-android/res/values/strings.xml
+++ b/briar-android/res/values/strings.xml
@@ -1,94 +1,94 @@
- Briar
- Briar is running
- Touch to show the home screen.
- Briar Setup
- Choose your nickname:
- Choose your password:
- Confirm your password:
- Password is too weak
- Password is weak
- Password is quite weak
- Password is quite strong
- Password is strong
- Passwords do not match
- Enter your password:
- Wrong password, try again:
- Briar could not start up
- You may need to reinstall Briar.
- This software has expired.\nPlease install a newer version.
- Contacts
- Forums
- Synchronize
- Quit
- New identity\u2026
- Contacts
- Connected
- Last connected <br /> %1$s
- Add a Contact
- Your nickname:
- Wi-Fi is NOT AVAILABLE
- Wi-Fi is OFF
- Wi-Fi is DISCONNECTED
- Wi-Fi is connected to %1$s
- Bluetooth is NOT AVAILABLE
- Bluetooth is OFF
- Bluetooth is NOT DISCOVERABLE
- Bluetooth is discoverable
- For security reasons you must be face-to-face with someone to add them as a contact
- Continue
- Your invitation code is
- Please enter your contact\'s invitation code:
- Searching via %1$s\u2026
- Searching via Bluetooth\u2026
- Connection failed
- Please check that you are both using the same network
- Try again
- Connected to contact
- Calculating confirmation code\u2026
- Your confirmation code is
- Please enter your contact\'s confirmation code:
- Waiting for contact\u2026
- Exchanging contact details\u2026
- Codes do not match
- This could mean that someone is trying to interfere with your connection
- Contact added
- Done
- Messages
- (No messages)
- From: %1$s
- To: %1$s
- New Message
- From:
- To:
- Anonymous
- New contact\u2026
- Forums
-
- - %1$d forum available from contacts
- - %1$d forums available from contacts
-
- No posts
- Subscribe to this forum
- New Forum
- Choose a name for your forum:
- Share this forum with all contacts
- Share this forum with chosen contacts
- New Post
- New forum\u2026
- Available Forums
- No forums available from contacts
- Subscribed, shared with all contacts
- Subscribed, shared with chosen contacts
- Not subscribed
- New nickname\u2026
- New Nickname
- Create
- You don\'t have any contacts. Add a contact now?
- Add
- Cancel
- Message sent
- Post sent
- Not implemented yet!
-
+ Briar
+ Briar is running
+ Touch to show the home screen.
+ Briar Setup
+ Choose your nickname:
+ Choose your password:
+ Confirm your password:
+ Password is too weak
+ Password is weak
+ Password is quite weak
+ Password is quite strong
+ Password is strong
+ Passwords do not match
+ Enter your password:
+ Wrong password, try again:
+ Briar could not start up
+ You may need to reinstall Briar.
+ This software has expired.\nPlease install a newer version.
+ Contacts
+ Forums
+ Synchronize
+ Quit
+ New identity\u2026
+ Contacts
+ Connected
+ Last connected <br /> %1$s
+ Add a Contact
+ Your nickname:
+ Wi-Fi is NOT AVAILABLE
+ Wi-Fi is OFF
+ Wi-Fi is DISCONNECTED
+ Wi-Fi is connected to %1$s
+ Bluetooth is NOT AVAILABLE
+ Bluetooth is OFF
+ Bluetooth is NOT DISCOVERABLE
+ Bluetooth is discoverable
+ For security reasons you must be face-to-face with someone to add them as a contact
+ Continue
+ Your invitation code is
+ Please enter your contact\'s invitation code:
+ Searching via %1$s\u2026
+ Searching via Bluetooth\u2026
+ Connection failed
+ Please check that you are both using the same network
+ Try again
+ Connected to contact
+ Calculating confirmation code\u2026
+ Your confirmation code is
+ Please enter your contact\'s confirmation code:
+ Waiting for contact\u2026
+ Exchanging contact details\u2026
+ Codes do not match
+ This could mean that someone is trying to interfere with your connection
+ Contact added
+ Done
+ Messages
+ (No messages)
+ From: %1$s
+ To: %1$s
+ New Message
+ From:
+ To:
+ Anonymous
+ New contact\u2026
+ Forums
+
+ - %1$d forum available from contacts
+ - %1$d forums available from contacts
+
+ No posts
+ Subscribe to this forum
+ New Forum
+ Choose a name for your forum:
+ Share this forum with all contacts
+ Share this forum with chosen contacts
+ New Post
+ New forum\u2026
+ Available Forums
+ No forums available from contacts
+ Subscribed, shared with all contacts
+ Subscribed, shared with chosen contacts
+ Not subscribed
+ New nickname\u2026
+ New Nickname
+ Create
+ You don\'t have any contacts. Add a contact now?
+ Add
+ Cancel
+ Message sent
+ Post sent
+ Not implemented yet!
+
\ No newline at end of file
diff --git a/briar-android/src/org/briarproject/android/AndroidExecutorImpl.java b/briar-android/src/org/briarproject/android/AndroidExecutorImpl.java
index 6fcb2a9a8..5d9c47091 100644
--- a/briar-android/src/org/briarproject/android/AndroidExecutorImpl.java
+++ b/briar-android/src/org/briarproject/android/AndroidExecutorImpl.java
@@ -10,6 +10,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import javax.inject.Inject;
import org.briarproject.api.android.AndroidExecutor;
+
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
diff --git a/briar-android/src/org/briarproject/android/BriarService.java b/briar-android/src/org/briarproject/android/BriarService.java
index c56714bdf..9e42fefe5 100644
--- a/briar-android/src/org/briarproject/android/BriarService.java
+++ b/briar-android/src/org/briarproject/android/BriarService.java
@@ -6,12 +6,15 @@ import static android.content.Intent.FLAG_ACTIVITY_SINGLE_TOP;
import static java.util.logging.Level.INFO;
import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.Executor;
import java.util.logging.Logger;
import javax.inject.Inject;
import org.briarproject.R;
import org.briarproject.api.android.AndroidExecutor;
+import org.briarproject.api.android.DatabaseUiExecutor;
+import org.briarproject.api.db.DatabaseComponent;
import org.briarproject.api.db.DatabaseConfig;
import org.briarproject.api.lifecycle.LifecycleManager;
@@ -26,6 +29,7 @@ import android.support.v4.app.NotificationCompat;
public class BriarService extends RoboService {
+ private static final int NOTIFICATION_ID = 1;
private static final Logger LOG =
Logger.getLogger(BriarService.class.getName());
@@ -36,6 +40,8 @@ public class BriarService extends RoboService {
// Fields that are accessed from background threads must be volatile
@Inject private volatile LifecycleManager lifecycleManager;
@Inject private volatile AndroidExecutor androidExecutor;
+ @Inject @DatabaseUiExecutor private volatile Executor dbUiExecutor;
+ @Inject private volatile DatabaseComponent db;
private volatile boolean started = false;
@Override
@@ -54,12 +60,11 @@ public class BriarService extends RoboService {
b.setContentText(getText(R.string.notification_text));
b.setWhen(0); // Don't show the time
b.setOngoing(true);
- // Touch the notification to show the home screen
Intent i = new Intent(this, HomeScreenActivity.class);
i.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP |
FLAG_ACTIVITY_SINGLE_TOP);
b.setContentIntent(PendingIntent.getActivity(this, 0, i, 0));
- startForeground(1, b.build());
+ startForeground(NOTIFICATION_ID, b.build());
// Start the services in a background thread
new Thread() {
@Override
diff --git a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java
index cb854dedf..585f4281a 100644
--- a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java
+++ b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java
@@ -32,6 +32,7 @@ import org.briarproject.api.event.MessageAddedEvent;
import org.briarproject.api.event.MessageExpiredEvent;
import org.briarproject.api.lifecycle.LifecycleManager;
import org.briarproject.api.messaging.GroupId;
+
import roboguice.activity.RoboActivity;
import android.content.Intent;
import android.os.Bundle;
diff --git a/briar-android/src/org/briarproject/android/contact/SelectContactsDialog.java b/briar-android/src/org/briarproject/android/contact/SelectContactsDialog.java
index 68350324d..c717c7732 100644
--- a/briar-android/src/org/briarproject/android/contact/SelectContactsDialog.java
+++ b/briar-android/src/org/briarproject/android/contact/SelectContactsDialog.java
@@ -7,6 +7,7 @@ import java.util.Set;
import org.briarproject.R;
import org.briarproject.api.Contact;
import org.briarproject.api.ContactId;
+
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
diff --git a/briar-android/src/org/briarproject/android/groups/ConfigureGroupActivity.java b/briar-android/src/org/briarproject/android/groups/ConfigureGroupActivity.java
index 91eb34ec2..eff2c6d26 100644
--- a/briar-android/src/org/briarproject/android/groups/ConfigureGroupActivity.java
+++ b/briar-android/src/org/briarproject/android/groups/ConfigureGroupActivity.java
@@ -27,6 +27,7 @@ import org.briarproject.api.db.DbException;
import org.briarproject.api.lifecycle.LifecycleManager;
import org.briarproject.api.messaging.Group;
import org.briarproject.api.messaging.GroupId;
+
import roboguice.activity.RoboFragmentActivity;
import android.content.Intent;
import android.os.Bundle;
diff --git a/briar-android/src/org/briarproject/android/groups/GroupActivity.java b/briar-android/src/org/briarproject/android/groups/GroupActivity.java
index 629a73b43..f5023b8be 100644
--- a/briar-android/src/org/briarproject/android/groups/GroupActivity.java
+++ b/briar-android/src/org/briarproject/android/groups/GroupActivity.java
@@ -34,6 +34,7 @@ import org.briarproject.api.event.MessageExpiredEvent;
import org.briarproject.api.event.SubscriptionRemovedEvent;
import org.briarproject.api.lifecycle.LifecycleManager;
import org.briarproject.api.messaging.GroupId;
+
import roboguice.activity.RoboActivity;
import android.content.Intent;
import android.os.Bundle;
diff --git a/briar-android/src/org/briarproject/android/groups/GroupListActivity.java b/briar-android/src/org/briarproject/android/groups/GroupListActivity.java
index e1187e545..b2d0ba005 100644
--- a/briar-android/src/org/briarproject/android/groups/GroupListActivity.java
+++ b/briar-android/src/org/briarproject/android/groups/GroupListActivity.java
@@ -23,8 +23,8 @@ import java.util.logging.Logger;
import javax.inject.Inject;
import org.briarproject.R;
-import org.briarproject.android.util.HorizontalBorder;
import org.briarproject.android.util.ElasticHorizontalSpace;
+import org.briarproject.android.util.HorizontalBorder;
import org.briarproject.android.util.ListLoadingProgressBar;
import org.briarproject.api.android.DatabaseUiExecutor;
import org.briarproject.api.db.DatabaseComponent;
@@ -42,6 +42,7 @@ import org.briarproject.api.lifecycle.LifecycleManager;
import org.briarproject.api.messaging.Group;
import org.briarproject.api.messaging.GroupId;
import org.briarproject.api.messaging.GroupStatus;
+
import roboguice.activity.RoboFragmentActivity;
import android.content.Intent;
import android.os.Bundle;
diff --git a/briar-android/src/org/briarproject/android/groups/ManageGroupsActivity.java b/briar-android/src/org/briarproject/android/groups/ManageGroupsActivity.java
index 9eca0b78a..b5d14f697 100644
--- a/briar-android/src/org/briarproject/android/groups/ManageGroupsActivity.java
+++ b/briar-android/src/org/briarproject/android/groups/ManageGroupsActivity.java
@@ -24,6 +24,7 @@ import org.briarproject.api.event.SubscriptionRemovedEvent;
import org.briarproject.api.lifecycle.LifecycleManager;
import org.briarproject.api.messaging.Group;
import org.briarproject.api.messaging.GroupStatus;
+
import roboguice.activity.RoboFragmentActivity;
import android.content.Intent;
import android.os.Bundle;
diff --git a/briar-android/src/org/briarproject/android/groups/NoContactsDialog.java b/briar-android/src/org/briarproject/android/groups/NoContactsDialog.java
index 0468a7812..a5be07741 100644
--- a/briar-android/src/org/briarproject/android/groups/NoContactsDialog.java
+++ b/briar-android/src/org/briarproject/android/groups/NoContactsDialog.java
@@ -1,6 +1,7 @@
package org.briarproject.android.groups;
import org.briarproject.R;
+
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
diff --git a/briar-android/src/org/briarproject/android/identity/LocalAuthorSpinnerAdapter.java b/briar-android/src/org/briarproject/android/identity/LocalAuthorSpinnerAdapter.java
index 09f535c62..b8b9e30ce 100644
--- a/briar-android/src/org/briarproject/android/identity/LocalAuthorSpinnerAdapter.java
+++ b/briar-android/src/org/briarproject/android/identity/LocalAuthorSpinnerAdapter.java
@@ -9,6 +9,7 @@ import java.util.Comparator;
import java.util.List;
import org.briarproject.R;
+
import android.content.Context;
import android.content.res.Resources;
import android.view.View;
diff --git a/briar-android/src/org/briarproject/android/invitation/AddContactActivity.java b/briar-android/src/org/briarproject/android/invitation/AddContactActivity.java
index b767b18b2..61a26caab 100644
--- a/briar-android/src/org/briarproject/android/invitation/AddContactActivity.java
+++ b/briar-android/src/org/briarproject/android/invitation/AddContactActivity.java
@@ -31,6 +31,7 @@ import org.briarproject.api.invitation.InvitationState;
import org.briarproject.api.invitation.InvitationTask;
import org.briarproject.api.invitation.InvitationTaskFactory;
import org.briarproject.api.lifecycle.LifecycleManager;
+
import roboguice.activity.RoboActivity;
import android.bluetooth.BluetoothAdapter;
import android.content.BroadcastReceiver;
diff --git a/briar-android/src/org/briarproject/android/invitation/ConnectedView.java b/briar-android/src/org/briarproject/android/invitation/ConnectedView.java
index d91b7ca41..b9a51abec 100644
--- a/briar-android/src/org/briarproject/android/invitation/ConnectedView.java
+++ b/briar-android/src/org/briarproject/android/invitation/ConnectedView.java
@@ -1,7 +1,9 @@
package org.briarproject.android.invitation;
import static android.view.Gravity.CENTER;
+
import org.briarproject.R;
+
import android.content.Context;
import android.widget.ImageView;
import android.widget.LinearLayout;
diff --git a/briar-android/src/org/briarproject/android/invitation/ContactDetailsView.java b/briar-android/src/org/briarproject/android/invitation/ContactDetailsView.java
index 0a0da9a40..1c31bba2c 100644
--- a/briar-android/src/org/briarproject/android/invitation/ContactDetailsView.java
+++ b/briar-android/src/org/briarproject/android/invitation/ContactDetailsView.java
@@ -2,7 +2,9 @@ package org.briarproject.android.invitation;
import static android.view.Gravity.CENTER;
import static android.view.Gravity.CENTER_HORIZONTAL;
+
import org.briarproject.R;
+
import android.content.Context;
import android.widget.ImageView;
import android.widget.LinearLayout;
diff --git a/briar-android/src/org/briarproject/android/invitation/InvitationCodeView.java b/briar-android/src/org/briarproject/android/invitation/InvitationCodeView.java
index 795eb529d..afd4669c3 100644
--- a/briar-android/src/org/briarproject/android/invitation/InvitationCodeView.java
+++ b/briar-android/src/org/briarproject/android/invitation/InvitationCodeView.java
@@ -1,7 +1,9 @@
package org.briarproject.android.invitation;
import static android.view.Gravity.CENTER_HORIZONTAL;
+
import org.briarproject.R;
+
import android.content.Context;
import android.content.res.Resources;
import android.widget.TextView;
diff --git a/briar-android/src/org/briarproject/android/invitation/NetworkSetupView.java b/briar-android/src/org/briarproject/android/invitation/NetworkSetupView.java
index 9fc38961b..c494dac92 100644
--- a/briar-android/src/org/briarproject/android/invitation/NetworkSetupView.java
+++ b/briar-android/src/org/briarproject/android/invitation/NetworkSetupView.java
@@ -4,11 +4,13 @@ import static android.view.Gravity.CENTER;
import static org.briarproject.android.identity.LocalAuthorItem.NEW;
import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP;
import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP;
+
import org.briarproject.R;
import org.briarproject.android.identity.CreateIdentityActivity;
import org.briarproject.android.identity.LocalAuthorItem;
import org.briarproject.android.identity.LocalAuthorSpinnerAdapter;
import org.briarproject.api.AuthorId;
+
import android.content.Context;
import android.content.Intent;
import android.view.View;
diff --git a/briar-android/src/org/briarproject/android/invitation/WaitForContactView.java b/briar-android/src/org/briarproject/android/invitation/WaitForContactView.java
index 625c4576c..2ee3f392a 100644
--- a/briar-android/src/org/briarproject/android/invitation/WaitForContactView.java
+++ b/briar-android/src/org/briarproject/android/invitation/WaitForContactView.java
@@ -2,7 +2,9 @@ package org.briarproject.android.invitation;
import static android.view.Gravity.CENTER;
import static android.view.Gravity.CENTER_HORIZONTAL;
+
import org.briarproject.R;
+
import android.content.Context;
import android.widget.ImageView;
import android.widget.LinearLayout;
diff --git a/briar-android/src/org/briarproject/plugins/droidtooth/DroidtoothPlugin.java b/briar-android/src/org/briarproject/plugins/droidtooth/DroidtoothPlugin.java
index d2a17d476..b2609f435 100644
--- a/briar-android/src/org/briarproject/plugins/droidtooth/DroidtoothPlugin.java
+++ b/briar-android/src/org/briarproject/plugins/droidtooth/DroidtoothPlugin.java
@@ -35,6 +35,7 @@ import org.briarproject.api.plugins.duplex.DuplexTransportConnection;
import org.briarproject.api.system.Clock;
import org.briarproject.util.LatchedReference;
import org.briarproject.util.StringUtils;
+
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothServerSocket;
diff --git a/briar-android/src/org/briarproject/plugins/droidtooth/DroidtoothTransportConnection.java b/briar-android/src/org/briarproject/plugins/droidtooth/DroidtoothTransportConnection.java
index bc365fcf7..50cd9db82 100644
--- a/briar-android/src/org/briarproject/plugins/droidtooth/DroidtoothTransportConnection.java
+++ b/briar-android/src/org/briarproject/plugins/droidtooth/DroidtoothTransportConnection.java
@@ -6,6 +6,7 @@ import java.io.OutputStream;
import org.briarproject.api.plugins.Plugin;
import org.briarproject.api.plugins.duplex.DuplexTransportConnection;
+
import android.bluetooth.BluetoothSocket;
class DroidtoothTransportConnection implements DuplexTransportConnection {
diff --git a/briar-android/src/org/briarproject/plugins/tcp/DroidLanTcpPlugin.java b/briar-android/src/org/briarproject/plugins/tcp/DroidLanTcpPlugin.java
index 2c4f27a5e..064199dca 100644
--- a/briar-android/src/org/briarproject/plugins/tcp/DroidLanTcpPlugin.java
+++ b/briar-android/src/org/briarproject/plugins/tcp/DroidLanTcpPlugin.java
@@ -8,6 +8,7 @@ import org.briarproject.api.crypto.PseudoRandom;
import org.briarproject.api.plugins.duplex.DuplexPluginCallback;
import org.briarproject.api.plugins.duplex.DuplexTransportConnection;
import org.briarproject.api.system.Clock;
+
import android.content.Context;
import android.net.wifi.WifiManager;
import android.net.wifi.WifiManager.MulticastLock;
diff --git a/briar-android/src/org/briarproject/plugins/tor/TorPluginFactory.java b/briar-android/src/org/briarproject/plugins/tor/TorPluginFactory.java
index 5500fe146..91720ff9f 100644
--- a/briar-android/src/org/briarproject/plugins/tor/TorPluginFactory.java
+++ b/briar-android/src/org/briarproject/plugins/tor/TorPluginFactory.java
@@ -7,6 +7,7 @@ import org.briarproject.api.lifecycle.ShutdownManager;
import org.briarproject.api.plugins.duplex.DuplexPlugin;
import org.briarproject.api.plugins.duplex.DuplexPluginCallback;
import org.briarproject.api.plugins.duplex.DuplexPluginFactory;
+
import android.content.Context;
import android.os.Build;
diff --git a/briar-android/src/org/briarproject/system/AndroidFileUtils.java b/briar-android/src/org/briarproject/system/AndroidFileUtils.java
index 80efdc2a4..f4b49144e 100644
--- a/briar-android/src/org/briarproject/system/AndroidFileUtils.java
+++ b/briar-android/src/org/briarproject/system/AndroidFileUtils.java
@@ -4,6 +4,7 @@ import java.io.File;
import java.io.IOException;
import org.briarproject.api.system.FileUtils;
+
import android.os.Build;
import android.os.StatFs;