ComponentsModule.java 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500
  1. /*
  2. * Nextcloud - Android Client
  3. *
  4. * SPDX-FileCopyrightText: 2020 Chris Narkiewicz <hello@ezaquarii.com>
  5. * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
  6. */
  7. package com.nextcloud.client.di;
  8. import com.nextcloud.client.documentscan.DocumentScanActivity;
  9. import com.nextcloud.client.editimage.EditImageActivity;
  10. import com.nextcloud.client.etm.EtmActivity;
  11. import com.nextcloud.client.etm.pages.EtmBackgroundJobsFragment;
  12. import com.nextcloud.client.jobs.BackgroundJobManagerImpl;
  13. import com.nextcloud.client.jobs.NotificationWork;
  14. import com.nextcloud.client.jobs.TestJob;
  15. import com.nextcloud.client.jobs.transfer.FileTransferService;
  16. import com.nextcloud.client.jobs.upload.FileUploadHelper;
  17. import com.nextcloud.client.logger.ui.LogsActivity;
  18. import com.nextcloud.client.logger.ui.LogsViewModel;
  19. import com.nextcloud.client.media.BackgroundPlayerService;
  20. import com.nextcloud.client.media.PlayerService;
  21. import com.nextcloud.client.migrations.Migrations;
  22. import com.nextcloud.client.onboarding.FirstRunActivity;
  23. import com.nextcloud.client.onboarding.WhatsNewActivity;
  24. import com.nextcloud.client.widget.DashboardWidgetConfigurationActivity;
  25. import com.nextcloud.client.widget.DashboardWidgetProvider;
  26. import com.nextcloud.client.widget.DashboardWidgetService;
  27. import com.nextcloud.receiver.NetworkChangeReceiver;
  28. import com.nextcloud.ui.ChooseAccountDialogFragment;
  29. import com.nextcloud.ui.ChooseStorageLocationDialogFragment;
  30. import com.nextcloud.ui.ImageDetailFragment;
  31. import com.nextcloud.ui.SetStatusDialogFragment;
  32. import com.nextcloud.ui.composeActivity.ComposeActivity;
  33. import com.nextcloud.ui.fileactions.FileActionsBottomSheet;
  34. import com.nmc.android.ui.LauncherActivity;
  35. import com.owncloud.android.MainApp;
  36. import com.owncloud.android.authentication.AuthenticatorActivity;
  37. import com.owncloud.android.authentication.DeepLinkLoginActivity;
  38. import com.owncloud.android.files.BootupBroadcastReceiver;
  39. import com.owncloud.android.providers.DiskLruImageCacheFileProvider;
  40. import com.owncloud.android.providers.DocumentsStorageProvider;
  41. import com.owncloud.android.providers.FileContentProvider;
  42. import com.owncloud.android.providers.UsersAndGroupsSearchProvider;
  43. import com.owncloud.android.services.AccountManagerService;
  44. import com.owncloud.android.services.OperationsService;
  45. import com.owncloud.android.syncadapter.FileSyncService;
  46. import com.owncloud.android.ui.activities.ActivitiesActivity;
  47. import com.owncloud.android.ui.activity.BaseActivity;
  48. import com.owncloud.android.ui.activity.CommunityActivity;
  49. import com.owncloud.android.ui.activity.ConflictsResolveActivity;
  50. import com.owncloud.android.ui.activity.ContactsPreferenceActivity;
  51. import com.owncloud.android.ui.activity.CopyToClipboardActivity;
  52. import com.owncloud.android.ui.activity.DrawerActivity;
  53. import com.owncloud.android.ui.activity.ErrorsWhileCopyingHandlerActivity;
  54. import com.owncloud.android.ui.activity.ExternalSiteWebView;
  55. import com.owncloud.android.ui.activity.FileActivity;
  56. import com.owncloud.android.ui.activity.FileDisplayActivity;
  57. import com.owncloud.android.ui.activity.FilePickerActivity;
  58. import com.owncloud.android.ui.activity.FolderPickerActivity;
  59. import com.owncloud.android.ui.activity.InternalTwoWaySyncActivity;
  60. import com.owncloud.android.ui.activity.ManageAccountsActivity;
  61. import com.owncloud.android.ui.activity.ManageSpaceActivity;
  62. import com.owncloud.android.ui.activity.NotificationsActivity;
  63. import com.owncloud.android.ui.activity.PassCodeActivity;
  64. import com.owncloud.android.ui.activity.ReceiveExternalFilesActivity;
  65. import com.owncloud.android.ui.activity.RequestCredentialsActivity;
  66. import com.owncloud.android.ui.activity.RichDocumentsEditorWebView;
  67. import com.owncloud.android.ui.activity.SettingsActivity;
  68. import com.owncloud.android.ui.activity.ShareActivity;
  69. import com.owncloud.android.ui.activity.SsoGrantPermissionActivity;
  70. import com.owncloud.android.ui.activity.SyncedFoldersActivity;
  71. import com.owncloud.android.ui.activity.TextEditorWebView;
  72. import com.owncloud.android.ui.activity.ToolbarActivity;
  73. import com.owncloud.android.ui.activity.UploadFilesActivity;
  74. import com.owncloud.android.ui.activity.UploadListActivity;
  75. import com.owncloud.android.ui.activity.UserInfoActivity;
  76. import com.owncloud.android.ui.dialog.AccountRemovalDialog;
  77. import com.owncloud.android.ui.dialog.ChooseRichDocumentsTemplateDialogFragment;
  78. import com.owncloud.android.ui.dialog.ChooseTemplateDialogFragment;
  79. import com.owncloud.android.ui.dialog.ConfirmationDialogFragment;
  80. import com.owncloud.android.ui.dialog.ConflictsResolveDialog;
  81. import com.owncloud.android.ui.dialog.CreateFolderDialogFragment;
  82. import com.owncloud.android.ui.dialog.ExpirationDatePickerDialogFragment;
  83. import com.owncloud.android.ui.dialog.IndeterminateProgressDialog;
  84. import com.owncloud.android.ui.dialog.LoadingDialog;
  85. import com.owncloud.android.ui.dialog.LocalStoragePathPickerDialogFragment;
  86. import com.owncloud.android.ui.dialog.MultipleAccountsDialog;
  87. import com.owncloud.android.ui.dialog.RemoveFilesDialogFragment;
  88. import com.owncloud.android.ui.dialog.RenameFileDialogFragment;
  89. import com.owncloud.android.ui.dialog.RenamePublicShareDialogFragment;
  90. import com.owncloud.android.ui.dialog.SendFilesDialog;
  91. import com.owncloud.android.ui.dialog.SendShareDialog;
  92. import com.owncloud.android.ui.dialog.SharePasswordDialogFragment;
  93. import com.owncloud.android.ui.dialog.SortingOrderDialogFragment;
  94. import com.owncloud.android.ui.dialog.SslUntrustedCertDialog;
  95. import com.owncloud.android.ui.dialog.StoragePermissionDialogFragment;
  96. import com.owncloud.android.ui.dialog.SyncFileNotEnoughSpaceDialogFragment;
  97. import com.owncloud.android.ui.dialog.SyncedFolderPreferencesDialogFragment;
  98. import com.owncloud.android.ui.dialog.setupEncryption.SetupEncryptionDialogFragment;
  99. import com.owncloud.android.ui.fragment.ExtendedListFragment;
  100. import com.owncloud.android.ui.fragment.FeatureFragment;
  101. import com.owncloud.android.ui.fragment.FileDetailActivitiesFragment;
  102. import com.owncloud.android.ui.fragment.FileDetailFragment;
  103. import com.owncloud.android.ui.fragment.FileDetailSharingFragment;
  104. import com.owncloud.android.ui.fragment.FileDetailsSharingProcessFragment;
  105. import com.owncloud.android.ui.fragment.GalleryFragment;
  106. import com.owncloud.android.ui.fragment.GalleryFragmentBottomSheetDialog;
  107. import com.owncloud.android.ui.fragment.GroupfolderListFragment;
  108. import com.owncloud.android.ui.fragment.LocalFileListFragment;
  109. import com.owncloud.android.ui.fragment.OCFileListBottomSheetDialog;
  110. import com.owncloud.android.ui.fragment.OCFileListFragment;
  111. import com.owncloud.android.ui.fragment.SharedListFragment;
  112. import com.owncloud.android.ui.fragment.UnifiedSearchFragment;
  113. import com.owncloud.android.ui.fragment.contactsbackup.BackupFragment;
  114. import com.owncloud.android.ui.fragment.contactsbackup.BackupListFragment;
  115. import com.owncloud.android.ui.preview.FileDownloadFragment;
  116. import com.owncloud.android.ui.preview.PreviewBitmapActivity;
  117. import com.owncloud.android.ui.preview.PreviewImageActivity;
  118. import com.owncloud.android.ui.preview.PreviewImageFragment;
  119. import com.owncloud.android.ui.preview.PreviewMediaActivity;
  120. import com.owncloud.android.ui.preview.PreviewMediaFragment;
  121. import com.owncloud.android.ui.preview.PreviewTextFileFragment;
  122. import com.owncloud.android.ui.preview.PreviewTextFragment;
  123. import com.owncloud.android.ui.preview.PreviewTextStringFragment;
  124. import com.owncloud.android.ui.preview.pdf.PreviewPdfFragment;
  125. import com.owncloud.android.ui.trashbin.TrashbinActivity;
  126. import androidx.annotation.OptIn;
  127. import androidx.media3.common.util.UnstableApi;
  128. import dagger.Module;
  129. import dagger.android.ContributesAndroidInjector;
  130. /**
  131. * Register classes that require dependency injection. This class is used by Dagger compiler only.
  132. */
  133. @Module
  134. abstract class ComponentsModule {
  135. @ContributesAndroidInjector
  136. abstract ActivitiesActivity activitiesActivity();
  137. @ContributesAndroidInjector
  138. abstract AuthenticatorActivity authenticatorActivity();
  139. @ContributesAndroidInjector
  140. abstract BaseActivity baseActivity();
  141. @ContributesAndroidInjector
  142. abstract ConflictsResolveActivity conflictsResolveActivity();
  143. @ContributesAndroidInjector
  144. abstract ContactsPreferenceActivity contactsPreferenceActivity();
  145. @ContributesAndroidInjector
  146. abstract CopyToClipboardActivity copyToClipboardActivity();
  147. @ContributesAndroidInjector
  148. abstract DeepLinkLoginActivity deepLinkLoginActivity();
  149. @ContributesAndroidInjector
  150. abstract DrawerActivity drawerActivity();
  151. @ContributesAndroidInjector
  152. abstract ErrorsWhileCopyingHandlerActivity errorsWhileCopyingHandlerActivity();
  153. @ContributesAndroidInjector
  154. abstract ExternalSiteWebView externalSiteWebView();
  155. @ContributesAndroidInjector
  156. abstract FileDisplayActivity fileDisplayActivity();
  157. @ContributesAndroidInjector
  158. abstract FilePickerActivity filePickerActivity();
  159. @ContributesAndroidInjector
  160. abstract FirstRunActivity firstRunActivity();
  161. @ContributesAndroidInjector
  162. abstract FolderPickerActivity folderPickerActivity();
  163. @ContributesAndroidInjector
  164. abstract LogsActivity logsActivity();
  165. @ContributesAndroidInjector
  166. abstract ManageAccountsActivity manageAccountsActivity();
  167. @ContributesAndroidInjector
  168. abstract ManageSpaceActivity manageSpaceActivity();
  169. @ContributesAndroidInjector
  170. abstract NotificationsActivity notificationsActivity();
  171. @ContributesAndroidInjector
  172. abstract CommunityActivity participateActivity();
  173. @ContributesAndroidInjector
  174. abstract ComposeActivity composeActivity();
  175. @ContributesAndroidInjector
  176. abstract PassCodeActivity passCodeActivity();
  177. @ContributesAndroidInjector
  178. abstract PreviewImageActivity previewImageActivity();
  179. @ContributesAndroidInjector
  180. abstract PreviewMediaActivity previewMediaActivity();
  181. @ContributesAndroidInjector
  182. abstract ReceiveExternalFilesActivity receiveExternalFilesActivity();
  183. @ContributesAndroidInjector
  184. abstract RequestCredentialsActivity requestCredentialsActivity();
  185. @ContributesAndroidInjector
  186. abstract SettingsActivity settingsActivity();
  187. @ContributesAndroidInjector
  188. abstract ShareActivity shareActivity();
  189. @ContributesAndroidInjector
  190. abstract SsoGrantPermissionActivity ssoGrantPermissionActivity();
  191. @ContributesAndroidInjector
  192. abstract SyncedFoldersActivity syncedFoldersActivity();
  193. @ContributesAndroidInjector
  194. abstract TrashbinActivity trashbinActivity();
  195. @ContributesAndroidInjector
  196. abstract UploadFilesActivity uploadFilesActivity();
  197. @ContributesAndroidInjector
  198. abstract UploadListActivity uploadListActivity();
  199. @ContributesAndroidInjector
  200. abstract UserInfoActivity userInfoActivity();
  201. @ContributesAndroidInjector
  202. abstract WhatsNewActivity whatsNewActivity();
  203. @ContributesAndroidInjector
  204. abstract EtmActivity etmActivity();
  205. @ContributesAndroidInjector
  206. abstract RichDocumentsEditorWebView richDocumentsWebView();
  207. @ContributesAndroidInjector
  208. abstract TextEditorWebView textEditorWebView();
  209. @ContributesAndroidInjector
  210. abstract ExtendedListFragment extendedListFragment();
  211. @ContributesAndroidInjector
  212. abstract FileDetailFragment fileDetailFragment();
  213. @ContributesAndroidInjector
  214. abstract LocalFileListFragment localFileListFragment();
  215. @ContributesAndroidInjector
  216. abstract OCFileListFragment ocFileListFragment();
  217. @ContributesAndroidInjector
  218. abstract FileDetailActivitiesFragment fileDetailActivitiesFragment();
  219. @ContributesAndroidInjector
  220. abstract FileDetailsSharingProcessFragment fileDetailsSharingProcessFragment();
  221. @ContributesAndroidInjector
  222. abstract FileDetailSharingFragment fileDetailSharingFragment();
  223. @ContributesAndroidInjector
  224. abstract ChooseTemplateDialogFragment chooseTemplateDialogFragment();
  225. @ContributesAndroidInjector
  226. abstract AccountRemovalDialog accountRemovalDialog();
  227. @ContributesAndroidInjector
  228. abstract ChooseRichDocumentsTemplateDialogFragment chooseRichDocumentsTemplateDialogFragment();
  229. @ContributesAndroidInjector
  230. abstract BackupFragment contactsBackupFragment();
  231. @ContributesAndroidInjector
  232. abstract PreviewImageFragment previewImageFragment();
  233. @ContributesAndroidInjector
  234. abstract BackupListFragment chooseContactListFragment();
  235. @ContributesAndroidInjector
  236. abstract PreviewMediaFragment previewMediaFragment();
  237. @ContributesAndroidInjector
  238. abstract PreviewTextFragment previewTextFragment();
  239. @ContributesAndroidInjector
  240. abstract ChooseAccountDialogFragment chooseAccountDialogFragment();
  241. @ContributesAndroidInjector
  242. abstract SetStatusDialogFragment setStatusDialogFragment();
  243. @ContributesAndroidInjector
  244. abstract PreviewTextFileFragment previewTextFileFragment();
  245. @ContributesAndroidInjector
  246. abstract PreviewTextStringFragment previewTextStringFragment();
  247. @ContributesAndroidInjector
  248. abstract UnifiedSearchFragment searchFragment();
  249. @ContributesAndroidInjector
  250. abstract GalleryFragment photoFragment();
  251. @ContributesAndroidInjector
  252. abstract MultipleAccountsDialog multipleAccountsDialog();
  253. @ContributesAndroidInjector
  254. abstract ReceiveExternalFilesActivity.DialogInputUploadFilename dialogInputUploadFilename();
  255. @ContributesAndroidInjector
  256. abstract BootupBroadcastReceiver bootupBroadcastReceiver();
  257. @ContributesAndroidInjector
  258. abstract NetworkChangeReceiver networkChangeReceiver();
  259. @ContributesAndroidInjector
  260. abstract NotificationWork.NotificationReceiver notificationWorkBroadcastReceiver();
  261. @ContributesAndroidInjector
  262. abstract FileContentProvider fileContentProvider();
  263. @ContributesAndroidInjector
  264. abstract UsersAndGroupsSearchProvider usersAndGroupsSearchProvider();
  265. @ContributesAndroidInjector
  266. abstract DiskLruImageCacheFileProvider diskLruImageCacheFileProvider();
  267. @ContributesAndroidInjector
  268. abstract DocumentsStorageProvider documentsStorageProvider();
  269. @ContributesAndroidInjector
  270. abstract AccountManagerService accountManagerService();
  271. @ContributesAndroidInjector
  272. abstract OperationsService operationsService();
  273. @ContributesAndroidInjector
  274. abstract PlayerService playerService();
  275. @ContributesAndroidInjector
  276. abstract FileTransferService fileDownloaderService();
  277. @ContributesAndroidInjector
  278. abstract FileSyncService fileSyncService();
  279. @ContributesAndroidInjector
  280. abstract DashboardWidgetService dashboardWidgetService();
  281. @ContributesAndroidInjector
  282. abstract PreviewPdfFragment previewPDFFragment();
  283. @ContributesAndroidInjector
  284. abstract SharedListFragment sharedFragment();
  285. @ContributesAndroidInjector
  286. abstract FeatureFragment featureFragment();
  287. @ContributesAndroidInjector
  288. abstract IndeterminateProgressDialog indeterminateProgressDialog();
  289. @ContributesAndroidInjector
  290. abstract SortingOrderDialogFragment sortingOrderDialogFragment();
  291. @ContributesAndroidInjector
  292. abstract ConfirmationDialogFragment confirmationDialogFragment();
  293. @ContributesAndroidInjector
  294. abstract ConflictsResolveDialog conflictsResolveDialog();
  295. @ContributesAndroidInjector
  296. abstract CreateFolderDialogFragment createFolderDialogFragment();
  297. @ContributesAndroidInjector
  298. abstract ExpirationDatePickerDialogFragment expirationDatePickerDialogFragment();
  299. @ContributesAndroidInjector
  300. abstract FileActivity fileActivity();
  301. @ContributesAndroidInjector
  302. abstract FileDownloadFragment fileDownloadFragment();
  303. @ContributesAndroidInjector
  304. abstract LoadingDialog loadingDialog();
  305. @ContributesAndroidInjector
  306. abstract LocalStoragePathPickerDialogFragment localStoragePathPickerDialogFragment();
  307. @ContributesAndroidInjector
  308. abstract LogsViewModel logsViewModel();
  309. @ContributesAndroidInjector
  310. abstract MainApp mainApp();
  311. @ContributesAndroidInjector
  312. abstract Migrations migrations();
  313. @ContributesAndroidInjector
  314. abstract NotificationWork notificationWork();
  315. @ContributesAndroidInjector
  316. abstract RemoveFilesDialogFragment removeFilesDialogFragment();
  317. @ContributesAndroidInjector
  318. abstract RenamePublicShareDialogFragment renamePublicShareDialogFragment();
  319. @ContributesAndroidInjector
  320. abstract SendShareDialog sendShareDialog();
  321. @ContributesAndroidInjector
  322. abstract SetupEncryptionDialogFragment setupEncryptionDialogFragment();
  323. @ContributesAndroidInjector
  324. abstract ChooseStorageLocationDialogFragment chooseStorageLocationDialogFragment();
  325. @ContributesAndroidInjector
  326. abstract SharePasswordDialogFragment sharePasswordDialogFragment();
  327. @ContributesAndroidInjector
  328. abstract SyncedFolderPreferencesDialogFragment syncedFolderPreferencesDialogFragment();
  329. @ContributesAndroidInjector
  330. abstract ToolbarActivity toolbarActivity();
  331. @ContributesAndroidInjector
  332. abstract StoragePermissionDialogFragment storagePermissionDialogFragment();
  333. @ContributesAndroidInjector
  334. abstract OCFileListBottomSheetDialog ocfileListBottomSheetDialog();
  335. @ContributesAndroidInjector
  336. abstract RenameFileDialogFragment renameFileDialogFragment();
  337. @ContributesAndroidInjector
  338. abstract SyncFileNotEnoughSpaceDialogFragment syncFileNotEnoughSpaceDialogFragment();
  339. @ContributesAndroidInjector
  340. abstract DashboardWidgetConfigurationActivity dashboardWidgetConfigurationActivity();
  341. @ContributesAndroidInjector
  342. abstract DashboardWidgetProvider dashboardWidgetProvider();
  343. @ContributesAndroidInjector
  344. abstract GalleryFragmentBottomSheetDialog galleryFragmentBottomSheetDialog();
  345. @ContributesAndroidInjector
  346. abstract PreviewBitmapActivity previewBitmapActivity();
  347. @ContributesAndroidInjector
  348. abstract FileUploadHelper fileUploadHelper();
  349. @ContributesAndroidInjector
  350. abstract SslUntrustedCertDialog sslUntrustedCertDialog();
  351. @ContributesAndroidInjector
  352. abstract FileActionsBottomSheet fileActionsBottomSheet();
  353. @ContributesAndroidInjector
  354. abstract SendFilesDialog sendFilesDialog();
  355. @ContributesAndroidInjector
  356. abstract DocumentScanActivity documentScanActivity();
  357. @ContributesAndroidInjector
  358. abstract GroupfolderListFragment groupfolderListFragment();
  359. @ContributesAndroidInjector
  360. abstract LauncherActivity launcherActivity();
  361. @ContributesAndroidInjector
  362. abstract EditImageActivity editImageActivity();
  363. @ContributesAndroidInjector
  364. abstract ImageDetailFragment imageDetailFragment();
  365. @ContributesAndroidInjector
  366. abstract EtmBackgroundJobsFragment etmBackgroundJobsFragment();
  367. @ContributesAndroidInjector
  368. abstract BackgroundJobManagerImpl backgroundJobManagerImpl();
  369. @ContributesAndroidInjector
  370. abstract TestJob testJob();
  371. @ContributesAndroidInjector
  372. abstract InternalTwoWaySyncActivity internalTwoWaySyncActivity();
  373. @OptIn(markerClass = UnstableApi.class)
  374. @ContributesAndroidInjector
  375. abstract BackgroundPlayerService backgroundPlayerService();
  376. }