wulkanowy-mod/app/src/main/java/io/github/wulkanowy/WulkanowyApp.java

72 lines
2.1 KiB
Java
Raw Normal View History

2018-01-02 14:55:58 -06:00
package io.github.wulkanowy;
import android.app.Application;
2018-01-11 14:57:41 -06:00
import com.crashlytics.android.Crashlytics;
import com.crashlytics.android.core.CrashlyticsCore;
import org.greenrobot.greendao.query.QueryBuilder;
2018-03-04 05:49:16 -06:00
import javax.inject.Inject;
import eu.davidea.flexibleadapter.FlexibleAdapter;
import eu.davidea.flexibleadapter.utils.Log;
2018-01-11 14:57:41 -06:00
import io.fabric.sdk.android.Fabric;
2018-03-04 05:49:16 -06:00
import io.github.wulkanowy.data.RepositoryContract;
import io.github.wulkanowy.di.component.ApplicationComponent;
import io.github.wulkanowy.di.component.DaggerApplicationComponent;
import io.github.wulkanowy.di.modules.ApplicationModule;
2018-03-13 12:19:04 -05:00
import io.github.wulkanowy.utils.LogUtils;
public class WulkanowyApp extends Application {
2018-03-04 05:49:16 -06:00
protected ApplicationComponent applicationComponent;
2018-03-04 05:49:16 -06:00
@Inject
RepositoryContract repository;
@Override
public void onCreate() {
super.onCreate();
2018-03-04 05:49:16 -06:00
applicationComponent = DaggerApplicationComponent
.builder()
.applicationModule(new ApplicationModule(this))
.build();
applicationComponent.inject(this);
2018-01-02 14:55:58 -06:00
if (BuildConfig.DEBUG) {
enableDebugLog();
}
2018-03-04 09:53:53 -06:00
initializeFabric();
2018-03-13 12:19:04 -05:00
initializeUserSession();
}
private void initializeUserSession() {
if (repository.getCurrentUserId() != 0) {
try {
repository.initLastUser();
} catch (Exception e) {
LogUtils.error("An error occurred when the application was started", e);
}
}
}
private void enableDebugLog() {
QueryBuilder.LOG_VALUES = true;
FlexibleAdapter.enableLogs(Log.Level.DEBUG);
}
2018-01-11 14:57:41 -06:00
private void initializeFabric() {
Fabric.with(new Fabric.Builder(this)
.kits(new Crashlytics.Builder()
.core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
.build())
.debuggable(BuildConfig.DEBUG)
.build());
}
2018-03-04 09:53:53 -06:00
public ApplicationComponent getApplicationComponent() {
return applicationComponent;
}
}