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

View File

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

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;
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);

View File

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

View File

@@ -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)) {

View File

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