From 6f6ba38de10204720cb8a5a596d8a37d53013915 Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Thu, 26 Jul 2018 15:57:37 +0100 Subject: [PATCH] Remove logic from DatabaseConfig. --- .../bramble/api/db/DatabaseConfig.java | 2 -- .../briarproject/bramble/db/H2Database.java | 3 +- .../bramble/db/HyperSqlDatabase.java | 3 +- .../bramble/test/TestDatabaseConfig.java | 7 ----- .../briar/android/AndroidDatabaseConfig.java | 31 ------------------- .../briarproject/briar/android/AppModule.java | 8 +---- .../controller/ConfigControllerImpl.java | 4 +-- .../android/login/SignInReminderReceiver.java | 3 +- 8 files changed, 7 insertions(+), 54 deletions(-) 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 a9a95c47a2..f096f1fec8 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 fd5be69056..f400d1ce98 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 0bfb66ea6e..447537d8c8 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 89f68a30ea..1c626b483b 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 9aa2ac6ae0..797fb907c1 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 2296a8baff..3af7162778 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 1f73053711..671b6cb6a7 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 cf1edaae66..559757979f 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); -- GitLab