// Path: app/src/main/java/com/w9jds/marketbot/classes/CrestService.java
// public interface CrestService {
// 
//     @GET("/")
//     Observable<Response<CrestServerStatus>> getServer();
// 
//     @GET("/market/types/")
//     Call<CrestDictionary<CrestMarketType>> getMarketTypes(@Query("page") int page);
// 
//     @GET("/inventory/types/{typeId}/")
//     Call<CrestType> getTypeInfo(@Path("typeId") long id);
// 
//     @GET("/market/groups/")
//     Observable<Response<CrestDictionary<CrestMarketGroup>>> getMarketGroups();
// 
//     @GET("/regions/")
//     Observable<Response<CrestDictionary<CrestItem>>> getRegions();
// 
//     @GET("/market/{regionId}/orders/{orderType}/")
//     Observable<Response<CrestDictionary<CrestMarketOrder>>> getMarketOrders(@Path("regionId") long regionId,
//                                                                             @Path("orderType") String orderType,
//                                                                             @Query(value = "type", encoded = true) String typeId);
// 
//     @GET("/market/{regionId}/orders/")
//     Observable<Response<CrestDictionary<CrestMarketOrder>>> getMarketOrders(@Path("regionId") long regionId,
//                                                                             @Query(value = "type", encoded = true) String typeId);
// 
//     @GET("/market/{regionId}/history/")
//     Call<CrestDictionary<CrestMarketHistory>> getMarketHistory(@Path("regionId") final long regionId,
//                                                                @Query("type") final String typeRef);
// 
// }
// 
// Path: app/src/main/java/com/w9jds/marketbot/classes/modules/ApplicationModule.java
// @Module
// public class ApplicationModule {
// 
//     private Application application;
// 
//     public ApplicationModule(Application application) {
//         this.application = application;
//     }
// 
//     @Provides
//     @Singleton
//     Application provideApplication() {
//         return application;
//     }
// 
//     @Provides
//     @Singleton
//     SharedPreferences provideSharedPreferences(Application application) {
//         return PreferenceManager.getDefaultSharedPreferences(application);
//     }
// 
// }
// 
// Path: app/src/main/java/com/w9jds/marketbot/classes/modules/NetModule.java
// @Module
// public class NetModule {
// 
//     public static final String SINGULARITY = "https://api-sisi.testeveonline.com/";
//     public static final String TRANQUILITY = "https://crest-tq.eveonline.com/";
// 
//     String mBaseUrl;
// 
//     public NetModule(String baseUrl) {
//         this.mBaseUrl = baseUrl;
//     }
// 
//     @Provides
//     @Singleton
//     Interceptor provideInterceptor() {
//         return chain -> {
//             Request request = chain.request();
// 
//             request = request.newBuilder()
//                     .addHeader("User-Agent", "MarketBot by Jeremy Shore")
//                     .build();
// 
//             return chain.proceed(request);
//         };
//     }
// 
//     @Provides
//     @Singleton
//     Cache provideOkHttpCache(Application application) {
//         int cacheSize = 10 * 1024 * 1024;
//         return new Cache(application.getCacheDir(), cacheSize);
//     }
// 
//     @Provides
//     @Singleton
//     OkHttpClient provideOkHttpClient(Cache cache, Interceptor interceptor) {
//         return new OkHttpClient.Builder()
//                 .cache(cache)
//                 .addInterceptor(interceptor)
//                 .build();
//     }
// 
//     @Provides
//     @Singleton
//     Retrofit providePublicRetrofit(OkHttpClient okHttpClient) {
//         return new Retrofit.Builder()
//             .baseUrl(TRANQUILITY)
//             .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
//             .addConverterFactory(JacksonConverterFactory.create())
//             .client(okHttpClient)
//             .build();
//     }
// 
//     @Provides
//     @Singleton
//     public CrestService providePublicCrest(Retrofit retrofit) {
//         return retrofit.create(CrestService.class);
//     }
// }


import android.app.Application;
import android.content.SharedPreferences;
import com.w9jds.marketbot.classes.CrestService;
import com.w9jds.marketbot.classes.modules.ApplicationModule;
import com.w9jds.marketbot.classes.modules.NetModule;
import javax.inject.Singleton;
import dagger.Component;
package com.w9jds.marketbot.classes.components;





@Singleton
@Component(modules = { ApplicationModule.class, NetModule.class })
public interface BaseComponent {

