package ru.ltst.u2020mvp.data; import android.app.Application; import android.net.Uri; import okhttp3.OkHttpClient; import com.jakewharton.picasso.OkHttp3Downloader; import com.squareup.picasso.Picasso; import dagger.Module; import dagger.Provides; import ru.ltst.u2020mvp.data.api.ReleaseApiModule; import ru.ltst.u2020mvp.ApplicationScope; import timber.log.Timber; @Module(includes = { DataModule.class, ReleaseApiModule.class }) public final class ReleaseDataModule { @Provides @ApplicationScope OkHttpClient provideOkHttpClient(Application app) { return DataModule.createOkHttpClient(app).build(); } @Provides @ApplicationScope Picasso providePicasso(Application app, OkHttpClient client) { return new Picasso.Builder(app) .downloader(new OkHttp3Downloader(client)) .listener(new Picasso.Listener() { @Override public void onImageLoadFailed(Picasso picasso, Uri uri, Exception e) { Timber.e(e, "Failed to load image: %s", uri); } }) .build(); } }