package co.smartreceipts.android.di;
import android.support.v4.app.Fragment;
import co.smartreceipts.android.di.subcomponents.AutomaticBackupsInfoDialogFragmentSubcomponent;
import co.smartreceipts.android.di.subcomponents.BackupsFragmentSubcomponent;
import co.smartreceipts.android.di.subcomponents.DeleteRemoteBackupDialogFragmentSubcomponent;
import co.smartreceipts.android.di.subcomponents.DriveRecoveryDialogFragmentSubcomponent;
import co.smartreceipts.android.di.subcomponents.ExportBackupDialogFragmentSubcomponent;
import co.smartreceipts.android.di.subcomponents.GenerateReportFragmentSubcomponent;
import co.smartreceipts.android.di.subcomponents.ImportLocalBackupDialogFragmentSubcomponent;
import co.smartreceipts.android.di.subcomponents.ImportRemoteBackupDialogFragmentSubcomponent;
import co.smartreceipts.android.di.subcomponents.ReceiptCreateEditFragmentSubcomponent;
import co.smartreceipts.android.di.subcomponents.ReceiptImageFragmentSubcomponent;
import co.smartreceipts.android.di.subcomponents.ReceiptsListFragmentSubcomponent;
import co.smartreceipts.android.di.subcomponents.ReportInfoFragmentSubcomponent;
import co.smartreceipts.android.di.subcomponents.SyncErrorFragmentSubcomponent;
import co.smartreceipts.android.di.subcomponents.TripCreateEditFragmentSubcomponent;
import co.smartreceipts.android.di.subcomponents.TripFragmentSubcomponent;
import co.smartreceipts.android.fragments.GenerateReportFragment;
import co.smartreceipts.android.fragments.ReceiptImageFragment;
import co.smartreceipts.android.fragments.ReportInfoFragment;
import co.smartreceipts.android.identity.widget.di.LoginFragmentSubcomponent;
import co.smartreceipts.android.identity.widget.login.LoginFragment;
import co.smartreceipts.android.ocr.widget.configuration.OcrConfigurationFragment;
import co.smartreceipts.android.ocr.widget.di.OcrConfigurationFragmentSubcomponent;
import co.smartreceipts.android.ocr.widget.di.OcrInformationalTooltipFragmentSubcomponent;
import co.smartreceipts.android.ocr.widget.tooltip.OcrInformationalTooltipFragment;
import co.smartreceipts.android.receipts.ReceiptsListFragment;
import co.smartreceipts.android.receipts.editor.ReceiptCreateEditFragment;
import co.smartreceipts.android.sync.widget.backups.AutomaticBackupsInfoDialogFragment;
import co.smartreceipts.android.sync.widget.backups.BackupsFragment;
import co.smartreceipts.android.sync.widget.backups.DeleteRemoteBackupDialogFragment;
import co.smartreceipts.android.sync.widget.backups.ExportBackupDialogFragment;
import co.smartreceipts.android.sync.widget.backups.ImportLocalBackupDialogFragment;
import co.smartreceipts.android.sync.widget.backups.ImportRemoteBackupDialogFragment;
import co.smartreceipts.android.sync.widget.errors.DriveRecoveryDialogFragment;
import co.smartreceipts.android.sync.widget.errors.SyncErrorFragment;
import co.smartreceipts.android.trips.TripFragment;
import co.smartreceipts.android.trips.editor.TripCreateEditFragment;
import dagger.Binds;
import dagger.Module;
import dagger.android.AndroidInjector;
import dagger.android.support.FragmentKey;
import dagger.multibindings.IntoMap;
@Module(
subcomponents = {
TripFragmentSubcomponent.class,
TripCreateEditFragmentSubcomponent.class,
ReceiptCreateEditFragmentSubcomponent.class,
ReceiptImageFragmentSubcomponent.class,
ReceiptsListFragmentSubcomponent.class,
GenerateReportFragmentSubcomponent.class,
BackupsFragmentSubcomponent.class,
ReportInfoFragmentSubcomponent.class,
OcrInformationalTooltipFragmentSubcomponent.class,
DeleteRemoteBackupDialogFragmentSubcomponent.class,
AutomaticBackupsInfoDialogFragmentSubcomponent.class,
ImportRemoteBackupDialogFragmentSubcomponent.class,
SyncErrorFragmentSubcomponent.class,
DriveRecoveryDialogFragmentSubcomponent.class,
ImportLocalBackupDialogFragmentSubcomponent.class,
ExportBackupDialogFragmentSubcomponent.class,
LoginFragmentSubcomponent.class,
OcrConfigurationFragmentSubcomponent.class
}
)
public abstract class SmartReceiptsActivityBindingModule {
@Binds
@IntoMap
@FragmentKey(TripFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> tripFragmentSubcomponentBuilder(
TripFragmentSubcomponent.Builder builder);
@Binds
@IntoMap
@FragmentKey(TripCreateEditFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> tripCreateEditFragmentSubcomponentBuilder(
TripCreateEditFragmentSubcomponent.Builder builder);
@Binds
@IntoMap
@FragmentKey(ReceiptCreateEditFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> receiptCreateEditFragmentSubcomponentBuilder(
ReceiptCreateEditFragmentSubcomponent.Builder builder);
@Binds
@IntoMap
@FragmentKey(ReceiptImageFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> receiptImageFragmentSubcomponentBuilder(
ReceiptImageFragmentSubcomponent.Builder builder);
@Binds
@IntoMap
@FragmentKey(ReceiptsListFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> receiptsListFragmentSubcomponentBuilder(
ReceiptsListFragmentSubcomponent.Builder builder);
@Binds
@IntoMap
@FragmentKey(GenerateReportFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> generateReportFragmentSubcomponentBuilder(
GenerateReportFragmentSubcomponent.Builder builder);
@Binds
@IntoMap
@FragmentKey(BackupsFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> backupsFragmentBuilder(
BackupsFragmentSubcomponent.Builder builder);
@Binds
@IntoMap
@FragmentKey(ReportInfoFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> reportInfoFragmentBuilder(
ReportInfoFragmentSubcomponent.Builder builder);
@Binds
@IntoMap
@FragmentKey(OcrInformationalTooltipFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> ocrInformationalTooltipFragmentBuilder(
OcrInformationalTooltipFragmentSubcomponent.Builder builder);
@Binds
@IntoMap
@FragmentKey(DeleteRemoteBackupDialogFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> deleteRemoteBackupDialogFragmentBuilder(
DeleteRemoteBackupDialogFragmentSubcomponent.Builder builder);
@Binds
@IntoMap
@FragmentKey(AutomaticBackupsInfoDialogFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> automaticBackupsInfoDialogFragmentBuilder(
AutomaticBackupsInfoDialogFragmentSubcomponent.Builder builder);
@Binds
@IntoMap
@FragmentKey(ImportRemoteBackupDialogFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> importRemoteBackupDialogFragmentBuilder(
ImportRemoteBackupDialogFragmentSubcomponent.Builder builder);
@Binds
@IntoMap
@FragmentKey(SyncErrorFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> syncErrorFragmentBuilder(
SyncErrorFragmentSubcomponent.Builder builder);
@Binds
@IntoMap
@FragmentKey(DriveRecoveryDialogFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> driveRecoveryDialogFragmentBuilder(
DriveRecoveryDialogFragmentSubcomponent.Builder builder);
@Binds
@IntoMap
@FragmentKey(ImportLocalBackupDialogFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> importLocalBackupDialogFragmentBuilder(
ImportLocalBackupDialogFragmentSubcomponent.Builder builder);
@Binds
@IntoMap
@FragmentKey(ExportBackupDialogFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> exportBackupDialogFragmentBuilder(
ExportBackupDialogFragmentSubcomponent.Builder builder);
@Binds
@IntoMap
@FragmentKey(LoginFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> loginFragmentBuilder(
LoginFragmentSubcomponent.Builder builder);
@Binds
@IntoMap
@FragmentKey(OcrConfigurationFragment.class)
public abstract AndroidInjector.Factory<? extends Fragment> ocrInformationalFragmentBuilder(
OcrConfigurationFragmentSubcomponent.Builder builder);
}