diff --git a/briar-android/src/org/briarproject/android/AndroidComponent.java b/briar-android/src/org/briarproject/android/AndroidComponent.java index a00d6fb1293179d1ed9f9282416f6f7e8e7494b2..e6bb7295444beeb875d7f7e0c9537122e295cb31 100644 --- a/briar-android/src/org/briarproject/android/AndroidComponent.java +++ b/briar-android/src/org/briarproject/android/AndroidComponent.java @@ -26,9 +26,12 @@ import javax.inject.Singleton; import dagger.Component; @Singleton -@Component( - modules = {CoreModule.class, AppModule.class, AndroidModule.class, - AndroidPluginsModule.class, AndroidSystemModule.class}) +@Component(modules = { + CoreModule.class, + AndroidModule.class, + AndroidPluginsModule.class, + AndroidSystemModule.class +}) public interface AndroidComponent extends CoreEagerSingletons { void inject(SplashScreenActivity activity); @@ -79,5 +82,4 @@ public interface AndroidComponent extends CoreEagerSingletons { // Eager singleton load void inject(AndroidModule.EagerSingletons init); - } diff --git a/briar-android/src/org/briarproject/android/AndroidModule.java b/briar-android/src/org/briarproject/android/AndroidModule.java index 9dc8fcd884407be47ab952554fb917fbd062251a..c985d311cad12bf3cb0d8b8bdd59b3dfa8a3797d 100644 --- a/briar-android/src/org/briarproject/android/AndroidModule.java +++ b/briar-android/src/org/briarproject/android/AndroidModule.java @@ -1,7 +1,6 @@ package org.briarproject.android; import android.app.Application; -import android.content.Context; import org.briarproject.android.api.AndroidNotificationManager; import org.briarproject.android.api.ReferenceManager; @@ -19,6 +18,8 @@ import javax.inject.Singleton; import dagger.Module; import dagger.Provides; +import static android.content.Context.MODE_PRIVATE; + @Module public class AndroidModule { @@ -27,10 +28,11 @@ public class AndroidModule { AndroidNotificationManager androidNotificationManager; } + private final Application application; private final UiCallback uiCallback; - public AndroidModule() { - // Use a dummy UI callback + public AndroidModule(Application application) { + this.application = application; uiCallback = new UiCallback() { public int showChoice(String[] options, String... message) { @@ -47,6 +49,12 @@ public class AndroidModule { }; } + @Provides + @Singleton + Application providesApplication() { + return application; + } + @Provides public UiCallback provideUICallback() { return uiCallback; @@ -55,7 +63,7 @@ public class AndroidModule { @Provides @Singleton public DatabaseConfig provideDatabaseConfig(Application app) { - final File dir = app.getApplicationContext().getDir("db", Context.MODE_PRIVATE); + final File dir = app.getApplicationContext().getDir("db", MODE_PRIVATE); return new DatabaseConfig() { private volatile SecretKey key = null; diff --git a/briar-android/src/org/briarproject/android/AppModule.java b/briar-android/src/org/briarproject/android/AppModule.java deleted file mode 100644 index 53631803d5d86e7bf6c0203eaf2749afcf7c6bfb..0000000000000000000000000000000000000000 --- a/briar-android/src/org/briarproject/android/AppModule.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.briarproject.android; - -import android.app.Application; - -import javax.inject.Singleton; - -import dagger.Module; -import dagger.Provides; - -@Module -public class AppModule { - - Application application; - - public AppModule(Application application) { - this.application = application; - } - - @Provides - @Singleton - Application providesApplication() { - return application; - } -} diff --git a/briar-android/src/org/briarproject/android/BaseActivity.java b/briar-android/src/org/briarproject/android/BaseActivity.java index 8fc2f16be2b7ff463722d519b80855874e3b0fb6..8e92c0b56f44ed5fa793e710303f44e523b62544 100644 --- a/briar-android/src/org/briarproject/android/BaseActivity.java +++ b/briar-android/src/org/briarproject/android/BaseActivity.java @@ -1,17 +1,12 @@ package org.briarproject.android; -import android.content.Intent; import android.content.SharedPreferences; -import android.content.res.Configuration; import android.os.Bundle; import android.os.IBinder; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.inputmethod.InputMethodManager; - -import javax.inject.Inject; - import static android.view.WindowManager.LayoutParams.FLAG_SECURE; import static android.view.inputmethod.InputMethodManager.SHOW_IMPLICIT; import static org.briarproject.android.TestingConstants.PREVENT_SCREENSHOTS; @@ -28,9 +23,8 @@ public abstract class BaseActivity extends AppCompatActivity { if (PREVENT_SCREENSHOTS) getWindow().addFlags(FLAG_SECURE); - AndroidComponent component = - ((BriarApplication) getApplication()).getApplicationComponent(); - injectActivity(component); + BriarApplication application = (BriarApplication) getApplication(); + injectActivity(application.getApplicationComponent()); } public abstract void injectActivity(AndroidComponent component); diff --git a/briar-android/src/org/briarproject/android/BriarApplication.java b/briar-android/src/org/briarproject/android/BriarApplication.java index a4a34720dbf52910df3c7f3392b710c5c4c6dc95..dcf469ac78b6db46741ef3a132821c3c157a2947 100644 --- a/briar-android/src/org/briarproject/android/BriarApplication.java +++ b/briar-android/src/org/briarproject/android/BriarApplication.java @@ -1,13 +1,13 @@ package org.briarproject.android; -import java.lang.Thread.UncaughtExceptionHandler; -import java.util.logging.Logger; - import android.app.Application; import android.content.Context; import org.briarproject.CoreModule; +import java.lang.Thread.UncaughtExceptionHandler; +import java.util.logging.Logger; + public class BriarApplication extends Application { private static final Logger LOG = @@ -18,7 +18,7 @@ public class BriarApplication extends Application { @Override public void onCreate() { super.onCreate(); - LOG.info("Application Created"); + LOG.info("Created"); UncaughtExceptionHandler oldHandler = Thread.getDefaultUncaughtExceptionHandler(); Context ctx = getApplicationContext(); @@ -26,8 +26,7 @@ public class BriarApplication extends Application { Thread.setDefaultUncaughtExceptionHandler(newHandler); applicationComponent = DaggerAndroidComponent.builder() - .appModule(new AppModule(this)) - .androidModule(new AndroidModule()) + .androidModule(new AndroidModule(this)) .build(); // We need to load the eager singletons directly after making the diff --git a/briar-android/src/org/briarproject/android/BriarService.java b/briar-android/src/org/briarproject/android/BriarService.java index 06a09cce19cc23e621467203c3bc5c2947028e4f..d58f3f5672830fa4cb1e32c92b91afe627fa1f92 100644 --- a/briar-android/src/org/briarproject/android/BriarService.java +++ b/briar-android/src/org/briarproject/android/BriarService.java @@ -55,8 +55,8 @@ public class BriarService extends Service { public void onCreate() { super.onCreate(); - ((BriarApplication) this.getApplication()) - .getApplicationComponent().inject(this); + BriarApplication application = (BriarApplication) getApplication(); + application.getApplicationComponent().inject(this); LOG.info("Created"); if (created.getAndSet(true)) { diff --git a/briar-android/src/org/briarproject/android/fragment/BaseFragment.java b/briar-android/src/org/briarproject/android/fragment/BaseFragment.java index 03dd189537cb2093ad967611fad40d471dc61bf0..494f93c2dbfb2a74f2b4188a15ba96c8a1c7ef83 100644 --- a/briar-android/src/org/briarproject/android/fragment/BaseFragment.java +++ b/briar-android/src/org/briarproject/android/fragment/BaseFragment.java @@ -5,7 +5,6 @@ import android.os.Bundle; import android.support.v4.app.Fragment; import org.briarproject.android.AndroidComponent; -import org.briarproject.android.BriarActivity; import org.briarproject.android.BriarApplication; public abstract class BaseFragment extends Fragment { @@ -14,8 +13,6 @@ public abstract class BaseFragment extends Fragment { protected BaseFragmentListener listener; - protected BriarActivity briarActivity; - @Override public void onAttach(Context context) { super.onAttach(context); @@ -31,15 +28,15 @@ public abstract class BaseFragment extends Fragment { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - AndroidComponent component = - ((BriarApplication) getActivity().getApplication()) - .getApplicationComponent(); - injectActivity(component); + BriarApplication application = + (BriarApplication) getActivity().getApplication(); + injectActivity(application.getApplicationComponent()); } public abstract void injectActivity(AndroidComponent component); public interface BaseFragmentListener { + void showLoadingScreen(boolean isBlocking, int stringId); void hideLoadingScreen(); @@ -48,5 +45,4 @@ public abstract class BaseFragment extends Fragment { void runOnDbThread(Runnable runnable); } - }