package com.cheikh.lazywaimai.module.library; import android.content.Context; import java.io.File; import javax.inject.Singleton; import dagger.Module; import dagger.Provides; import com.cheikh.lazywaimai.context.AppCookie; import com.cheikh.lazywaimai.module.qualifiers.ApplicationContext; import com.cheikh.lazywaimai.module.qualifiers.CacheDirectory; import com.cheikh.lazywaimai.module.qualifiers.ShareDirectory; import com.cheikh.lazywaimai.network.RestApiClient; import com.cheikh.lazywaimai.util.Constants; @Module( library = true, includes = ContextProvider.class ) public class NetworkProvider { @Provides @Singleton public RestApiClient provideRestApiClient(@CacheDirectory File cacheLocation, @ApplicationContext Context context) { RestApiClient restApiClient = new RestApiClient(context, cacheLocation); if (AppCookie.isLoggin()) { restApiClient.setToken(AppCookie.getAccessToken()); } return restApiClient; } @Provides @Singleton @CacheDirectory public File provideHttpCacheLocation(@ApplicationContext Context context) { return context.getCacheDir(); } @Provides @Singleton @ShareDirectory public File provideShareLocation(@ApplicationContext Context context) { return new File(context.getFilesDir(), Constants.Persistence.SHARE_FILE); } }