diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/db/DatabaseConfig.java b/bramble-api/src/main/java/org/briarproject/bramble/api/db/DatabaseConfig.java index a9a95c47a2bdab6dcc1153725ee1000826723765..f096f1fec8e99185d0679846e536613525e38ec0 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/db/DatabaseConfig.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/db/DatabaseConfig.java @@ -7,8 +7,6 @@ import java.io.File; @NotNullByDefault public interface DatabaseConfig { - boolean databaseExists(); - File getDatabaseDirectory(); File getDatabaseKeyDirectory(); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java b/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java index fd5be69056a57b2a3f13ca8c8476c015c4e958f1..f400d1ce984c7c485fb50a8828fb3c273fa482aa 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java @@ -50,8 +50,7 @@ class H2Database extends JdbcDatabase { public boolean open(SecretKey key, @Nullable MigrationListener listener) throws DbException { this.key = key; - boolean reopen = config.databaseExists(); - if (!reopen) config.getDatabaseDirectory().mkdirs(); + boolean reopen = !config.getDatabaseDirectory().mkdirs(); super.open("org.h2.Driver", reopen, key, listener); return reopen; } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/HyperSqlDatabase.java b/bramble-core/src/main/java/org/briarproject/bramble/db/HyperSqlDatabase.java index 0bfb66ea6eb2c00a2fe733f08032fc4bf62120d5..447537d8c8098a730e3c7ea217f1e7f001dd5c63 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/HyperSqlDatabase.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/HyperSqlDatabase.java @@ -52,8 +52,7 @@ class HyperSqlDatabase extends JdbcDatabase { public boolean open(SecretKey key, @Nullable MigrationListener listener) throws DbException { this.key = key; - boolean reopen = config.databaseExists(); - if (!reopen) config.getDatabaseDirectory().mkdirs(); + boolean reopen = !config.getDatabaseDirectory().mkdirs(); super.open("org.hsqldb.jdbc.JDBCDriver", reopen, key, listener); return reopen; } diff --git a/bramble-core/src/test/java/org/briarproject/bramble/test/TestDatabaseConfig.java b/bramble-core/src/test/java/org/briarproject/bramble/test/TestDatabaseConfig.java index 89f68a30ea0b86e1d04c2039a5445a2d5b00a674..1c626b483beb0fe426c8e7e9268f264b353cead9 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/test/TestDatabaseConfig.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/test/TestDatabaseConfig.java @@ -17,13 +17,6 @@ public class TestDatabaseConfig implements DatabaseConfig { this.maxSize = maxSize; } - @Override - public boolean databaseExists() { - if (!dbDir.isDirectory()) return false; - File[] files = dbDir.listFiles(); - return files != null && files.length > 0; - } - @Override public File getDatabaseDirectory() { return dbDir; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/AndroidDatabaseConfig.java b/briar-android/src/main/java/org/briarproject/briar/android/AndroidDatabaseConfig.java index 9aa2ac6ae02163c43101a945bf15bba78f1eae43..797fb907c129a904c3ee173774d7285cb3fd380c 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/AndroidDatabaseConfig.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/AndroidDatabaseConfig.java @@ -4,16 +4,10 @@ import org.briarproject.bramble.api.db.DatabaseConfig; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import java.io.File; -import java.util.logging.Logger; - -import static java.util.logging.Level.INFO; @NotNullByDefault class AndroidDatabaseConfig implements DatabaseConfig { - private static final Logger LOG = - Logger.getLogger(AndroidDatabaseConfig.class.getName()); - private final File dbDir, keyDir; AndroidDatabaseConfig(File dbDir, File keyDir) { @@ -21,38 +15,13 @@ class AndroidDatabaseConfig implements DatabaseConfig { this.keyDir = keyDir; } - @Override - public boolean databaseExists() { - // FIXME should not run on UiThread #620 - if (!dbDir.isDirectory()) { - if (LOG.isLoggable(INFO)) - LOG.info(dbDir.getAbsolutePath() + " is not a directory"); - return false; - } - File[] files = dbDir.listFiles(); - if (LOG.isLoggable(INFO)) { - if (files == null) { - LOG.info("Could not list files in " + dbDir.getAbsolutePath()); - } else { - LOG.info("Files in " + dbDir.getAbsolutePath() + ":"); - for (File f : files) LOG.info(f.getName()); - } - LOG.info("Database exists: " + (files != null && files.length > 0)); - } - return files != null && files.length > 0; - } - @Override public File getDatabaseDirectory() { - if (LOG.isLoggable(INFO)) - LOG.info("Database directory: " + dbDir.getAbsolutePath()); return dbDir; } @Override public File getDatabaseKeyDirectory() { - if (LOG.isLoggable(INFO)) - LOG.info("Database key directory: " + keyDir.getAbsolutePath()); return keyDir; } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java b/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java index 2296a8bafffb48d0e8c315e3460846b9b3d3bef8..3af71627783a7632a3f2c848456f200207a7b318 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java @@ -11,9 +11,7 @@ import org.briarproject.bramble.api.db.DatabaseConfig; import org.briarproject.bramble.api.event.EventBus; import org.briarproject.bramble.api.lifecycle.IoExecutor; import org.briarproject.bramble.api.lifecycle.LifecycleManager; -import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault; import org.briarproject.bramble.api.plugin.BackoffFactory; import org.briarproject.bramble.api.plugin.PluginConfig; import org.briarproject.bramble.api.plugin.duplex.DuplexPluginFactory; @@ -86,11 +84,7 @@ public class AppModule { File dbDir = app.getApplicationContext().getDir("db", MODE_PRIVATE); File keyDir = app.getApplicationContext().getDir("key", MODE_PRIVATE); StrictMode.setThreadPolicy(tp); - @MethodsNotNullByDefault - @ParametersNotNullByDefault - DatabaseConfig databaseConfig = - new AndroidDatabaseConfig(dbDir, keyDir); - return databaseConfig; + return new AndroidDatabaseConfig(dbDir, keyDir); } @Provides diff --git a/briar-android/src/main/java/org/briarproject/briar/android/controller/ConfigControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/controller/ConfigControllerImpl.java index 1f730537115a2a30fb1aebc8a7249102928161ed..671b6cb6a7f0057a5eca72abf122290fa91959d6 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/controller/ConfigControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/controller/ConfigControllerImpl.java @@ -76,8 +76,8 @@ public class ConfigControllerImpl implements ConfigController { @Override public boolean accountExists() { - String hex = getEncryptedDatabaseKey(); - return hex != null && databaseConfig.databaseExists(); + return getEncryptedDatabaseKey() != null && + databaseConfig.getDatabaseDirectory().isDirectory(); } @Override diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/SignInReminderReceiver.java b/briar-android/src/main/java/org/briarproject/briar/android/login/SignInReminderReceiver.java index cf1edaae668db3a49a938478a3e7633066e3e79e..559757979f0708b8e4f632e75bd0b350215f8641 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/login/SignInReminderReceiver.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/login/SignInReminderReceiver.java @@ -51,7 +51,8 @@ public class SignInReminderReceiver extends BroadcastReceiver { if (action == null) return; if (action.equals(ACTION_BOOT_COMPLETED) || action.equals(ACTION_MY_PACKAGE_REPLACED)) { - if (databaseConfig.databaseExists()) { + // TODO: Use account manager to check whether account exists + if (databaseConfig.getDatabaseDirectory().isDirectory()) { SharedPreferences prefs = app.getDefaultSharedPreferences(); if (prefs.getBoolean(NOTIFY_SIGN_IN, true)) { showSignInNotification(ctx);