package com.code44.finance.modules;
import android.content.Context;
import com.code44.finance.BuildConfig;
import com.code44.finance.api.currencies.CurrenciesApi;
import com.code44.finance.api.currencies.CurrenciesRequestService;
import com.code44.finance.qualifiers.ApplicationContext;
import com.code44.finance.qualifiers.Network;
import com.code44.finance.services.StartupService;
import com.code44.finance.utils.EventBus;
import java.util.concurrent.Executor;
import javax.inject.Singleton;
import dagger.Module;
import dagger.Provides;
import retrofit.RestAdapter;
@Module(
complete = false,
library = true,
injects = {
StartupService.class
}
)
public class CurrenciesApiModule {
@Provides @Singleton public CurrenciesApi provideCurrenciesApi(@Network Executor executor, @ApplicationContext Context context, EventBus eventBus, CurrenciesRequestService currenciesRequestService) {
return new CurrenciesApi(executor, context, eventBus, currenciesRequestService);
}
@Provides @Singleton public CurrenciesRequestService provideCurrenciesRequestService() {
final String endpoint = "http://rate-exchange.appspot.com";
final RestAdapter restAdapter = new RestAdapter.Builder().setEndpoint(endpoint).build();
restAdapter.setLogLevel(BuildConfig.DEBUG ? RestAdapter.LogLevel.FULL : RestAdapter.LogLevel.NONE);
return restAdapter.create(CurrenciesRequestService.class);
}
}