package com.mortarnav;
import android.app.Application;
import com.mortarnav.deps.WithAppDependencies;
import architect.robot.DaggerService;
import autodagger.AutoComponent;
import mortar.MortarScope;
import timber.log.Timber;
/**
* @author Lukasz Piliszczuk - lukasz.pili@gmail.com
*/
@AutoComponent(superinterfaces = WithAppDependencies.class)
@DaggerScope(App.class)
public class App extends Application {
private MortarScope scope;
@Override
public Object getSystemService(String name) {
return (scope != null && scope.hasService(name)) ? scope.getService(name) : super.getSystemService(name);
}
@Override
public void onCreate() {
super.onCreate();
if (BuildConfig.DEBUG) {
Timber.plant(new Timber.DebugTree());
}
AppComponent component = DaggerAppComponent.create();
scope = MortarScope.buildRootScope()
.withService(DaggerService.SERVICE_NAME, component)
.build("Root");
}
}