package com.knight.arch.module;
import android.content.Context;
import com.knight.arch.ClientApplication;
import java.io.File;
import javax.inject.Named;
import javax.inject.Singleton;
import dagger.Module;
import dagger.Provides;
/**
* @author andyiac
* @date 15-8-4
* @web http://blog.andyiac.com/
*/
@Module(
injects = {ClientApplication.class},
includes = {DataModule.class},
library = true
)
public class AppModule {
Context ctx;
public AppModule(Context context) {
this.ctx = context;
}
@Provides
Context provideContexts() {
return this.ctx;
}
@Provides
@Singleton
@Named("Root")
File provideCacheDir(Context ctx) {
return ctx.getCacheDir();
}
@Provides
@Singleton
@Named("Http")
File provideHttpCacheDir(@Named("Root") File root) {
return new File(root, "http");
}
@Provides
@Singleton
@Named("Data")
File provideDataCacheDir(@Named("Root") File data) {
return new File(data, "data");
}
}