package com.arcao.trackables.data;
import android.content.Context;
import com.arcao.trackables.App;
import com.arcao.trackables.AppConstants;
import com.squareup.okhttp.Cache;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.picasso.OkHttpDownloader;
import com.squareup.picasso.Picasso;
import dagger.Module;
import dagger.Provides;
import javax.inject.Singleton;
import java.io.File;
@Module
public final class DataModule {
@Singleton
@Provides
public Picasso providePicasso(App app, OkHttpDownloader okHttpDownloader) {
return new Picasso.Builder(app).downloader(okHttpDownloader).indicatorsEnabled(true).build();
}
@Singleton
@Provides
public OkHttpDownloader provideOkHttpDownloader(OkHttpClient okHttpClient) {
return new OkHttpDownloader(okHttpClient);
}
@Singleton
@Provides
public OkHttpClient provideOkHttpClient(Context context) {
OkHttpClient client = new OkHttpClient();
File path = new File(context.getCacheDir(), "okHttp");
path.mkdirs();
client.setCache(new Cache(path, AppConstants.OKHTTP_DISK_CACHE_SIZE));
return client;
}
}