diff --git a/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidModule.java b/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidModule.java index d2e2979b6a8dc67df616b4b04e59b7366f83a2a5..cb563508ae415e569d9fe81e5c225842b83f24ca 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidModule.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidModule.java @@ -2,7 +2,6 @@ package org.briarproject.bramble; import android.app.Application; -import org.briarproject.bramble.account.AndroidAccountModule; import org.briarproject.bramble.plugin.tor.CircumventionProvider; import org.briarproject.bramble.plugin.tor.CircumventionProviderImpl; import org.briarproject.bramble.system.AndroidSystemModule; @@ -13,7 +12,6 @@ import dagger.Module; import dagger.Provides; @Module(includes = { - AndroidAccountModule.class, AndroidSystemModule.class }) public class BrambleAndroidModule { diff --git a/bramble-android/src/main/java/org/briarproject/bramble/account/AndroidAccountManager.java b/bramble-android/src/main/java/org/briarproject/bramble/account/AndroidAccountManager.java index 1ce36ed39f5aa82ebf35cace6f63d15cfdb2452d..9636c3dc08e40d362132ac5d1007706c5517353e 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/account/AndroidAccountManager.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/account/AndroidAccountManager.java @@ -24,8 +24,8 @@ class AndroidAccountManager extends AccountManagerImpl private static final String PREF_DB_KEY = "key"; + protected final Context appContext; private final SharedPreferences prefs; - private final Context appContext; @Inject AndroidAccountManager(DatabaseConfig databaseConfig, diff --git a/briar-android/src/main/java/org/briarproject/bramble/account/BriarAccountManager.java b/briar-android/src/main/java/org/briarproject/bramble/account/BriarAccountManager.java new file mode 100644 index 0000000000000000000000000000000000000000..e1fee81cda6d809b0f8fefddbece10360ab95438 --- /dev/null +++ b/briar-android/src/main/java/org/briarproject/bramble/account/BriarAccountManager.java @@ -0,0 +1,31 @@ +package org.briarproject.bramble.account; + +import android.app.Application; +import android.content.SharedPreferences; + +import org.briarproject.bramble.api.crypto.CryptoComponent; +import org.briarproject.bramble.api.db.DatabaseConfig; +import org.briarproject.briar.R; +import org.briarproject.briar.android.Localizer; +import org.briarproject.briar.android.util.UiUtils; + +import javax.inject.Inject; + +class BriarAccountManager extends AndroidAccountManager { + + @Inject + BriarAccountManager(DatabaseConfig databaseConfig, CryptoComponent crypto, + SharedPreferences prefs, Application app) { + super(databaseConfig, crypto, prefs, app); + } + + @Override + public void deleteAccount() { + synchronized (stateChangeLock) { + super.deleteAccount(); + Localizer.reinitialize(); + UiUtils.setTheme(appContext, + appContext.getString(R.string.pref_theme_light_value)); + } + } +} diff --git a/bramble-android/src/main/java/org/briarproject/bramble/account/AndroidAccountModule.java b/briar-android/src/main/java/org/briarproject/bramble/account/BriarAccountModule.java similarity index 68% rename from bramble-android/src/main/java/org/briarproject/bramble/account/AndroidAccountModule.java rename to briar-android/src/main/java/org/briarproject/bramble/account/BriarAccountModule.java index 4e74ef9ea8b52e33d332b2816e950eb724fa3456..3ed782d77ac791db1b68f0fcf1504e195de57ddd 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/account/AndroidAccountModule.java +++ b/briar-android/src/main/java/org/briarproject/bramble/account/BriarAccountModule.java @@ -8,11 +8,11 @@ import dagger.Module; import dagger.Provides; @Module -public class AndroidAccountModule { +public class BriarAccountModule { @Provides @Singleton - AccountManager provideAccountManager(AndroidAccountManager accountManager) { + AccountManager provideAccountManager(BriarAccountManager accountManager) { return accountManager; } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java b/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java index 8935cfb7fd99c685a405d476139087755eb65bdd..75b25b0996b4af139b5c46e7b6d41e54a57f151b 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java @@ -1,17 +1,14 @@ package org.briarproject.briar.android; -import android.content.SharedPreferences; - import org.briarproject.bramble.BrambleAndroidModule; import org.briarproject.bramble.BrambleCoreEagerSingletons; import org.briarproject.bramble.BrambleCoreModule; +import org.briarproject.bramble.account.BriarAccountModule; import org.briarproject.bramble.api.account.AccountManager; import org.briarproject.bramble.api.contact.ContactExchangeTask; import org.briarproject.bramble.api.contact.ContactManager; -import org.briarproject.bramble.api.crypto.CryptoComponent; import org.briarproject.bramble.api.crypto.CryptoExecutor; import org.briarproject.bramble.api.crypto.PasswordStrengthEstimator; -import org.briarproject.bramble.api.db.DatabaseConfig; import org.briarproject.bramble.api.db.DatabaseExecutor; import org.briarproject.bramble.api.event.EventBus; import org.briarproject.bramble.api.identity.IdentityManager; @@ -63,6 +60,7 @@ import dagger.Component; BrambleCoreModule.class, BriarCoreModule.class, BrambleAndroidModule.class, + BriarAccountModule.class, AppModule.class }) public interface AndroidComponent @@ -74,10 +72,6 @@ public interface AndroidComponent PasswordStrengthEstimator passwordStrengthIndicator(); - CryptoComponent cryptoComponent(); - - DatabaseConfig databaseConfig(); - @DatabaseExecutor Executor databaseExecutor(); @@ -93,8 +87,6 @@ public interface AndroidComponent AndroidNotificationManager androidNotificationManager(); - SharedPreferences sharedPreferences(); - ScreenFilterMonitor screenFilterMonitor(); ConnectionRegistry connectionRegistry(); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordActivity.java index 762744e8ae360c09b5adf9cc1247c1b278ff81d7..92344f15cef8a23a5eb7ef14a4ca155c862f606a 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordActivity.java @@ -14,7 +14,6 @@ import android.widget.ProgressBar; import org.briarproject.bramble.api.account.AccountManager; import org.briarproject.briar.R; -import org.briarproject.briar.android.Localizer; import org.briarproject.briar.android.activity.ActivityComponent; import org.briarproject.briar.android.activity.BaseActivity; import org.briarproject.briar.android.controller.BriarController; @@ -111,8 +110,6 @@ public class PasswordActivity extends BaseActivity { private void deleteAccount() { accountManager.deleteAccount(); - Localizer.reinitialize(); - UiUtils.setTheme(this, getString(R.string.pref_theme_light_value)); setResult(RESULT_CANCELED); Intent i = new Intent(this, SetupActivity.class); i.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TASK);