// Path: app/src/main/java/com/khmelenko/lab/varis/common/Constants.java
// public final class Constants {
// 
//     // denied constructor
//     private Constants() {
//     }
// 
//     /**
//      * URL for open source projects
//      */
//     public static final String OPEN_SOURCE_TRAVIS_URL = "https://api.travis-ci.org";
// 
//     /**
//      * URL for private projects
//      */
//     public static final String PRIVATE_TRAVIS_URL = "https://api.travis-ci.com";
// 
//     /**
//      * URL for Github access
//      */
//     public static final String GITHUB_URL = "https://api.github.com";
// 
// }
// 
// Path: app/src/main/java/com/khmelenko/lab/varis/dagger/component/BaseComponent.java
// @Singleton
// @Component(modules = {NetworkModule.class, StorageModule.class, ApplicationModule.class,
//         AuthActivityModule.class, BuildDetailsActivityModule.class, MainActivityModule.class,
//         RepoDetailsActivityModule.class, SearchResultsActivityModule.class, AndroidSupportInjectionModule.class})
// public interface BaseComponent {
// 
//     void inject(TravisApp app);
// 
//     TravisRestClient restClient();
// 
//     RawClient rawClient();
// 
//     GitHubRestClient gitHubClient();
// 
//     CacheStorage cache();
// 
//     AppSettings appSettings();
// 
//     PresenterKeeper<MvpPresenter> presenterKeeper();
// 
//     LogsParser logsParser();
// }
// 
// Path: app/src/main/java/com/khmelenko/lab/varis/storage/AppSettings.java
// public class AppSettings {
// 
//     private static final String ACCESS_TOKEN_KEY = "TravisAccessToken";
//     private static final String SERVER_TYPE_KEY = "ServerTypeKey";
//     private static final String SERVER_URL_KEY = "ServerUrlKey";
// 
//     private SharedPreferences mSharedPreferences;
// 
//     public AppSettings(Context context) {
//         mSharedPreferences = getPreferences(context);
//     }
// 
//     /**
//      * Gets shared preferences
//      *
//      * @return Shared preferences
//      */
//     private SharedPreferences getPreferences(Context context) {
//         return PreferenceManager.getDefaultSharedPreferences(context);
//     }
// 
//     /**
//      * Gets access token
//      *
//      * @return Access token
//      */
//     public String getAccessToken() {
//         return mSharedPreferences.getString(ACCESS_TOKEN_KEY, "");
//     }
// 
//     /**
//      * Puts access token to settings
//      *
//      * @param accessToken Access token
//      */
//     public void putAccessToken(String accessToken) {
//         SharedPreferences.Editor editor = mSharedPreferences.edit();
//         editor.putString(ACCESS_TOKEN_KEY, accessToken);
//         editor.apply();
//     }
// 
//     /**
//      * Gets server type from Settings
//      *
//      * @return Server type
//      */
//     public int getServerType() {
//         return mSharedPreferences.getInt(SERVER_TYPE_KEY, 1);
//     }
// 
//     /**
//      * Puts server type to the settings
//      *
//      * @param serverType Server type
//      */
//     public void putServerType(int serverType) {
//         SharedPreferences.Editor editor = mSharedPreferences.edit();
//         editor.putInt(SERVER_TYPE_KEY, serverType);
//         editor.apply();
//     }
// 
//     /**
//      * Gets server url from Settings
//      *
//      * @return Server type
//      */
//     public String getServerUrl() {
//         return mSharedPreferences.getString(SERVER_URL_KEY, "");
//     }
// 
//     /**
//      * Puts server url to the settings
//      *
//      * @param serverUrl Server type
//      */
//     public void putServerUrl(String serverUrl) {
//         SharedPreferences.Editor editor = mSharedPreferences.edit();
//         editor.putString(SERVER_URL_KEY, serverUrl);
//         editor.apply();
//     }
// 
// }


import android.app.Activity;
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.BaseComponent;
import com.khmelenko.lab.varis.dagger.component.DaggerBaseComponent;
import com.khmelenko.lab.varis.storage.AppSettings;
import javax.inject.Inject;
import dagger.android.AndroidInjector;
import dagger.android.DispatchingAndroidInjector;
import dagger.android.HasActivityInjector;
package com.khmelenko.lab.varis;





/**
 * Application class
 *
 * @author Dmytro Khmelenko
 */
public final class TravisApp extends Application implements HasActivityInjector {

    @Inject
    DispatchingAndroidInjector<Activity> mDispatchingActivityInjector;

    private static Context sContext;

