package com.khmelenko.lab.varis; import android.app.Application; import android.content.Context; import android.text.TextUtils; import com.khmelenko.lab.varis.common.Constants; import com.khmelenko.lab.varis.dagger.component.ActivityInjectionComponent; import com.khmelenko.lab.varis.dagger.component.BaseComponent; import com.khmelenko.lab.varis.dagger.component.DaggerActivityInjectionComponent; import com.khmelenko.lab.varis.dagger.component.DaggerBaseComponent; import com.khmelenko.lab.varis.storage.AppSettings; /** * Application class * * @author Dmytro Khmelenko */ public final class TravisApp extends Application { private static Context sContext; private ActivityInjectionComponent mActivityInjection; public void onCreate() { super.onCreate(); sContext = getApplicationContext(); String server = AppSettings.getServerUrl(); if (TextUtils.isEmpty(server)) { AppSettings.putServerType(0); AppSettings.putServerUrl(Constants.OPEN_SOURCE_TRAVIS_URL); } BaseComponent baseComponent = DaggerBaseComponent.create(); mActivityInjection = DaggerActivityInjectionComponent.builder() .baseComponent(baseComponent) .build(); } /** * Gets application context * * @return Application context */ public static Context getAppContext() { return sContext; } /** * Gets application instance * * @return Application instance */ public static TravisApp instance() { return (TravisApp) sContext; } /** * Gets activity injection component * * @return Activity injection component */ public ActivityInjectionComponent activityInjector() { return mActivityInjection; } }