package com.truckmuncher.app; import android.app.Application; import android.content.Context; import com.facebook.FacebookSdk; import com.truckmuncher.app.common.FabricKits; import com.truckmuncher.app.common.LoggerStarter; import com.truckmuncher.app.common.PRNGFixes; import com.truckmuncher.app.dagger.Modules; import com.twitter.sdk.android.core.TwitterAuthConfig; import dagger.ObjectGraph; import io.fabric.sdk.android.Fabric; public class App extends Application { private ObjectGraph objectGraph; public static App get(Context context) { return (App) context.getApplicationContext(); } @Override public void onCreate() { super.onCreate(); // Twitter should come before the graph because of logging TwitterAuthConfig authConfig = new TwitterAuthConfig(BuildConfig.TWITTER_API_KEY, BuildConfig.TWITTER_API_SECRET); Fabric.with(this, FabricKits.list(authConfig)); LoggerStarter.start(); PRNGFixes.apply(); objectGraph = ObjectGraph.create(Modules.list(this)); FacebookSdk.sdkInitialize(this); } public void inject(Object injectable) { objectGraph.inject(injectable); } public ObjectGraph appGraph() { return objectGraph; } }