package nucleus.example.base;
import javax.inject.Singleton;
import dagger.Module;
import dagger.Provides;
import nucleus.example.main.MainPresenter;
import retrofit.RestAdapter;
import rx.Scheduler;
import rx.android.schedulers.AndroidSchedulers;
import static android.util.Log.v;
@Module(injects = MainPresenter.class)
public class AppModule {
@Singleton
@Provides
ServerAPI provideServerAPI() {
return new RestAdapter.Builder()
.setEndpoint(ServerAPI.ENDPOINT)
.setLogLevel(RestAdapter.LogLevel.FULL)
.setLog(new RestAdapter.Log() {
@Override
public void log(String message) {
v("Retrofit", message);
}
})
.build().create(ServerAPI.class);
}
@Provides
@Singleton
@MainThread
Scheduler provideMainScheduler() {
return AndroidSchedulers.mainThread();
}
}