package io.c0nnector.github.paradise.application; import android.app.Activity; import android.app.Fragment; import android.content.Context; import com.squareup.otto.Bus; import com.squareup.otto.ThreadEnforcer; import io.c0nnector.github.paradise.BuildConfig; import io.c0nnector.github.paradise.modules.Modules; import timber.log.Timber; /** * Application class */ public class Application extends DaggerApplication { private static Bus bus; @Override public void onCreate() { super.onCreate(); setupLogging(); //otto initBus(); //dagger setupDagger(Modules.list(this)); } /***************************************************** * ---------------- * Logging * -------------------- * * * ****************************************************/ private void setupLogging(){ if (BuildConfig.DEBUG) { Timber.plant(new Timber.DebugTree()); } } /***************************************************** * ---------------- * Dagger * -------------------- * * * ****************************************************/ public static void inject(Activity activity) { get(activity).getObjectGraph().inject(activity); } public static void inject(Fragment fragment){ get(fragment.getActivity()).getObjectGraph().inject(fragment); } /***************************************************** * ---------------- * Bus * -------------------- * * * ****************************************************/ private void initBus(){ bus = new Bus(ThreadEnforcer.ANY); } public static Bus getBus(){ return bus; } public static void post(Object object){ bus.post(object); } /***************************************************** * ---------------- * Helpers * -------------------- * * * ****************************************************/ public static Application get(Context context){ return (Application) context.getApplicationContext(); } }