mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
58 lines
No EOL
1.4 KiB
Java
58 lines
No EOL
1.4 KiB
Java
package eu.kanade.mangafeed.data;
|
|
|
|
import android.app.Application;
|
|
|
|
import javax.inject.Singleton;
|
|
|
|
import dagger.Module;
|
|
import dagger.Provides;
|
|
import eu.kanade.mangafeed.data.caches.CacheManager;
|
|
import eu.kanade.mangafeed.data.helpers.DatabaseHelper;
|
|
import eu.kanade.mangafeed.data.helpers.NetworkHelper;
|
|
import eu.kanade.mangafeed.data.helpers.PreferencesHelper;
|
|
import eu.kanade.mangafeed.data.helpers.SourceManager;
|
|
import rx.Scheduler;
|
|
import rx.schedulers.Schedulers;
|
|
|
|
/**
|
|
* Provide dependencies to the DataManager, mainly Helper classes and Retrofit services.
|
|
*/
|
|
@Module
|
|
public class DataModule {
|
|
|
|
@Provides
|
|
@Singleton
|
|
PreferencesHelper providePreferencesHelper(Application app) {
|
|
return new PreferencesHelper(app);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
DatabaseHelper provideDatabaseHelper(Application app) {
|
|
return new DatabaseHelper(app);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
Scheduler provideSubscribeScheduler() {
|
|
return Schedulers.io();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
CacheManager provideCacheManager(Application app) {
|
|
return new CacheManager(app);
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
NetworkHelper provideNetworkHelper() {
|
|
return new NetworkHelper();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
SourceManager provideSourceManager(NetworkHelper networkHelper, CacheManager cacheManager) {
|
|
return new SourceManager(networkHelper, cacheManager);
|
|
}
|
|
} |