android/app/src/main/java/com/nextcloud/client/di/ComponentsModule.java

470 lines
18 KiB
Java

/*
* Nextcloud Android client application
*
* @author Chris Narkiewicz
* Copyright (C) 2020 Chris Narkiewicz <hello@ezaquarii.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.nextcloud.client.di;
import com.nextcloud.client.documentscan.DocumentScanActivity;
import com.nextcloud.client.etm.EtmActivity;
import com.nextcloud.client.files.downloader.FileTransferService;
import com.nextcloud.client.jobs.NotificationWork;
import com.nextcloud.client.logger.ui.LogsActivity;
import com.nextcloud.client.logger.ui.LogsViewModel;
import com.nextcloud.client.media.PlayerService;
import com.nextcloud.client.migrations.Migrations;
import com.nextcloud.client.onboarding.FirstRunActivity;
import com.nextcloud.client.onboarding.WhatsNewActivity;
import com.nextcloud.client.widget.DashboardWidgetConfigurationActivity;
import com.nextcloud.client.widget.DashboardWidgetProvider;
import com.nextcloud.client.widget.DashboardWidgetService;
import com.nextcloud.ui.ChooseAccountDialogFragment;
import com.nextcloud.ui.SetStatusDialogFragment;
import com.nextcloud.ui.fileactions.FileActionsBottomSheet;
import com.owncloud.android.MainApp;
import com.owncloud.android.authentication.AuthenticatorActivity;
import com.owncloud.android.authentication.DeepLinkLoginActivity;
import com.owncloud.android.files.BootupBroadcastReceiver;
import com.owncloud.android.files.services.FileDownloader;
import com.owncloud.android.files.services.FileUploader;
import com.owncloud.android.providers.DiskLruImageCacheFileProvider;
import com.owncloud.android.providers.DocumentsStorageProvider;
import com.owncloud.android.providers.FileContentProvider;
import com.owncloud.android.providers.UsersAndGroupsSearchProvider;
import com.owncloud.android.services.AccountManagerService;
import com.owncloud.android.services.OperationsService;
import com.owncloud.android.syncadapter.FileSyncService;
import com.owncloud.android.ui.activities.ActivitiesActivity;
import com.owncloud.android.ui.activity.BaseActivity;
import com.owncloud.android.ui.activity.CommunityActivity;
import com.owncloud.android.ui.activity.ConflictsResolveActivity;
import com.owncloud.android.ui.activity.ContactsPreferenceActivity;
import com.owncloud.android.ui.activity.CopyToClipboardActivity;
import com.owncloud.android.ui.activity.DrawerActivity;
import com.owncloud.android.ui.activity.ErrorsWhileCopyingHandlerActivity;
import com.owncloud.android.ui.activity.ExternalSiteWebView;
import com.owncloud.android.ui.activity.FileActivity;
import com.owncloud.android.ui.activity.FileDisplayActivity;
import com.owncloud.android.ui.activity.FilePickerActivity;
import com.owncloud.android.ui.activity.FolderPickerActivity;
import com.owncloud.android.ui.activity.ManageAccountsActivity;
import com.owncloud.android.ui.activity.ManageSpaceActivity;
import com.owncloud.android.ui.activity.NotificationsActivity;
import com.owncloud.android.ui.activity.PassCodeActivity;
import com.owncloud.android.ui.activity.ReceiveExternalFilesActivity;
import com.owncloud.android.ui.activity.RequestCredentialsActivity;
import com.owncloud.android.ui.activity.RichDocumentsEditorWebView;
import com.owncloud.android.ui.activity.SettingsActivity;
import com.owncloud.android.ui.activity.ShareActivity;
import com.owncloud.android.ui.activity.SsoGrantPermissionActivity;
import com.owncloud.android.ui.activity.SyncedFoldersActivity;
import com.owncloud.android.ui.activity.TextEditorWebView;
import com.owncloud.android.ui.activity.ToolbarActivity;
import com.owncloud.android.ui.activity.UploadFilesActivity;
import com.owncloud.android.ui.activity.UploadListActivity;
import com.owncloud.android.ui.activity.UserInfoActivity;
import com.owncloud.android.ui.dialog.AccountRemovalConfirmationDialog;
import com.owncloud.android.ui.dialog.ChooseRichDocumentsTemplateDialogFragment;
import com.owncloud.android.ui.dialog.ChooseTemplateDialogFragment;
import com.owncloud.android.ui.dialog.ConfirmationDialogFragment;
import com.owncloud.android.ui.dialog.ConflictsResolveDialog;
import com.owncloud.android.ui.dialog.CreateFolderDialogFragment;
import com.owncloud.android.ui.dialog.ExpirationDatePickerDialogFragment;
import com.owncloud.android.ui.dialog.IndeterminateProgressDialog;
import com.owncloud.android.ui.dialog.LoadingDialog;
import com.owncloud.android.ui.dialog.LocalStoragePathPickerDialogFragment;
import com.owncloud.android.ui.dialog.MultipleAccountsDialog;
import com.owncloud.android.ui.dialog.NoteDialogFragment;
import com.owncloud.android.ui.dialog.RemoveFilesDialogFragment;
import com.owncloud.android.ui.dialog.RenameFileDialogFragment;
import com.owncloud.android.ui.dialog.RenamePublicShareDialogFragment;
import com.owncloud.android.ui.dialog.SendShareDialog;
import com.owncloud.android.ui.dialog.SetupEncryptionDialogFragment;
import com.owncloud.android.ui.dialog.SharePasswordDialogFragment;
import com.owncloud.android.ui.dialog.SortingOrderDialogFragment;
import com.owncloud.android.ui.dialog.SslUntrustedCertDialog;
import com.owncloud.android.ui.dialog.StoragePermissionDialogFragment;
import com.owncloud.android.ui.dialog.SyncFileNotEnoughSpaceDialogFragment;
import com.owncloud.android.ui.dialog.SyncedFolderPreferencesDialogFragment;
import com.owncloud.android.ui.fragment.ExtendedListFragment;
import com.owncloud.android.ui.fragment.FeatureFragment;
import com.owncloud.android.ui.fragment.FileDetailActivitiesFragment;
import com.owncloud.android.ui.fragment.FileDetailFragment;
import com.owncloud.android.ui.fragment.FileDetailSharingFragment;
import com.owncloud.android.ui.fragment.FileDetailsSharingProcessFragment;
import com.owncloud.android.ui.fragment.GalleryFragment;
import com.owncloud.android.ui.fragment.GalleryFragmentBottomSheetDialog;
import com.owncloud.android.ui.fragment.GroupfolderListFragment;
import com.owncloud.android.ui.fragment.LocalFileListFragment;
import com.owncloud.android.ui.fragment.OCFileListBottomSheetDialog;
import com.owncloud.android.ui.fragment.OCFileListFragment;
import com.owncloud.android.ui.fragment.SharedListFragment;
import com.owncloud.android.ui.fragment.UnifiedSearchFragment;
import com.owncloud.android.ui.fragment.contactsbackup.BackupFragment;
import com.owncloud.android.ui.fragment.contactsbackup.BackupListFragment;
import com.owncloud.android.ui.preview.FileDownloadFragment;
import com.owncloud.android.ui.preview.PreviewBitmapActivity;
import com.owncloud.android.ui.preview.PreviewImageActivity;
import com.owncloud.android.ui.preview.PreviewImageFragment;
import com.owncloud.android.ui.preview.PreviewMediaFragment;
import com.owncloud.android.ui.preview.PreviewTextFileFragment;
import com.owncloud.android.ui.preview.PreviewTextFragment;
import com.owncloud.android.ui.preview.PreviewTextStringFragment;
import com.owncloud.android.ui.preview.pdf.PreviewPdfFragment;
import com.owncloud.android.ui.trashbin.TrashbinActivity;
import com.owncloud.android.utils.FilesUploadHelper;
import dagger.Module;
import dagger.android.ContributesAndroidInjector;
/**
* Register classes that require dependency injection. This class is used by Dagger compiler only.
*/
@Module
abstract class ComponentsModule {
@ContributesAndroidInjector
abstract ActivitiesActivity activitiesActivity();
@ContributesAndroidInjector
abstract AuthenticatorActivity authenticatorActivity();
@ContributesAndroidInjector
abstract BaseActivity baseActivity();
@ContributesAndroidInjector
abstract ConflictsResolveActivity conflictsResolveActivity();
@ContributesAndroidInjector
abstract ContactsPreferenceActivity contactsPreferenceActivity();
@ContributesAndroidInjector
abstract CopyToClipboardActivity copyToClipboardActivity();
@ContributesAndroidInjector
abstract DeepLinkLoginActivity deepLinkLoginActivity();
@ContributesAndroidInjector
abstract DrawerActivity drawerActivity();
@ContributesAndroidInjector
abstract ErrorsWhileCopyingHandlerActivity errorsWhileCopyingHandlerActivity();
@ContributesAndroidInjector
abstract ExternalSiteWebView externalSiteWebView();
@ContributesAndroidInjector
abstract FileDisplayActivity fileDisplayActivity();
@ContributesAndroidInjector
abstract FilePickerActivity filePickerActivity();
@ContributesAndroidInjector
abstract FirstRunActivity firstRunActivity();
@ContributesAndroidInjector
abstract FolderPickerActivity folderPickerActivity();
@ContributesAndroidInjector
abstract LogsActivity logsActivity();
@ContributesAndroidInjector
abstract ManageAccountsActivity manageAccountsActivity();
@ContributesAndroidInjector
abstract ManageSpaceActivity manageSpaceActivity();
@ContributesAndroidInjector
abstract NotificationsActivity notificationsActivity();
@ContributesAndroidInjector
abstract CommunityActivity participateActivity();
@ContributesAndroidInjector
abstract PassCodeActivity passCodeActivity();
@ContributesAndroidInjector
abstract PreviewImageActivity previewImageActivity();
@ContributesAndroidInjector
abstract ReceiveExternalFilesActivity receiveExternalFilesActivity();
@ContributesAndroidInjector
abstract RequestCredentialsActivity requestCredentialsActivity();
@ContributesAndroidInjector
abstract SettingsActivity settingsActivity();
@ContributesAndroidInjector
abstract ShareActivity shareActivity();
@ContributesAndroidInjector
abstract SsoGrantPermissionActivity ssoGrantPermissionActivity();
@ContributesAndroidInjector
abstract SyncedFoldersActivity syncedFoldersActivity();
@ContributesAndroidInjector
abstract TrashbinActivity trashbinActivity();
@ContributesAndroidInjector
abstract UploadFilesActivity uploadFilesActivity();
@ContributesAndroidInjector
abstract UploadListActivity uploadListActivity();
@ContributesAndroidInjector
abstract UserInfoActivity userInfoActivity();
@ContributesAndroidInjector
abstract WhatsNewActivity whatsNewActivity();
@ContributesAndroidInjector
abstract EtmActivity etmActivity();
@ContributesAndroidInjector
abstract RichDocumentsEditorWebView richDocumentsWebView();
@ContributesAndroidInjector
abstract TextEditorWebView textEditorWebView();
@ContributesAndroidInjector
abstract ExtendedListFragment extendedListFragment();
@ContributesAndroidInjector
abstract FileDetailFragment fileDetailFragment();
@ContributesAndroidInjector
abstract LocalFileListFragment localFileListFragment();
@ContributesAndroidInjector
abstract OCFileListFragment ocFileListFragment();
@ContributesAndroidInjector
abstract FileDetailActivitiesFragment fileDetailActivitiesFragment();
@ContributesAndroidInjector
abstract FileDetailsSharingProcessFragment fileDetailsSharingProcessFragment();
@ContributesAndroidInjector
abstract FileDetailSharingFragment fileDetailSharingFragment();
@ContributesAndroidInjector
abstract ChooseTemplateDialogFragment chooseTemplateDialogFragment();
@ContributesAndroidInjector
abstract AccountRemovalConfirmationDialog accountRemovalConfirmationDialog();
@ContributesAndroidInjector
abstract ChooseRichDocumentsTemplateDialogFragment chooseRichDocumentsTemplateDialogFragment();
@ContributesAndroidInjector
abstract BackupFragment contactsBackupFragment();
@ContributesAndroidInjector
abstract PreviewImageFragment previewImageFragment();
@ContributesAndroidInjector
abstract BackupListFragment chooseContactListFragment();
@ContributesAndroidInjector
abstract PreviewMediaFragment previewMediaFragment();
@ContributesAndroidInjector
abstract PreviewTextFragment previewTextFragment();
@ContributesAndroidInjector
abstract ChooseAccountDialogFragment chooseAccountDialogFragment();
@ContributesAndroidInjector
abstract SetStatusDialogFragment setStatusDialogFragment();
@ContributesAndroidInjector
abstract PreviewTextFileFragment previewTextFileFragment();
@ContributesAndroidInjector
abstract PreviewTextStringFragment previewTextStringFragment();
@ContributesAndroidInjector
abstract UnifiedSearchFragment searchFragment();
@ContributesAndroidInjector
abstract GalleryFragment photoFragment();
@ContributesAndroidInjector
abstract MultipleAccountsDialog multipleAccountsDialog();
@ContributesAndroidInjector
abstract ReceiveExternalFilesActivity.DialogInputUploadFilename dialogInputUploadFilename();
@ContributesAndroidInjector
abstract FileUploader fileUploader();
@ContributesAndroidInjector
abstract FileDownloader fileDownloader();
@ContributesAndroidInjector
abstract BootupBroadcastReceiver bootupBroadcastReceiver();
@ContributesAndroidInjector
abstract NotificationWork.NotificationReceiver notificationWorkBroadcastReceiver();
@ContributesAndroidInjector
abstract FileContentProvider fileContentProvider();
@ContributesAndroidInjector
abstract UsersAndGroupsSearchProvider usersAndGroupsSearchProvider();
@ContributesAndroidInjector
abstract DiskLruImageCacheFileProvider diskLruImageCacheFileProvider();
@ContributesAndroidInjector
abstract DocumentsStorageProvider documentsStorageProvider();
@ContributesAndroidInjector
abstract AccountManagerService accountManagerService();
@ContributesAndroidInjector
abstract OperationsService operationsService();
@ContributesAndroidInjector
abstract PlayerService playerService();
@ContributesAndroidInjector
abstract FileTransferService fileDownloaderService();
@ContributesAndroidInjector
abstract FileSyncService fileSyncService();
@ContributesAndroidInjector
abstract DashboardWidgetService dashboardWidgetService();
@ContributesAndroidInjector
abstract PreviewPdfFragment previewPDFFragment();
@ContributesAndroidInjector
abstract SharedListFragment sharedFragment();
@ContributesAndroidInjector
abstract FeatureFragment featureFragment();
@ContributesAndroidInjector
abstract IndeterminateProgressDialog indeterminateProgressDialog();
@ContributesAndroidInjector
abstract SortingOrderDialogFragment sortingOrderDialogFragment();
@ContributesAndroidInjector
abstract ConfirmationDialogFragment confirmationDialogFragment();
@ContributesAndroidInjector
abstract ConflictsResolveDialog conflictsResolveDialog();
@ContributesAndroidInjector
abstract CreateFolderDialogFragment createFolderDialogFragment();
@ContributesAndroidInjector
abstract ExpirationDatePickerDialogFragment expirationDatePickerDialogFragment();
@ContributesAndroidInjector
abstract FileActivity fileActivity();
@ContributesAndroidInjector
abstract FileDownloadFragment fileDownloadFragment();
@ContributesAndroidInjector
abstract LoadingDialog loadingDialog();
@ContributesAndroidInjector
abstract LocalStoragePathPickerDialogFragment localStoragePathPickerDialogFragment();
@ContributesAndroidInjector
abstract LogsViewModel logsViewModel();
@ContributesAndroidInjector
abstract MainApp mainApp();
@ContributesAndroidInjector
abstract Migrations migrations();
@ContributesAndroidInjector
abstract NoteDialogFragment noteDialogFragment();
@ContributesAndroidInjector
abstract NotificationWork notificationWork();
@ContributesAndroidInjector
abstract RemoveFilesDialogFragment removeFilesDialogFragment();
@ContributesAndroidInjector
abstract RenamePublicShareDialogFragment renamePublicShareDialogFragment();
@ContributesAndroidInjector
abstract SendShareDialog sendShareDialog();
@ContributesAndroidInjector
abstract SetupEncryptionDialogFragment setupEncryptionDialogFragment();
@ContributesAndroidInjector
abstract SharePasswordDialogFragment sharePasswordDialogFragment();
@ContributesAndroidInjector
abstract SyncedFolderPreferencesDialogFragment syncedFolderPreferencesDialogFragment();
@ContributesAndroidInjector
abstract ToolbarActivity toolbarActivity();
@ContributesAndroidInjector
abstract StoragePermissionDialogFragment storagePermissionDialogFragment();
@ContributesAndroidInjector
abstract OCFileListBottomSheetDialog ocfileListBottomSheetDialog();
@ContributesAndroidInjector
abstract RenameFileDialogFragment renameFileDialogFragment();
@ContributesAndroidInjector
abstract SyncFileNotEnoughSpaceDialogFragment syncFileNotEnoughSpaceDialogFragment();
@ContributesAndroidInjector
abstract DashboardWidgetConfigurationActivity dashboardWidgetConfigurationActivity();
@ContributesAndroidInjector
abstract DashboardWidgetProvider dashboardWidgetProvider();
@ContributesAndroidInjector
abstract GalleryFragmentBottomSheetDialog galleryFragmentBottomSheetDialog();
@ContributesAndroidInjector
abstract PreviewBitmapActivity previewBitmapActivity();
@ContributesAndroidInjector
abstract FilesUploadHelper filesUploadHelper();
@ContributesAndroidInjector
abstract SslUntrustedCertDialog sslUntrustedCertDialog();
@ContributesAndroidInjector
abstract FileActionsBottomSheet fileActionsBottomSheet();
@ContributesAndroidInjector
abstract DocumentScanActivity documentScanActivity();
@ContributesAndroidInjector
abstract GroupfolderListFragment groupfolderListFragment();
}