mihon/app/src/main/java/eu/kanade/mangafeed/App.java
inorichi e1b68f66f2 Changes:
- Declare RxJava as dependency
- Add a folder chooser for downloads
- Fix a force close when updating library
- Enable ACRA and add a setting to send crash reports
- Manga class now uses the default get resolver
- Other minor changes
2015-12-08 19:39:57 +01:00

58 lines
1.8 KiB
Java

package eu.kanade.mangafeed;
import android.app.Application;
import android.content.Context;
import org.acra.ACRA;
import org.acra.annotation.ReportsCrashes;
import eu.kanade.mangafeed.injection.ComponentReflectionInjector;
import eu.kanade.mangafeed.injection.component.AppComponent;
import eu.kanade.mangafeed.injection.component.DaggerAppComponent;
import eu.kanade.mangafeed.injection.module.AppModule;
import timber.log.Timber;
@ReportsCrashes(
formUri = "http://mangafeed.kanade.eu/crash_report",
reportType = org.acra.sender.HttpSender.Type.JSON,
httpMethod = org.acra.sender.HttpSender.Method.PUT,
excludeMatchingSharedPreferencesKeys={".*username.*",".*password.*"}
)
public class App extends Application {
AppComponent applicationComponent;
ComponentReflectionInjector<AppComponent> componentInjector;
@Override
public void onCreate() {
super.onCreate();
if (BuildConfig.DEBUG) Timber.plant(new Timber.DebugTree());
applicationComponent = DaggerAppComponent.builder()
.appModule(new AppModule(this))
.build();
componentInjector =
new ComponentReflectionInjector<>(AppComponent.class, applicationComponent);
ACRA.init(this);
}
public static App get(Context context) {
return (App) context.getApplicationContext();
}
public AppComponent getComponent() {
return applicationComponent;
}
public ComponentReflectionInjector<AppComponent> getComponentReflection() {
return componentInjector;
}
// Needed to replace the component with a test specific one
public void setComponent(AppComponent applicationComponent) {
this.applicationComponent = applicationComponent;
}
}