From 685496fb153ca4fba16f563ed7055326a3c3c8d7 Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Thu, 10 May 2018 15:11:54 +0100 Subject: [PATCH] Extract DatabaseConfig implementation. --- .../briar/android/AndroidDatabaseConfig.java | 64 +++++++++++++++++++ .../briarproject/briar/android/AppModule.java | 49 +------------- 2 files changed, 66 insertions(+), 47 deletions(-) create mode 100644 briar-android/src/main/java/org/briarproject/briar/android/AndroidDatabaseConfig.java 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 new file mode 100644 index 0000000000..3f98bd8cc9 --- /dev/null +++ b/briar-android/src/main/java/org/briarproject/briar/android/AndroidDatabaseConfig.java @@ -0,0 +1,64 @@ +package org.briarproject.briar.android; + +import org.briarproject.bramble.api.crypto.SecretKey; +import org.briarproject.bramble.api.db.DatabaseConfig; +import org.briarproject.bramble.api.nullsafety.NotNullByDefault; + +import java.io.File; + +import javax.annotation.Nullable; + +@NotNullByDefault +class AndroidDatabaseConfig implements DatabaseConfig { + + private final File dir; + + @Nullable + private volatile SecretKey key = null; + @Nullable + private volatile String nickname = null; + + AndroidDatabaseConfig(File dir) { + this.dir = dir; + } + + @Override + public boolean databaseExists() { + // FIXME should not run on UiThread #620 + if (!dir.isDirectory()) return false; + File[] files = dir.listFiles(); + return files != null && files.length > 0; + } + + @Override + public File getDatabaseDirectory() { + return dir; + } + + @Override + public void setEncryptionKey(SecretKey key) { + this.key = key; + } + + @Override + public void setLocalAuthorName(String nickname) { + this.nickname = nickname; + } + + @Override + @Nullable + public String getLocalAuthorName() { + return nickname; + } + + @Override + @Nullable + public SecretKey getEncryptionKey() { + return key; + } + + @Override + public long getMaxSize() { + return Long.MAX_VALUE; + } +} 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 67af25ac69..4060305a63 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 @@ -5,7 +5,6 @@ import android.content.SharedPreferences; import org.briarproject.bramble.api.crypto.CryptoComponent; import org.briarproject.bramble.api.crypto.PublicKey; -import org.briarproject.bramble.api.crypto.SecretKey; import org.briarproject.bramble.api.db.DatabaseConfig; import org.briarproject.bramble.api.event.EventBus; import org.briarproject.bramble.api.lifecycle.LifecycleManager; @@ -23,7 +22,6 @@ import org.briarproject.briar.api.android.ScreenFilterMonitor; import java.io.File; import java.security.GeneralSecurityException; -import javax.annotation.Nullable; import javax.inject.Inject; import javax.inject.Singleton; @@ -87,51 +85,7 @@ public class AppModule { File dir = app.getApplicationContext().getDir("db", MODE_PRIVATE); @MethodsNotNullByDefault @ParametersNotNullByDefault - DatabaseConfig databaseConfig = new DatabaseConfig() { - - private volatile SecretKey key; - private volatile String nickname; - - @Override - public boolean databaseExists() { - // FIXME should not run on UiThread #620 - if (!dir.isDirectory()) return false; - File[] files = dir.listFiles(); - return files != null && files.length > 0; - } - - @Override - public File getDatabaseDirectory() { - return dir; - } - - @Override - public void setEncryptionKey(SecretKey key) { - this.key = key; - } - - @Override - public void setLocalAuthorName(String nickname) { - this.nickname = nickname; - } - - @Override - @Nullable - public String getLocalAuthorName() { - return nickname; - } - - @Override - @Nullable - public SecretKey getEncryptionKey() { - return key; - } - - @Override - public long getMaxSize() { - return Long.MAX_VALUE; - } - }; + DatabaseConfig databaseConfig = new AndroidDatabaseConfig(dir); return databaseConfig; } @@ -204,4 +158,5 @@ public class AppModule { lifecycleManager.registerService(dozeWatchdog); return dozeWatchdog; } + } -- GitLab