    public void onCreate() {
        super.onCreate();
        sContext = getApplicationContext();

        BaseComponent baseComponent = DaggerBaseComponent.create();
// Path: app/src/main/java/com/khmelenko/lab/varis/common/Constants.java
// public final class Constants {
// 
//     // denied constructor
//     private Constants() {
//     }
// 
//     /**
//      * URL for open source projects
//      */
//     public static final String OPEN_SOURCE_TRAVIS_URL = "https://api.travis-ci.org";
// 
//     /**
//      * URL for private projects
//      */
//     public static final String PRIVATE_TRAVIS_URL = "https://api.travis-ci.com";
// 
//     /**
//      * URL for Github access
//      */
//     public static final String GITHUB_URL = "https://api.github.com";
// 
// }
// 
// Path: app/src/main/java/com/khmelenko/lab/varis/dagger/component/BaseComponent.java
// @Singleton
// @Component(modules = {NetworkModule.class, StorageModule.class, ApplicationModule.class,
//         AuthActivityModule.class, BuildDetailsActivityModule.class, MainActivityModule.class,
//         RepoDetailsActivityModule.class, SearchResultsActivityModule.class, AndroidSupportInjectionModule.class})
// public interface BaseComponent {
// 
//     void inject(TravisApp app);
// 
//     TravisRestClient restClient();
// 
//     RawClient rawClient();
// 
//     GitHubRestClient gitHubClient();
// 
//     CacheStorage cache();
// 
//     AppSettings appSettings();
// 
//     PresenterKeeper<MvpPresenter> presenterKeeper();
// 
//     LogsParser logsParser();
// }
// 
// Path: app/src/main/java/com/khmelenko/lab/varis/storage/AppSettings.java
// public class AppSettings {
// 
//     private static final String ACCESS_TOKEN_KEY = "TravisAccessToken";
//     private static final String SERVER_TYPE_KEY = "ServerTypeKey";
//     private static final String SERVER_URL_KEY = "ServerUrlKey";
// 
//     private SharedPreferences mSharedPreferences;
// 
//     public AppSettings(Context context) {
//         mSharedPreferences = getPreferences(context);
//     }
// 
//     /**
//      * Gets shared preferences
//      *
//      * @return Shared preferences
//      */
//     private SharedPreferences getPreferences(Context context) {
//         return PreferenceManager.getDefaultSharedPreferences(context);
//     }
// 
//     /**
//      * Gets access token
//      *
//      * @return Access token
//      */
//     public String getAccessToken() {
//         return mSharedPreferences.getString(ACCESS_TOKEN_KEY, "");
//     }
// 
//     /**
//      * Puts access token to settings
//      *
//      * @param accessToken Access token
//      */
//     public void putAccessToken(String accessToken) {
//         SharedPreferences.Editor editor = mSharedPreferences.edit();
//         editor.putString(ACCESS_TOKEN_KEY, accessToken);
//         editor.apply();
//     }
// 
//     /**
//      * Gets server type from Settings
//      *
//      * @return Server type
//      */
//     public int getServerType() {
//         return mSharedPreferences.getInt(SERVER_TYPE_KEY, 1);
//     }
// 
//     /**
//      * Puts server type to the settings
//      *
//      * @param serverType Server type
//      */
//     public void putServerType(int serverType) {
//         SharedPreferences.Editor editor = mSharedPreferences.edit();
//         editor.putInt(SERVER_TYPE_KEY, serverType);
//         editor.apply();
//     }
// 
//     /**
//      * Gets server url from Settings
//      *
//      * @return Server type
//      */
//     public String getServerUrl() {
//         return mSharedPreferences.getString(SERVER_URL_KEY, "");
//     }
// 
//     /**
//      * Puts server url to the settings
//      *
//      * @param serverUrl Server type
//      */
//     public void putServerUrl(String serverUrl) {
//         SharedPreferences.Editor editor = mSharedPreferences.edit();
//         editor.putString(SERVER_URL_KEY, serverUrl);
//         editor.apply();
//     }
// 
// }


// Path: app/src/main/java/com/khmelenko/lab/varis/TravisApp.java
import android.app.Activity;
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.BaseComponent;
import com.khmelenko.lab.varis.dagger.component.DaggerBaseComponent;
import com.khmelenko.lab.varis.storage.AppSettings;
import javax.inject.Inject;
import dagger.android.AndroidInjector;
import dagger.android.DispatchingAndroidInjector;
import dagger.android.HasActivityInjector;

package com.khmelenko.lab.varis;





/**
 * Application class
 *
 * @author Dmytro Khmelenko
 */
public final class TravisApp extends Application implements HasActivityInjector {

    @Inject
    DispatchingAndroidInjector<Activity> mDispatchingActivityInjector;

    private static Context sContext;

    public void onCreate() {
        super.onCreate();
        sContext = getApplicationContext();

        BaseComponent baseComponent = DaggerBaseComponent.create();
        baseComponent.inject(this);