mihon/app/src/main/java/eu/kanade/mangafeed/App.java

62 lines
1.8 KiB
Java
Raw Normal View History

2015-09-24 17:27:43 +02:00
package eu.kanade.mangafeed;
import android.app.Application;
import android.content.Context;
2015-10-05 12:47:10 +02:00
import org.acra.annotation.ReportsCrashes;
2015-09-24 17:27:43 +02:00
import timber.log.Timber;
2015-10-05 12:47:10 +02:00
@ReportsCrashes(
formUri = "http://couch.kanade.eu/acra-manga/_design/acra-storage/_update/report",
reportType = org.acra.sender.HttpSender.Type.JSON,
httpMethod = org.acra.sender.HttpSender.Method.PUT,
formUriBasicAuthLogin="test",
formUriBasicAuthPassword="test"
)
2015-09-24 17:27:43 +02:00
public class App extends Application {
AppComponent mApplicationComponent;
2015-10-16 19:31:18 +02:00
ComponentReflectionInjector<AppComponent> mComponentInjector;
2015-09-24 17:27:43 +02:00
@Override
public void onCreate() {
super.onCreate();
if (BuildConfig.DEBUG) Timber.plant(new Timber.DebugTree());
mApplicationComponent = DaggerAppComponent.builder()
.appModule(new AppModule(this))
.build();
2015-10-05 12:47:10 +02:00
2015-10-16 19:31:18 +02:00
mComponentInjector =
new ComponentReflectionInjector<>(AppComponent.class, mApplicationComponent);
2015-10-06 19:44:30 +02:00
//ACRA.init(this);
2015-09-24 17:27:43 +02:00
}
public static App get(Context context) {
return (App) context.getApplicationContext();
}
public AppComponent getComponent() {
return mApplicationComponent;
}
2015-10-16 19:31:18 +02:00
public ComponentReflectionInjector<AppComponent> getComponentReflection() {
return mComponentInjector;
}
public static ComponentReflectionInjector<AppComponent> getComponentReflection(Context context) {
return get(context).getComponentReflection();
}
2015-09-26 14:25:18 +02:00
public static AppComponent getComponent(Context context) {
return get(context).getComponent();
}
2015-09-24 17:27:43 +02:00
// Needed to replace the component with a test specific one
public void setComponent(AppComponent applicationComponent) {
mApplicationComponent = applicationComponent;
}
}