    Application application();
    SharedPreferences sharedPreferences();
// Path: app/src/main/java/com/w9jds/marketbot/classes/CrestService.java
// public interface CrestService {
// 
//     @GET("/")
//     Observable<Response<CrestServerStatus>> getServer();
// 
//     @GET("/market/types/")
//     Call<CrestDictionary<CrestMarketType>> getMarketTypes(@Query("page") int page);
// 
//     @GET("/inventory/types/{typeId}/")
//     Call<CrestType> getTypeInfo(@Path("typeId") long id);
// 
//     @GET("/market/groups/")
//     Observable<Response<CrestDictionary<CrestMarketGroup>>> getMarketGroups();
// 
//     @GET("/regions/")
//     Observable<Response<CrestDictionary<CrestItem>>> getRegions();
// 
//     @GET("/market/{regionId}/orders/{orderType}/")
//     Observable<Response<CrestDictionary<CrestMarketOrder>>> getMarketOrders(@Path("regionId") long regionId,
//                                                                             @Path("orderType") String orderType,
//                                                                             @Query(value = "type", encoded = true) String typeId);
// 
//     @GET("/market/{regionId}/orders/")
//     Observable<Response<CrestDictionary<CrestMarketOrder>>> getMarketOrders(@Path("regionId") long regionId,
//                                                                             @Query(value = "type", encoded = true) String typeId);
// 
//     @GET("/market/{regionId}/history/")
//     Call<CrestDictionary<CrestMarketHistory>> getMarketHistory(@Path("regionId") final long regionId,
//                                                                @Query("type") final String typeRef);
// 
// }
// 
// Path: app/src/main/java/com/w9jds/marketbot/classes/modules/ApplicationModule.java
// @Module
// public class ApplicationModule {
// 
//     private Application application;
// 
//     public ApplicationModule(Application application) {
//         this.application = application;
//     }
// 
//     @Provides
//     @Singleton
//     Application provideApplication() {
//         return application;
//     }
// 
//     @Provides
//     @Singleton
//     SharedPreferences provideSharedPreferences(Application application) {
//         return PreferenceManager.getDefaultSharedPreferences(application);
//     }
// 
// }
// 
// Path: app/src/main/java/com/w9jds/marketbot/classes/modules/NetModule.java
// @Module
// public class NetModule {
// 
//     public static final String SINGULARITY = "https://api-sisi.testeveonline.com/";
//     public static final String TRANQUILITY = "https://crest-tq.eveonline.com/";
// 
//     String mBaseUrl;
// 
//     public NetModule(String baseUrl) {
//         this.mBaseUrl = baseUrl;
//     }
// 
//     @Provides
//     @Singleton
//     Interceptor provideInterceptor() {
//         return chain -> {
//             Request request = chain.request();
// 
//             request = request.newBuilder()
//                     .addHeader("User-Agent", "MarketBot by Jeremy Shore")
//                     .build();
// 
//             return chain.proceed(request);
//         };
//     }
// 
//     @Provides
//     @Singleton
//     Cache provideOkHttpCache(Application application) {
//         int cacheSize = 10 * 1024 * 1024;
//         return new Cache(application.getCacheDir(), cacheSize);
//     }
// 
//     @Provides
//     @Singleton
//     OkHttpClient provideOkHttpClient(Cache cache, Interceptor interceptor) {
//         return new OkHttpClient.Builder()
//                 .cache(cache)
//                 .addInterceptor(interceptor)
//                 .build();
//     }
// 
//     @Provides
//     @Singleton
//     Retrofit providePublicRetrofit(OkHttpClient okHttpClient) {
//         return new Retrofit.Builder()
//             .baseUrl(TRANQUILITY)
//             .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
//             .addConverterFactory(JacksonConverterFactory.create())
//             .client(okHttpClient)
//             .build();
//     }
// 
//     @Provides
//     @Singleton
//     public CrestService providePublicCrest(Retrofit retrofit) {
//         return retrofit.create(CrestService.class);
//     }
// }


// Path: app/src/main/java/com/w9jds/marketbot/classes/components/BaseComponent.java
import android.app.Application;
import android.content.SharedPreferences;
import com.w9jds.marketbot.classes.CrestService;
import com.w9jds.marketbot.classes.modules.ApplicationModule;
import com.w9jds.marketbot.classes.modules.NetModule;
import javax.inject.Singleton;
import dagger.Component;

package com.w9jds.marketbot.classes.components;





@Singleton
@Component(modules = { ApplicationModule.class, NetModule.class })
public interface BaseComponent {

    Application application();
    SharedPreferences sharedPreferences();
    CrestService crest();