Use kapt, remove retrolambda, migrate database and source to Kotlin
This commit is contained in:
@@ -1,62 +0,0 @@
|
||||
package eu.kanade.tachiyomi.injection.component;
|
||||
|
||||
import android.app.Application;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Component;
|
||||
import eu.kanade.tachiyomi.data.download.DownloadService;
|
||||
import eu.kanade.tachiyomi.data.library.LibraryUpdateService;
|
||||
import eu.kanade.tachiyomi.data.mangasync.UpdateMangaSyncService;
|
||||
import eu.kanade.tachiyomi.data.mangasync.base.MangaSyncService;
|
||||
import eu.kanade.tachiyomi.data.source.base.Source;
|
||||
import eu.kanade.tachiyomi.data.updater.UpdateDownloader;
|
||||
import eu.kanade.tachiyomi.injection.module.AppModule;
|
||||
import eu.kanade.tachiyomi.injection.module.DataModule;
|
||||
import eu.kanade.tachiyomi.ui.catalogue.CataloguePresenter;
|
||||
import eu.kanade.tachiyomi.ui.category.CategoryPresenter;
|
||||
import eu.kanade.tachiyomi.ui.download.DownloadPresenter;
|
||||
import eu.kanade.tachiyomi.ui.library.LibraryPresenter;
|
||||
import eu.kanade.tachiyomi.ui.manga.MangaActivity;
|
||||
import eu.kanade.tachiyomi.ui.manga.MangaPresenter;
|
||||
import eu.kanade.tachiyomi.ui.manga.chapter.ChaptersPresenter;
|
||||
import eu.kanade.tachiyomi.ui.manga.info.MangaInfoPresenter;
|
||||
import eu.kanade.tachiyomi.ui.manga.myanimelist.MyAnimeListPresenter;
|
||||
import eu.kanade.tachiyomi.ui.reader.ReaderPresenter;
|
||||
import eu.kanade.tachiyomi.ui.recent.RecentChaptersPresenter;
|
||||
import eu.kanade.tachiyomi.ui.setting.SettingsActivity;
|
||||
|
||||
@Singleton
|
||||
@Component(
|
||||
modules = {
|
||||
AppModule.class,
|
||||
DataModule.class
|
||||
}
|
||||
)
|
||||
public interface AppComponent {
|
||||
|
||||
void inject(LibraryPresenter libraryPresenter);
|
||||
void inject(MangaPresenter mangaPresenter);
|
||||
void inject(CataloguePresenter cataloguePresenter);
|
||||
void inject(MangaInfoPresenter mangaInfoPresenter);
|
||||
void inject(ChaptersPresenter chaptersPresenter);
|
||||
void inject(ReaderPresenter readerPresenter);
|
||||
void inject(DownloadPresenter downloadPresenter);
|
||||
void inject(MyAnimeListPresenter myAnimeListPresenter);
|
||||
void inject(CategoryPresenter categoryPresenter);
|
||||
void inject(RecentChaptersPresenter recentChaptersPresenter);
|
||||
|
||||
void inject(MangaActivity mangaActivity);
|
||||
void inject(SettingsActivity settingsActivity);
|
||||
|
||||
void inject(Source source);
|
||||
void inject(MangaSyncService mangaSyncService);
|
||||
|
||||
void inject(LibraryUpdateService libraryUpdateService);
|
||||
void inject(DownloadService downloadService);
|
||||
void inject(UpdateMangaSyncService updateMangaSyncService);
|
||||
|
||||
void inject(UpdateDownloader updateDownloader);
|
||||
Application application();
|
||||
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package eu.kanade.tachiyomi.injection.component
|
||||
|
||||
import android.app.Application
|
||||
import dagger.Component
|
||||
import eu.kanade.tachiyomi.data.download.DownloadService
|
||||
import eu.kanade.tachiyomi.data.library.LibraryUpdateService
|
||||
import eu.kanade.tachiyomi.data.mangasync.UpdateMangaSyncService
|
||||
import eu.kanade.tachiyomi.data.mangasync.base.MangaSyncService
|
||||
import eu.kanade.tachiyomi.data.source.base.Source
|
||||
import eu.kanade.tachiyomi.data.updater.UpdateDownloader
|
||||
import eu.kanade.tachiyomi.injection.module.AppModule
|
||||
import eu.kanade.tachiyomi.injection.module.DataModule
|
||||
import eu.kanade.tachiyomi.ui.catalogue.CataloguePresenter
|
||||
import eu.kanade.tachiyomi.ui.category.CategoryPresenter
|
||||
import eu.kanade.tachiyomi.ui.download.DownloadPresenter
|
||||
import eu.kanade.tachiyomi.ui.library.LibraryPresenter
|
||||
import eu.kanade.tachiyomi.ui.manga.MangaActivity
|
||||
import eu.kanade.tachiyomi.ui.manga.MangaPresenter
|
||||
import eu.kanade.tachiyomi.ui.manga.chapter.ChaptersPresenter
|
||||
import eu.kanade.tachiyomi.ui.manga.info.MangaInfoPresenter
|
||||
import eu.kanade.tachiyomi.ui.manga.myanimelist.MyAnimeListPresenter
|
||||
import eu.kanade.tachiyomi.ui.reader.ReaderPresenter
|
||||
import eu.kanade.tachiyomi.ui.recent.RecentChaptersPresenter
|
||||
import eu.kanade.tachiyomi.ui.setting.SettingsActivity
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Singleton
|
||||
@Component(modules = arrayOf(AppModule::class, DataModule::class))
|
||||
interface AppComponent {
|
||||
|
||||
fun inject(libraryPresenter: LibraryPresenter)
|
||||
fun inject(mangaPresenter: MangaPresenter)
|
||||
fun inject(cataloguePresenter: CataloguePresenter)
|
||||
fun inject(mangaInfoPresenter: MangaInfoPresenter)
|
||||
fun inject(chaptersPresenter: ChaptersPresenter)
|
||||
fun inject(readerPresenter: ReaderPresenter)
|
||||
fun inject(downloadPresenter: DownloadPresenter)
|
||||
fun inject(myAnimeListPresenter: MyAnimeListPresenter)
|
||||
fun inject(categoryPresenter: CategoryPresenter)
|
||||
fun inject(recentChaptersPresenter: RecentChaptersPresenter)
|
||||
|
||||
fun inject(mangaActivity: MangaActivity)
|
||||
fun inject(settingsActivity: SettingsActivity)
|
||||
|
||||
fun inject(source: Source)
|
||||
fun inject(mangaSyncService: MangaSyncService)
|
||||
|
||||
fun inject(libraryUpdateService: LibraryUpdateService)
|
||||
fun inject(downloadService: DownloadService)
|
||||
fun inject(updateMangaSyncService: UpdateMangaSyncService)
|
||||
|
||||
fun inject(updateDownloader: UpdateDownloader)
|
||||
fun application(): Application
|
||||
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
package eu.kanade.tachiyomi.injection.module;
|
||||
|
||||
import android.app.Application;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
/**
|
||||
* Provide application-level dependencies. Mainly singleton object that can be injected from
|
||||
* anywhere in the app.
|
||||
*/
|
||||
@Module
|
||||
public class AppModule {
|
||||
protected final Application mApplication;
|
||||
|
||||
public AppModule(Application application) {
|
||||
mApplication = application;
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
Application provideApplication() {
|
||||
return mApplication;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package eu.kanade.tachiyomi.injection.module
|
||||
|
||||
import android.app.Application
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import javax.inject.Singleton
|
||||
|
||||
/**
|
||||
* Provide application-level dependencies. Mainly singleton object that can be injected from
|
||||
* anywhere in the app.
|
||||
*/
|
||||
@Module
|
||||
class AppModule(private val application: Application) {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideApplication(): Application {
|
||||
return application
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,73 +0,0 @@
|
||||
package eu.kanade.tachiyomi.injection.module;
|
||||
|
||||
import android.app.Application;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import eu.kanade.tachiyomi.data.cache.ChapterCache;
|
||||
import eu.kanade.tachiyomi.data.cache.CoverCache;
|
||||
import eu.kanade.tachiyomi.data.database.DatabaseHelper;
|
||||
import eu.kanade.tachiyomi.data.download.DownloadManager;
|
||||
import eu.kanade.tachiyomi.data.mangasync.MangaSyncManager;
|
||||
import eu.kanade.tachiyomi.data.network.NetworkHelper;
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper;
|
||||
import eu.kanade.tachiyomi.data.source.SourceManager;
|
||||
|
||||
/**
|
||||
* 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
|
||||
ChapterCache provideChapterCache(Application app) {
|
||||
return new ChapterCache(app);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
CoverCache provideCoverCache(Application app) {
|
||||
return new CoverCache(app);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
NetworkHelper provideNetworkHelper(Application app) {
|
||||
return new NetworkHelper(app);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
SourceManager provideSourceManager(Application app) {
|
||||
return new SourceManager(app);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
DownloadManager provideDownloadManager(
|
||||
Application app, SourceManager sourceManager, PreferencesHelper preferences) {
|
||||
return new DownloadManager(app, sourceManager, preferences);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
MangaSyncManager provideMangaSyncManager(Application app) {
|
||||
return new MangaSyncManager(app);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package eu.kanade.tachiyomi.injection.module
|
||||
|
||||
import android.app.Application
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import eu.kanade.tachiyomi.data.cache.ChapterCache
|
||||
import eu.kanade.tachiyomi.data.cache.CoverCache
|
||||
import eu.kanade.tachiyomi.data.database.DatabaseHelper
|
||||
import eu.kanade.tachiyomi.data.download.DownloadManager
|
||||
import eu.kanade.tachiyomi.data.mangasync.MangaSyncManager
|
||||
import eu.kanade.tachiyomi.data.network.NetworkHelper
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import eu.kanade.tachiyomi.data.source.SourceManager
|
||||
import javax.inject.Singleton
|
||||
|
||||
/**
|
||||
* Provide dependencies to the DataManager, mainly Helper classes and Retrofit services.
|
||||
*/
|
||||
@Module
|
||||
open class DataModule {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun providePreferencesHelper(app: Application): PreferencesHelper {
|
||||
return PreferencesHelper(app)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
open fun provideDatabaseHelper(app: Application): DatabaseHelper {
|
||||
return DatabaseHelper(app)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideChapterCache(app: Application): ChapterCache {
|
||||
return ChapterCache(app)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideCoverCache(app: Application): CoverCache {
|
||||
return CoverCache(app)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
open fun provideNetworkHelper(app: Application): NetworkHelper {
|
||||
return NetworkHelper(app)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
open fun provideSourceManager(app: Application): SourceManager {
|
||||
return SourceManager(app)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideDownloadManager(app: Application, sourceManager: SourceManager, preferences: PreferencesHelper): DownloadManager {
|
||||
return DownloadManager(app, sourceManager, preferences)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideMangaSyncManager(app: Application): MangaSyncManager {
|
||||
return MangaSyncManager(app)
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user