Merged AppModule and AndroidModule.

This commit is contained in:
akwizgran
2016-04-05 14:16:42 +01:00
parent bbd14f1af4
commit dc1adc21ae
7 changed files with 31 additions and 56 deletions

View File

@@ -26,9 +26,12 @@ import javax.inject.Singleton;
import dagger.Component; import dagger.Component;
@Singleton @Singleton
@Component( @Component(modules = {
modules = {CoreModule.class, AppModule.class, AndroidModule.class, CoreModule.class,
AndroidPluginsModule.class, AndroidSystemModule.class}) AndroidModule.class,
AndroidPluginsModule.class,
AndroidSystemModule.class
})
public interface AndroidComponent extends CoreEagerSingletons { public interface AndroidComponent extends CoreEagerSingletons {
void inject(SplashScreenActivity activity); void inject(SplashScreenActivity activity);
@@ -79,5 +82,4 @@ public interface AndroidComponent extends CoreEagerSingletons {
// Eager singleton load // Eager singleton load
void inject(AndroidModule.EagerSingletons init); void inject(AndroidModule.EagerSingletons init);
} }

View File

@@ -1,7 +1,6 @@
package org.briarproject.android; package org.briarproject.android;
import android.app.Application; import android.app.Application;
import android.content.Context;
import org.briarproject.android.api.AndroidNotificationManager; import org.briarproject.android.api.AndroidNotificationManager;
import org.briarproject.android.api.ReferenceManager; import org.briarproject.android.api.ReferenceManager;
@@ -19,6 +18,8 @@ import javax.inject.Singleton;
import dagger.Module; import dagger.Module;
import dagger.Provides; import dagger.Provides;
import static android.content.Context.MODE_PRIVATE;
@Module @Module
public class AndroidModule { public class AndroidModule {
@@ -27,10 +28,11 @@ public class AndroidModule {
AndroidNotificationManager androidNotificationManager; AndroidNotificationManager androidNotificationManager;
} }
private final Application application;
private final UiCallback uiCallback; private final UiCallback uiCallback;
public AndroidModule() { public AndroidModule(Application application) {
// Use a dummy UI callback this.application = application;
uiCallback = new UiCallback() { uiCallback = new UiCallback() {
public int showChoice(String[] options, String... message) { public int showChoice(String[] options, String... message) {
@@ -47,6 +49,12 @@ public class AndroidModule {
}; };
} }
@Provides
@Singleton
Application providesApplication() {
return application;
}
@Provides @Provides
public UiCallback provideUICallback() { public UiCallback provideUICallback() {
return uiCallback; return uiCallback;
@@ -55,7 +63,7 @@ public class AndroidModule {
@Provides @Provides
@Singleton @Singleton
public DatabaseConfig provideDatabaseConfig(Application app) { 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() { return new DatabaseConfig() {
private volatile SecretKey key = null; private volatile SecretKey key = null;

View File

@@ -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;
}
}

View File

@@ -1,17 +1,12 @@
package org.briarproject.android; package org.briarproject.android;
import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.os.Bundle; import android.os.Bundle;
import android.os.IBinder; import android.os.IBinder;
import android.support.v7.app.AppCompatActivity; import android.support.v7.app.AppCompatActivity;
import android.view.View; import android.view.View;
import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodManager;
import javax.inject.Inject;
import static android.view.WindowManager.LayoutParams.FLAG_SECURE; import static android.view.WindowManager.LayoutParams.FLAG_SECURE;
import static android.view.inputmethod.InputMethodManager.SHOW_IMPLICIT; import static android.view.inputmethod.InputMethodManager.SHOW_IMPLICIT;
import static org.briarproject.android.TestingConstants.PREVENT_SCREENSHOTS; 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); if (PREVENT_SCREENSHOTS) getWindow().addFlags(FLAG_SECURE);
AndroidComponent component = BriarApplication application = (BriarApplication) getApplication();
((BriarApplication) getApplication()).getApplicationComponent(); injectActivity(application.getApplicationComponent());
injectActivity(component);
} }
public abstract void injectActivity(AndroidComponent component); public abstract void injectActivity(AndroidComponent component);

View File

@@ -1,13 +1,13 @@
package org.briarproject.android; package org.briarproject.android;
import java.lang.Thread.UncaughtExceptionHandler;
import java.util.logging.Logger;
import android.app.Application; import android.app.Application;
import android.content.Context; import android.content.Context;
import org.briarproject.CoreModule; import org.briarproject.CoreModule;
import java.lang.Thread.UncaughtExceptionHandler;
import java.util.logging.Logger;
public class BriarApplication extends Application { public class BriarApplication extends Application {
private static final Logger LOG = private static final Logger LOG =
@@ -18,7 +18,7 @@ public class BriarApplication extends Application {
@Override @Override
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
LOG.info("Application Created"); LOG.info("Created");
UncaughtExceptionHandler oldHandler = UncaughtExceptionHandler oldHandler =
Thread.getDefaultUncaughtExceptionHandler(); Thread.getDefaultUncaughtExceptionHandler();
Context ctx = getApplicationContext(); Context ctx = getApplicationContext();
@@ -26,8 +26,7 @@ public class BriarApplication extends Application {
Thread.setDefaultUncaughtExceptionHandler(newHandler); Thread.setDefaultUncaughtExceptionHandler(newHandler);
applicationComponent = DaggerAndroidComponent.builder() applicationComponent = DaggerAndroidComponent.builder()
.appModule(new AppModule(this)) .androidModule(new AndroidModule(this))
.androidModule(new AndroidModule())
.build(); .build();
// We need to load the eager singletons directly after making the // We need to load the eager singletons directly after making the

View File

@@ -55,8 +55,8 @@ public class BriarService extends Service {
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
((BriarApplication) this.getApplication()) BriarApplication application = (BriarApplication) getApplication();
.getApplicationComponent().inject(this); application.getApplicationComponent().inject(this);
LOG.info("Created"); LOG.info("Created");
if (created.getAndSet(true)) { if (created.getAndSet(true)) {

View File

@@ -5,7 +5,6 @@ import android.os.Bundle;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
import org.briarproject.android.AndroidComponent; import org.briarproject.android.AndroidComponent;
import org.briarproject.android.BriarActivity;
import org.briarproject.android.BriarApplication; import org.briarproject.android.BriarApplication;
public abstract class BaseFragment extends Fragment { public abstract class BaseFragment extends Fragment {
@@ -14,8 +13,6 @@ public abstract class BaseFragment extends Fragment {
protected BaseFragmentListener listener; protected BaseFragmentListener listener;
protected BriarActivity briarActivity;
@Override @Override
public void onAttach(Context context) { public void onAttach(Context context) {
super.onAttach(context); super.onAttach(context);
@@ -31,15 +28,15 @@ public abstract class BaseFragment extends Fragment {
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
AndroidComponent component = BriarApplication application =
((BriarApplication) getActivity().getApplication()) (BriarApplication) getActivity().getApplication();
.getApplicationComponent(); injectActivity(application.getApplicationComponent());
injectActivity(component);
} }
public abstract void injectActivity(AndroidComponent component); public abstract void injectActivity(AndroidComponent component);
public interface BaseFragmentListener { public interface BaseFragmentListener {
void showLoadingScreen(boolean isBlocking, int stringId); void showLoadingScreen(boolean isBlocking, int stringId);
void hideLoadingScreen(); void hideLoadingScreen();
@@ -48,5 +45,4 @@ public abstract class BaseFragment extends Fragment {
void runOnDbThread(Runnable runnable); void runOnDbThread(Runnable runnable);
} }
} }