package org.liberty.android.fantastischmemo.modules; import android.content.Context; import android.content.SharedPreferences; import org.greenrobot.eventbus.EventBus; import org.liberty.android.fantastischmemo.common.AMApplication; import org.liberty.android.fantastischmemo.converter.Converter; import org.liberty.android.fantastischmemo.downloader.common.DownloaderUtils; import org.liberty.android.fantastischmemo.downloader.dropbox.DropboxApiHelper; import org.liberty.android.fantastischmemo.downloader.google.GoogleDriveDownloadHelper; import org.liberty.android.fantastischmemo.downloader.quizlet.QuizletDownloadHelper; import org.liberty.android.fantastischmemo.entity.Option; import org.liberty.android.fantastischmemo.entity.SchedulingAlgorithmParameters; import org.liberty.android.fantastischmemo.scheduler.Scheduler; import org.liberty.android.fantastischmemo.service.AnyMemoService; import org.liberty.android.fantastischmemo.service.CardPlayerService; import org.liberty.android.fantastischmemo.service.ConvertIntentService; import org.liberty.android.fantastischmemo.ui.QuizActivity; import org.liberty.android.fantastischmemo.ui.StudyActivity; import org.liberty.android.fantastischmemo.utils.AMDateUtil; import org.liberty.android.fantastischmemo.utils.AMFileUtil; import org.liberty.android.fantastischmemo.utils.AMPrefUtil; import org.liberty.android.fantastischmemo.utils.AMUiUtil; import org.liberty.android.fantastischmemo.utils.DatabaseUtil; import org.liberty.android.fantastischmemo.utils.RecentListUtil; import org.liberty.android.fantastischmemo.widget.WidgetRemoteViewsFactory; import java.util.Map; import dagger.Component; import okhttp3.OkHttpClient; @PerApplication @Component(modules = AppModules.class) public interface AppComponents { AMApplication application(); Scheduler scheduler(); SharedPreferences sharedPreferences(); AMFileUtil amFileUtil(); AMPrefUtil amPrefUtil(); AMDateUtil amDateUtil(); AMUiUtil amUiUtil(); OkHttpClient okHttpClient(); RecentListUtil recenetListUtil(); SchedulingAlgorithmParameters schedulingAlgorithmParameters(); DownloaderUtils downloaderUtils(); DatabaseUtil databaseUtil(); DropboxApiHelper dropboxApiHelper(); QuizletDownloadHelper quizletDownloadHelper(); EventBus eventBus(); Map<Class<?>, Converter> converterMap(); Option option(); @ForApplication Context applicationContext(); void inject(StudyActivity.LearnQueueManagerLoader loader); void inject(QuizActivity.QuizQueueManagerLoader loader); void inject(AnyMemoService service); void inject(CardPlayerService service); void inject(ConvertIntentService service); void inject(WidgetRemoteViewsFactory factory); void inject(GoogleDriveDownloadHelper helper); }