ComponentsModule.java 19 KB

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