ComponentsModule.java 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481
  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.files.downloader.FileTransferService;
  25. import com.nextcloud.client.jobs.NotificationWork;
  26. import com.nextcloud.client.logger.ui.LogsActivity;
  27. import com.nextcloud.client.logger.ui.LogsViewModel;
  28. import com.nextcloud.client.media.PlayerService;
  29. import com.nextcloud.client.migrations.Migrations;
  30. import com.nextcloud.client.onboarding.FirstRunActivity;
  31. import com.nextcloud.client.onboarding.WhatsNewActivity;
  32. import com.nextcloud.client.widget.DashboardWidgetConfigurationActivity;
  33. import com.nextcloud.client.widget.DashboardWidgetProvider;
  34. import com.nextcloud.client.widget.DashboardWidgetService;
  35. import com.nextcloud.ui.ChooseAccountDialogFragment;
  36. import com.nextcloud.ui.ImageDetailFragment;
  37. import com.nextcloud.ui.SetStatusDialogFragment;
  38. import com.nextcloud.ui.fileactions.FileActionsBottomSheet;
  39. import com.nmc.android.ui.LauncherActivity;
  40. import com.owncloud.android.MainApp;
  41. import com.owncloud.android.authentication.AuthenticatorActivity;
  42. import com.owncloud.android.authentication.DeepLinkLoginActivity;
  43. import com.owncloud.android.files.BootupBroadcastReceiver;
  44. import com.owncloud.android.files.services.FileDownloader;
  45. import com.owncloud.android.files.services.FileUploader;
  46. import com.owncloud.android.providers.DiskLruImageCacheFileProvider;
  47. import com.owncloud.android.providers.DocumentsStorageProvider;
  48. import com.owncloud.android.providers.FileContentProvider;
  49. import com.owncloud.android.providers.UsersAndGroupsSearchProvider;
  50. import com.owncloud.android.services.AccountManagerService;
  51. import com.owncloud.android.services.OperationsService;
  52. import com.owncloud.android.syncadapter.FileSyncService;
  53. import com.owncloud.android.ui.activities.ActivitiesActivity;
  54. import com.owncloud.android.ui.activity.BaseActivity;
  55. import com.owncloud.android.ui.activity.CommunityActivity;
  56. import com.owncloud.android.ui.activity.ConflictsResolveActivity;
  57. import com.owncloud.android.ui.activity.ContactsPreferenceActivity;
  58. import com.owncloud.android.ui.activity.CopyToClipboardActivity;
  59. import com.owncloud.android.ui.activity.DrawerActivity;
  60. import com.owncloud.android.ui.activity.ErrorsWhileCopyingHandlerActivity;
  61. import com.owncloud.android.ui.activity.ExternalSiteWebView;
  62. import com.owncloud.android.ui.activity.FileActivity;
  63. import com.owncloud.android.ui.activity.FileDisplayActivity;
  64. import com.owncloud.android.ui.activity.FilePickerActivity;
  65. import com.owncloud.android.ui.activity.FolderPickerActivity;
  66. import com.owncloud.android.ui.activity.ManageAccountsActivity;
  67. import com.owncloud.android.ui.activity.ManageSpaceActivity;
  68. import com.owncloud.android.ui.activity.NotificationsActivity;
  69. import com.owncloud.android.ui.activity.PassCodeActivity;
  70. import com.owncloud.android.ui.activity.ReceiveExternalFilesActivity;
  71. import com.owncloud.android.ui.activity.RequestCredentialsActivity;
  72. import com.owncloud.android.ui.activity.RichDocumentsEditorWebView;
  73. import com.owncloud.android.ui.activity.SettingsActivity;
  74. import com.owncloud.android.ui.activity.ShareActivity;
  75. import com.owncloud.android.ui.activity.SsoGrantPermissionActivity;
  76. import com.owncloud.android.ui.activity.SyncedFoldersActivity;
  77. import com.owncloud.android.ui.activity.TextEditorWebView;
  78. import com.owncloud.android.ui.activity.ToolbarActivity;
  79. import com.owncloud.android.ui.activity.UploadFilesActivity;
  80. import com.owncloud.android.ui.activity.UploadListActivity;
  81. import com.owncloud.android.ui.activity.UserInfoActivity;
  82. import com.owncloud.android.ui.dialog.AccountRemovalDialog;
  83. import com.owncloud.android.ui.dialog.ChooseRichDocumentsTemplateDialogFragment;
  84. import com.owncloud.android.ui.dialog.ChooseTemplateDialogFragment;
  85. import com.owncloud.android.ui.dialog.ConfirmationDialogFragment;
  86. import com.owncloud.android.ui.dialog.ConflictsResolveDialog;
  87. import com.owncloud.android.ui.dialog.CreateFolderDialogFragment;
  88. import com.owncloud.android.ui.dialog.ExpirationDatePickerDialogFragment;
  89. import com.owncloud.android.ui.dialog.IndeterminateProgressDialog;
  90. import com.owncloud.android.ui.dialog.LoadingDialog;
  91. import com.owncloud.android.ui.dialog.LocalStoragePathPickerDialogFragment;
  92. import com.owncloud.android.ui.dialog.MultipleAccountsDialog;
  93. import com.owncloud.android.ui.dialog.RemoveFilesDialogFragment;
  94. import com.owncloud.android.ui.dialog.RenameFileDialogFragment;
  95. import com.owncloud.android.ui.dialog.RenamePublicShareDialogFragment;
  96. import com.owncloud.android.ui.dialog.SendFilesDialog;
  97. import com.owncloud.android.ui.dialog.SendShareDialog;
  98. import com.owncloud.android.ui.dialog.SetupEncryptionDialogFragment;
  99. import com.owncloud.android.ui.dialog.SharePasswordDialogFragment;
  100. import com.owncloud.android.ui.dialog.SortingOrderDialogFragment;
  101. import com.owncloud.android.ui.dialog.SslUntrustedCertDialog;
  102. import com.owncloud.android.ui.dialog.StoragePermissionDialogFragment;
  103. import com.owncloud.android.ui.dialog.SyncFileNotEnoughSpaceDialogFragment;
  104. import com.owncloud.android.ui.dialog.SyncedFolderPreferencesDialogFragment;
  105. import com.owncloud.android.ui.fragment.ExtendedListFragment;
  106. import com.owncloud.android.ui.fragment.FeatureFragment;
  107. import com.owncloud.android.ui.fragment.FileDetailActivitiesFragment;
  108. import com.owncloud.android.ui.fragment.FileDetailFragment;
  109. import com.owncloud.android.ui.fragment.FileDetailSharingFragment;
  110. import com.owncloud.android.ui.fragment.FileDetailsSharingProcessFragment;
  111. import com.owncloud.android.ui.fragment.GalleryFragment;
  112. import com.owncloud.android.ui.fragment.GalleryFragmentBottomSheetDialog;
  113. import com.owncloud.android.ui.fragment.GroupfolderListFragment;
  114. import com.owncloud.android.ui.fragment.LocalFileListFragment;
  115. import com.owncloud.android.ui.fragment.OCFileListBottomSheetDialog;
  116. import com.owncloud.android.ui.fragment.OCFileListFragment;
  117. import com.owncloud.android.ui.fragment.SharedListFragment;
  118. import com.owncloud.android.ui.fragment.UnifiedSearchFragment;
  119. import com.owncloud.android.ui.fragment.contactsbackup.BackupFragment;
  120. import com.owncloud.android.ui.fragment.contactsbackup.BackupListFragment;
  121. import com.owncloud.android.ui.preview.FileDownloadFragment;
  122. import com.owncloud.android.ui.preview.PreviewBitmapActivity;
  123. import com.owncloud.android.ui.preview.PreviewImageActivity;
  124. import com.owncloud.android.ui.preview.PreviewImageFragment;
  125. import com.owncloud.android.ui.preview.PreviewMediaFragment;
  126. import com.owncloud.android.ui.preview.PreviewTextFileFragment;
  127. import com.owncloud.android.ui.preview.PreviewTextFragment;
  128. import com.owncloud.android.ui.preview.PreviewTextStringFragment;
  129. import com.owncloud.android.ui.preview.pdf.PreviewPdfFragment;
  130. import com.owncloud.android.ui.trashbin.TrashbinActivity;
  131. import com.owncloud.android.utils.FilesUploadHelper;
  132. import dagger.Module;
  133. import dagger.android.ContributesAndroidInjector;
  134. /**
  135. * Register classes that require dependency injection. This class is used by Dagger compiler only.
  136. */
  137. @Module
  138. abstract class ComponentsModule {
  139. @ContributesAndroidInjector
  140. abstract ActivitiesActivity activitiesActivity();
  141. @ContributesAndroidInjector
  142. abstract AuthenticatorActivity authenticatorActivity();
  143. @ContributesAndroidInjector
  144. abstract BaseActivity baseActivity();
  145. @ContributesAndroidInjector
  146. abstract ConflictsResolveActivity conflictsResolveActivity();
  147. @ContributesAndroidInjector
  148. abstract ContactsPreferenceActivity contactsPreferenceActivity();
  149. @ContributesAndroidInjector
  150. abstract CopyToClipboardActivity copyToClipboardActivity();
  151. @ContributesAndroidInjector
  152. abstract DeepLinkLoginActivity deepLinkLoginActivity();
  153. @ContributesAndroidInjector
  154. abstract DrawerActivity drawerActivity();
  155. @ContributesAndroidInjector
  156. abstract ErrorsWhileCopyingHandlerActivity errorsWhileCopyingHandlerActivity();
  157. @ContributesAndroidInjector
  158. abstract ExternalSiteWebView externalSiteWebView();
  159. @ContributesAndroidInjector
  160. abstract FileDisplayActivity fileDisplayActivity();
  161. @ContributesAndroidInjector
  162. abstract FilePickerActivity filePickerActivity();
  163. @ContributesAndroidInjector
  164. abstract FirstRunActivity firstRunActivity();
  165. @ContributesAndroidInjector
  166. abstract FolderPickerActivity folderPickerActivity();
  167. @ContributesAndroidInjector
  168. abstract LogsActivity logsActivity();
  169. @ContributesAndroidInjector
  170. abstract ManageAccountsActivity manageAccountsActivity();
  171. @ContributesAndroidInjector
  172. abstract ManageSpaceActivity manageSpaceActivity();
  173. @ContributesAndroidInjector
  174. abstract NotificationsActivity notificationsActivity();
  175. @ContributesAndroidInjector
  176. abstract CommunityActivity participateActivity();
  177. @ContributesAndroidInjector
  178. abstract PassCodeActivity passCodeActivity();
  179. @ContributesAndroidInjector
  180. abstract PreviewImageActivity previewImageActivity();
  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 FileUploader fileUploader();
  257. @ContributesAndroidInjector
  258. abstract FileDownloader fileDownloader();
  259. @ContributesAndroidInjector
  260. abstract BootupBroadcastReceiver bootupBroadcastReceiver();
  261. @ContributesAndroidInjector
  262. abstract NotificationWork.NotificationReceiver notificationWorkBroadcastReceiver();
  263. @ContributesAndroidInjector
  264. abstract FileContentProvider fileContentProvider();
  265. @ContributesAndroidInjector
  266. abstract UsersAndGroupsSearchProvider usersAndGroupsSearchProvider();
  267. @ContributesAndroidInjector
  268. abstract DiskLruImageCacheFileProvider diskLruImageCacheFileProvider();
  269. @ContributesAndroidInjector
  270. abstract DocumentsStorageProvider documentsStorageProvider();
  271. @ContributesAndroidInjector
  272. abstract AccountManagerService accountManagerService();
  273. @ContributesAndroidInjector
  274. abstract OperationsService operationsService();
  275. @ContributesAndroidInjector
  276. abstract PlayerService playerService();
  277. @ContributesAndroidInjector
  278. abstract FileTransferService fileDownloaderService();
  279. @ContributesAndroidInjector
  280. abstract FileSyncService fileSyncService();
  281. @ContributesAndroidInjector
  282. abstract DashboardWidgetService dashboardWidgetService();
  283. @ContributesAndroidInjector
  284. abstract PreviewPdfFragment previewPDFFragment();
  285. @ContributesAndroidInjector
  286. abstract SharedListFragment sharedFragment();
  287. @ContributesAndroidInjector
  288. abstract FeatureFragment featureFragment();
  289. @ContributesAndroidInjector
  290. abstract IndeterminateProgressDialog indeterminateProgressDialog();
  291. @ContributesAndroidInjector
  292. abstract SortingOrderDialogFragment sortingOrderDialogFragment();
  293. @ContributesAndroidInjector
  294. abstract ConfirmationDialogFragment confirmationDialogFragment();
  295. @ContributesAndroidInjector
  296. abstract ConflictsResolveDialog conflictsResolveDialog();
  297. @ContributesAndroidInjector
  298. abstract CreateFolderDialogFragment createFolderDialogFragment();
  299. @ContributesAndroidInjector
  300. abstract ExpirationDatePickerDialogFragment expirationDatePickerDialogFragment();
  301. @ContributesAndroidInjector
  302. abstract FileActivity fileActivity();
  303. @ContributesAndroidInjector
  304. abstract FileDownloadFragment fileDownloadFragment();
  305. @ContributesAndroidInjector
  306. abstract LoadingDialog loadingDialog();
  307. @ContributesAndroidInjector
  308. abstract LocalStoragePathPickerDialogFragment localStoragePathPickerDialogFragment();
  309. @ContributesAndroidInjector
  310. abstract LogsViewModel logsViewModel();
  311. @ContributesAndroidInjector
  312. abstract MainApp mainApp();
  313. @ContributesAndroidInjector
  314. abstract Migrations migrations();
  315. @ContributesAndroidInjector
  316. abstract NotificationWork notificationWork();
  317. @ContributesAndroidInjector
  318. abstract RemoveFilesDialogFragment removeFilesDialogFragment();
  319. @ContributesAndroidInjector
  320. abstract RenamePublicShareDialogFragment renamePublicShareDialogFragment();
  321. @ContributesAndroidInjector
  322. abstract SendShareDialog sendShareDialog();
  323. @ContributesAndroidInjector
  324. abstract SetupEncryptionDialogFragment setupEncryptionDialogFragment();
  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 FilesUploadHelper filesUploadHelper();
  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. }