From 205fd4f6e30c84307884baaa05634a17ad919e32 Mon Sep 17 00:00:00 2001 From: alperozturk96 Date: Mon, 5 Oct 2026 14:56:35 +0200 Subject: [PATCH 1/2] Rename .java to .kt Signed-off-by: alperozturk96 --- .../java/com/nextcloud/client/di/{AppModule.java => AppModule.kt} | 0 .../client/di/{ComponentsModule.java => ComponentsModule.kt} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename app/src/main/java/com/nextcloud/client/di/{AppModule.java => AppModule.kt} (100%) rename app/src/main/java/com/nextcloud/client/di/{ComponentsModule.java => ComponentsModule.kt} (100%) diff --git a/app/src/main/java/com/nextcloud/client/di/AppModule.java b/app/src/main/java/com/nextcloud/client/di/AppModule.kt similarity index 100% rename from app/src/main/java/com/nextcloud/client/di/AppModule.java rename to app/src/main/java/com/nextcloud/client/di/AppModule.kt diff --git a/app/src/main/java/com/nextcloud/client/di/ComponentsModule.java b/app/src/main/java/com/nextcloud/client/di/ComponentsModule.kt similarity index 100% rename from app/src/main/java/com/nextcloud/client/di/ComponentsModule.java rename to app/src/main/java/com/nextcloud/client/di/ComponentsModule.kt From 81495fd764ac45e8fdad001fd8186dc36c31a368 Mon Sep 17 00:00:00 2001 From: alperozturk96 Date: Mon, 5 Oct 2026 14:56:36 +0200 Subject: [PATCH 2/2] refactor(di): convert to Kotlin Signed-off-by: alperozturk96 --- .../java/com/nextcloud/client/di/AppModule.kt | 408 +++++++------- .../nextcloud/client/di/ComponentsModule.kt | 528 +++++++++--------- 2 files changed, 453 insertions(+), 483 deletions(-) diff --git a/app/src/main/java/com/nextcloud/client/di/AppModule.kt b/app/src/main/java/com/nextcloud/client/di/AppModule.kt index b4686f2c8fd5..c3f7ab13576c 100644 --- a/app/src/main/java/com/nextcloud/client/di/AppModule.kt +++ b/app/src/main/java/com/nextcloud/client/di/AppModule.kt @@ -1,304 +1,272 @@ /* * Nextcloud - Android Client * + * SPDX-FileCopyrightText: 2026 Alper Ozturk * SPDX-FileCopyrightText: 2019 Chris Narkiewicz * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only */ +package com.nextcloud.client.di + +import android.accounts.AccountManager +import android.app.Application +import android.app.NotificationManager +import android.content.ContentResolver +import android.content.Context +import android.content.pm.PackageManager +import android.content.res.Resources +import android.media.AudioManager +import android.os.Handler +import androidx.localbroadcastmanager.content.LocalBroadcastManager +import com.nextcloud.client.account.CurrentAccountProvider +import com.nextcloud.client.account.UserAccountManager +import com.nextcloud.client.account.UserAccountManagerImpl +import com.nextcloud.client.appinfo.AppInfo +import com.nextcloud.client.core.AsyncRunner +import com.nextcloud.client.core.Clock +import com.nextcloud.client.core.ClockImpl +import com.nextcloud.client.core.ThreadPoolAsyncRunner +import com.nextcloud.client.database.dao.ArbitraryDataDao +import com.nextcloud.client.device.DeviceInfo +import com.nextcloud.client.jobs.operation.FileOperationHelper +import com.nextcloud.client.logger.FileLogHandler +import com.nextcloud.client.logger.Logger +import com.nextcloud.client.logger.LoggerImpl +import com.nextcloud.client.logger.LogsRepository +import com.nextcloud.client.migrations.Migrations +import com.nextcloud.client.migrations.MigrationsDb +import com.nextcloud.client.migrations.MigrationsManager +import com.nextcloud.client.migrations.MigrationsManagerImpl +import com.nextcloud.client.network.ClientFactory +import com.nextcloud.client.network.ConnectivityService +import com.nextcloud.client.notifications.AppNotificationManager +import com.nextcloud.client.notifications.AppNotificationManagerImpl +import com.nextcloud.client.preferences.AppPreferences +import com.nextcloud.client.utils.Throttler +import com.nextcloud.utils.e2ee.E2EEActionResolver +import com.nextcloud.utils.e2ee.E2EEKeyInspector +import com.nextcloud.utils.thumbnail.FolderThumbnailGenerator +import com.owncloud.android.authentication.PassCodeManager +import com.owncloud.android.datamodel.ArbitraryDataProvider +import com.owncloud.android.datamodel.ArbitraryDataProviderImpl +import com.owncloud.android.datamodel.FileDataStorageManager +import com.owncloud.android.datamodel.SyncedFolderProvider +import com.owncloud.android.datamodel.UploadsStorageManager +import com.owncloud.android.providers.UsersAndGroupsSearchConfig +import com.owncloud.android.ui.activities.data.activities.ActivitiesRepository +import com.owncloud.android.ui.activities.data.activities.ActivitiesServiceApi +import com.owncloud.android.ui.activities.data.activities.ActivitiesServiceApiImpl +import com.owncloud.android.ui.activities.data.activities.RemoteActivitiesRepository +import com.owncloud.android.ui.activities.data.files.FilesRepository +import com.owncloud.android.ui.activities.data.files.FilesServiceApiImpl +import com.owncloud.android.ui.activities.data.files.RemoteFilesRepository +import com.owncloud.android.ui.dialog.setupEncryption.CertificateValidator +import com.owncloud.android.utils.theme.ViewThemeUtils +import dagger.Module +import dagger.Provides +import org.greenrobot.eventbus.EventBus +import java.io.File +import javax.inject.Named +import javax.inject.Provider +import javax.inject.Singleton -package com.nextcloud.client.di; - -import android.accounts.AccountManager; -import android.app.Application; -import android.app.NotificationManager; -import android.content.ContentResolver; -import android.content.Context; -import android.content.SharedPreferences; -import android.content.pm.PackageManager; -import android.content.res.Resources; -import android.media.AudioManager; -import android.os.Handler; - -import com.nextcloud.client.account.CurrentAccountProvider; -import com.nextcloud.client.account.UserAccountManager; -import com.nextcloud.client.account.UserAccountManagerImpl; -import com.nextcloud.client.appinfo.AppInfo; -import com.nextcloud.client.core.AsyncRunner; -import com.nextcloud.client.core.Clock; -import com.nextcloud.client.core.ClockImpl; -import com.nextcloud.client.core.ThreadPoolAsyncRunner; -import com.nextcloud.client.database.dao.ArbitraryDataDao; -import com.nextcloud.client.device.DeviceInfo; -import com.nextcloud.client.jobs.operation.FileOperationHelper; -import com.nextcloud.client.logger.FileLogHandler; -import com.nextcloud.client.logger.Logger; -import com.nextcloud.client.logger.LoggerImpl; -import com.nextcloud.client.logger.LogsRepository; -import com.nextcloud.client.migrations.Migrations; -import com.nextcloud.client.migrations.MigrationsDb; -import com.nextcloud.client.migrations.MigrationsManager; -import com.nextcloud.client.migrations.MigrationsManagerImpl; -import com.nextcloud.client.network.ClientFactory; -import com.nextcloud.client.network.ConnectivityService; -import com.nextcloud.client.notifications.AppNotificationManager; -import com.nextcloud.client.notifications.AppNotificationManagerImpl; -import com.nextcloud.client.preferences.AppPreferences; -import com.nextcloud.client.utils.Throttler; -import com.nextcloud.utils.e2ee.E2EEActionResolver; -import com.nextcloud.utils.e2ee.E2EEKeyInspector; -import com.nextcloud.utils.thumbnail.FolderThumbnailGenerator; -import com.owncloud.android.authentication.PassCodeManager; -import com.owncloud.android.datamodel.ArbitraryDataProvider; -import com.owncloud.android.datamodel.ArbitraryDataProviderImpl; -import com.owncloud.android.datamodel.FileDataStorageManager; -import com.owncloud.android.datamodel.SyncedFolderProvider; -import com.owncloud.android.datamodel.UploadsStorageManager; -import com.owncloud.android.providers.UsersAndGroupsSearchConfig; -import com.owncloud.android.ui.activities.data.activities.ActivitiesRepository; -import com.owncloud.android.ui.activities.data.activities.ActivitiesServiceApi; -import com.owncloud.android.ui.activities.data.activities.ActivitiesServiceApiImpl; -import com.owncloud.android.ui.activities.data.activities.RemoteActivitiesRepository; -import com.owncloud.android.ui.activities.data.files.FilesRepository; -import com.owncloud.android.ui.activities.data.files.FilesServiceApiImpl; -import com.owncloud.android.ui.activities.data.files.RemoteFilesRepository; -import com.owncloud.android.ui.dialog.setupEncryption.CertificateValidator; -import com.owncloud.android.utils.theme.ViewThemeUtils; - -import org.greenrobot.eventbus.EventBus; - -import java.io.File; - -import javax.inject.Named; -import javax.inject.Provider; -import javax.inject.Singleton; - -import androidx.localbroadcastmanager.content.LocalBroadcastManager; -import dagger.Module; -import dagger.Provides; - -@Module(includes = {ComponentsModule.class, VariantComponentsModule.class, BuildTypeComponentsModule.class}) -class AppModule { - - @Provides - AccountManager accountManager(Application application) { - return (AccountManager) application.getSystemService(Context.ACCOUNT_SERVICE); - } +@Module(includes = [ComponentsModule::class, VariantComponentsModule::class, BuildTypeComponentsModule::class]) +@Suppress("TooManyFunctions") +internal class AppModule { @Provides - Context context(Application application) { - return application; - } + fun accountManager(application: Application): AccountManager = + application.getSystemService(Context.ACCOUNT_SERVICE) as AccountManager @Provides - PackageManager packageManager(Application application) { - return application.getPackageManager(); - } + fun context(application: Application): Context = application @Provides - ContentResolver contentResolver(Context context) { - return context.getContentResolver(); - } + fun packageManager(application: Application): PackageManager = application.packageManager @Provides - Resources resources(Application application) { - return application.getResources(); - } + fun contentResolver(context: Context): ContentResolver = context.contentResolver @Provides - UserAccountManager userAccountManager( - Context context, - AccountManager accountManager) { - return new UserAccountManagerImpl(context, accountManager); - } + fun resources(application: Application): Resources = application.resources @Provides - ArbitraryDataProvider arbitraryDataProvider(ArbitraryDataDao dao) { - return new ArbitraryDataProviderImpl(dao); - } + fun userAccountManager(context: Context, accountManager: AccountManager): UserAccountManager = + UserAccountManagerImpl(context, accountManager) @Provides - SyncedFolderProvider syncedFolderProvider(ContentResolver contentResolver, - AppPreferences appPreferences, - Clock clock) { - return new SyncedFolderProvider(contentResolver, appPreferences, clock); - } + fun arbitraryDataProvider(dao: ArbitraryDataDao): ArbitraryDataProvider = ArbitraryDataProviderImpl(dao) @Provides - ActivitiesServiceApi activitiesServiceApi(UserAccountManager accountManager) { - return new ActivitiesServiceApiImpl(accountManager); - } + fun syncedFolderProvider( + contentResolver: ContentResolver, + appPreferences: AppPreferences, + clock: Clock + ): SyncedFolderProvider = SyncedFolderProvider(contentResolver, appPreferences, clock) @Provides - ActivitiesRepository activitiesRepository(ActivitiesServiceApi api) { - return new RemoteActivitiesRepository(api); - } + fun activitiesServiceApi(accountManager: UserAccountManager): ActivitiesServiceApi = + ActivitiesServiceApiImpl(accountManager) @Provides - FilesRepository filesRepository(UserAccountManager accountManager, ClientFactory clientFactory) { - return new RemoteFilesRepository(new FilesServiceApiImpl(accountManager, clientFactory)); - } + fun activitiesRepository(api: ActivitiesServiceApi): ActivitiesRepository = RemoteActivitiesRepository(api) @Provides - UploadsStorageManager uploadsStorageManager(CurrentAccountProvider currentAccountProvider, - Context context) { - return new UploadsStorageManager(currentAccountProvider, context.getContentResolver()); - } + fun filesRepository(accountManager: UserAccountManager, clientFactory: ClientFactory): FilesRepository = + RemoteFilesRepository(FilesServiceApiImpl(accountManager, clientFactory)) @Provides - FileDataStorageManager fileDataStorageManager(CurrentAccountProvider currentAccountProvider, - Context context) { - return new FileDataStorageManager(currentAccountProvider.getUser(), context.getContentResolver()); - } + fun uploadsStorageManager(currentAccountProvider: CurrentAccountProvider, context: Context): UploadsStorageManager = + UploadsStorageManager(currentAccountProvider, context.contentResolver) @Provides - CurrentAccountProvider currentAccountProvider(UserAccountManager accountManager) { - return accountManager; - } + fun fileDataStorageManager( + currentAccountProvider: CurrentAccountProvider, + context: Context + ): FileDataStorageManager = FileDataStorageManager(currentAccountProvider.user, context.contentResolver) @Provides - DeviceInfo deviceInfo() { - return new DeviceInfo(); - } + fun currentAccountProvider(accountManager: UserAccountManager): CurrentAccountProvider = accountManager + + @Provides + fun deviceInfo(): DeviceInfo = DeviceInfo() @Provides @Singleton - Clock clock() { - return new ClockImpl(); - } + fun clock(): Clock = ClockImpl() @Provides @Singleton - Logger logger(Context context, Clock clock) { - File logDir = new File(context.getFilesDir(), "logs"); - FileLogHandler handler = new FileLogHandler(logDir, "log.txt", 1024 * 1024); - LoggerImpl logger = new LoggerImpl(clock, handler, new Handler(), 1000); - logger.start(); - return logger; + fun logger(context: Context, clock: Clock): Logger { + val logDir = File(context.filesDir, LOG_DIR_NAME) + val handler = FileLogHandler(logDir, LOG_FILE_NAME, LOG_FILE_MAX_SIZE_BYTES) + return LoggerImpl(clock, handler, Handler(), LOGGER_QUEUE_CAPACITY).apply { start() } } @Provides @Singleton - LogsRepository logsRepository(Logger logger) { - return (LogsRepository) logger; - } + fun logsRepository(logger: Logger): LogsRepository = logger as LogsRepository @Provides @Singleton - AsyncRunner uiAsyncRunner() { - Handler uiHandler = new Handler(); - return new ThreadPoolAsyncRunner(uiHandler, 4, "ui"); - } + fun uiAsyncRunner(): AsyncRunner = ThreadPoolAsyncRunner(Handler(), UI_THREAD_POOL_SIZE, UI_RUNNER_TAG) @Provides @Singleton - @Named("io") - AsyncRunner ioAsyncRunner() { - Handler uiHandler = new Handler(); - return new ThreadPoolAsyncRunner(uiHandler, 8, "io"); - } + @Named(IO_RUNNER_TAG) + fun ioAsyncRunner(): AsyncRunner = ThreadPoolAsyncRunner(Handler(), IO_THREAD_POOL_SIZE, IO_RUNNER_TAG) @Provides - NotificationManager notificationManager(Context context) { - return (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); - } + fun notificationManager(context: Context): NotificationManager = + context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager @Provides - AudioManager audioManager(Context context) { - return (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); - } + fun audioManager(context: Context): AudioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager @Provides @Singleton - EventBus eventBus() { - return EventBus.getDefault(); - } + fun eventBus(): EventBus = EventBus.getDefault() @Provides @Singleton - MigrationsDb migrationsDb(Application application) { - SharedPreferences store = application.getSharedPreferences("migrations", Context.MODE_PRIVATE); - return new MigrationsDb(store); - } + fun migrationsDb(application: Application): MigrationsDb = + MigrationsDb(application.getSharedPreferences(MIGRATIONS_PREFERENCES_NAME, Context.MODE_PRIVATE)) @Provides @Singleton - MigrationsManager migrationsManager(MigrationsDb migrationsDb, - AppInfo appInfo, - AsyncRunner asyncRunner, - Migrations migrations) { - return new MigrationsManagerImpl(appInfo, migrationsDb, asyncRunner, migrations.getSteps()); - } + fun migrationsManager( + migrationsDb: MigrationsDb, + appInfo: AppInfo, + asyncRunner: AsyncRunner, + migrations: Migrations + ): MigrationsManager = MigrationsManagerImpl(appInfo, migrationsDb, asyncRunner, migrations.steps) @Provides @Singleton - AppNotificationManager notificationsManager(Context context, - NotificationManager platformNotificationsManager, - Provider viewThemeUtilsProvider) { - return new AppNotificationManagerImpl(context, - context.getResources(), - platformNotificationsManager, - viewThemeUtilsProvider); - } + fun notificationsManager( + context: Context, + platformNotificationsManager: NotificationManager, + viewThemeUtilsProvider: Provider + ): AppNotificationManager = AppNotificationManagerImpl( + context, + context.resources, + platformNotificationsManager, + viewThemeUtilsProvider + ) @Provides - LocalBroadcastManager localBroadcastManager(Context context) { - return LocalBroadcastManager.getInstance(context); - } + fun localBroadcastManager(context: Context): LocalBroadcastManager = LocalBroadcastManager.getInstance(context) @Provides - Throttler throttler(Clock clock) { - return new Throttler(clock); - } + fun throttler(clock: Clock): Throttler = Throttler(clock) @Provides @Singleton - PassCodeManager passCodeManager(AppPreferences preferences, Clock clock) { - return new PassCodeManager(preferences, clock); - } + fun passCodeManager(preferences: AppPreferences, clock: Clock): PassCodeManager = + PassCodeManager(preferences, clock) @Provides - FileOperationHelper fileOperationHelper(CurrentAccountProvider currentAccountProvider, Context context) { - return new FileOperationHelper(currentAccountProvider.getUser(), context, fileDataStorageManager(currentAccountProvider, context)); - } + fun fileOperationHelper(currentAccountProvider: CurrentAccountProvider, context: Context): FileOperationHelper = + FileOperationHelper( + currentAccountProvider.user, + context, + fileDataStorageManager(currentAccountProvider, context) + ) @Provides @Singleton - UsersAndGroupsSearchConfig userAndGroupSearchConfig() { - return new UsersAndGroupsSearchConfig(); - } - + fun userAndGroupSearchConfig(): UsersAndGroupsSearchConfig = UsersAndGroupsSearchConfig() @Provides @Singleton - CertificateValidator certificateValidator() { - return new CertificateValidator(); - } - - @Provides - FolderThumbnailGenerator folderThumbnailGenerator( - AppPreferences appPreferences, - ViewThemeUtils viewThemeUtils, - Context context, - UserAccountManager accountManager) { - return new FolderThumbnailGenerator(appPreferences, viewThemeUtils, context, accountManager); - } - - @Provides - E2EEKeyInspector e2eeKeyInspector( - Context context, - FileDataStorageManager fileDataStorageManager, - CertificateValidator certificateValidator, - ArbitraryDataProvider arbitraryDataProvider, - UserAccountManager accountManager) { - return new E2EEKeyInspector(context, fileDataStorageManager, certificateValidator, arbitraryDataProvider, accountManager); - } - - @Provides - E2EEActionResolver e2eeActionResolver( - FileDataStorageManager fileDataStorageManager, - ArbitraryDataProvider arbitraryDataProvider, - UserAccountManager accountManager, - ConnectivityService connectivityService, - E2EEKeyInspector e2eeKeyInspector) { - return new E2EEActionResolver(fileDataStorageManager, arbitraryDataProvider, accountManager, connectivityService, e2eeKeyInspector); + fun certificateValidator(): CertificateValidator = CertificateValidator() + + @Provides + fun folderThumbnailGenerator( + appPreferences: AppPreferences, + viewThemeUtils: ViewThemeUtils, + context: Context, + accountManager: UserAccountManager + ): FolderThumbnailGenerator = FolderThumbnailGenerator(appPreferences, viewThemeUtils, context, accountManager) + + @Provides + fun e2eeKeyInspector( + context: Context, + fileDataStorageManager: FileDataStorageManager, + certificateValidator: CertificateValidator, + arbitraryDataProvider: ArbitraryDataProvider, + accountManager: UserAccountManager + ): E2EEKeyInspector = E2EEKeyInspector( + context, + fileDataStorageManager, + certificateValidator, + arbitraryDataProvider, + accountManager + ) + + @Provides + fun e2eeActionResolver( + fileDataStorageManager: FileDataStorageManager, + arbitraryDataProvider: ArbitraryDataProvider, + accountManager: UserAccountManager, + connectivityService: ConnectivityService, + e2eeKeyInspector: E2EEKeyInspector + ): E2EEActionResolver = E2EEActionResolver( + fileDataStorageManager, + arbitraryDataProvider, + accountManager, + connectivityService, + e2eeKeyInspector + ) + + companion object { + private const val LOG_DIR_NAME = "logs" + private const val LOG_FILE_NAME = "log.txt" + private const val LOG_FILE_MAX_SIZE_BYTES = 1024L * 1024L + private const val LOGGER_QUEUE_CAPACITY = 1000 + private const val UI_THREAD_POOL_SIZE = 4 + private const val IO_THREAD_POOL_SIZE = 8 + private const val UI_RUNNER_TAG = "ui" + private const val IO_RUNNER_TAG = "io" + private const val MIGRATIONS_PREFERENCES_NAME = "migrations" } } diff --git a/app/src/main/java/com/nextcloud/client/di/ComponentsModule.kt b/app/src/main/java/com/nextcloud/client/di/ComponentsModule.kt index 7aec1b7b57f6..c0db8aa893f9 100644 --- a/app/src/main/java/com/nextcloud/client/di/ComponentsModule.kt +++ b/app/src/main/java/com/nextcloud/client/di/ComponentsModule.kt @@ -1,531 +1,533 @@ /* * Nextcloud - Android Client * + * SPDX-FileCopyrightText: 2026 Alper Ozturk * SPDX-FileCopyrightText: 2024-2026 TSI-mc * SPDX-FileCopyrightText: 2020 Chris Narkiewicz * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only */ -package com.nextcloud.client.di; - -import com.nextcloud.client.documentscan.DocumentScanActivity; -import com.nextcloud.client.editimage.EditImageActivity; -import com.nextcloud.client.etm.EtmActivity; -import com.nextcloud.client.etm.pages.EtmBackgroundJobsFragment; -import com.nextcloud.client.jobs.BackgroundJobManagerImpl; -import com.nextcloud.client.jobs.NotificationWork; -import com.nextcloud.client.jobs.TestJob; -import com.nextcloud.client.jobs.transfer.FileTransferService; -import com.nextcloud.client.jobs.upload.FileUploadHelper; -import com.nextcloud.client.logger.ui.LogsActivity; -import com.nextcloud.client.logger.ui.LogsViewModel; -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.ChooseStorageLocationDialogFragment; -import com.nextcloud.ui.fileInfo.FileInfoFragment; -import com.nextcloud.ui.SetOnlineStatusBottomSheet; -import com.nextcloud.ui.SetStatusMessageBottomSheet; -import com.nextcloud.ui.albumItemActions.AlbumItemActionsBottomSheet; -import com.nextcloud.ui.composeActivity.ComposeActivity; -import com.nextcloud.ui.fileactions.FileActionsBottomSheet; -import com.nextcloud.ui.tags.TagManagementBottomSheet; -import com.nextcloud.ui.trashbinFileActions.TrashbinFileActionsBottomSheet; -import com.nmc.android.ui.LauncherActivity; -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.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.activity.AlbumsPickerActivity; -import com.owncloud.android.ui.activity.BaseActivity; -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.InternalTwoWaySyncActivity; -import com.owncloud.android.ui.activity.ManageAccountsActivity; -import com.owncloud.android.ui.activity.ManageSpaceActivity; -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.UserInfoActivity; -import com.owncloud.android.ui.dialog.AccountRemovalDialog; -import com.owncloud.android.ui.dialog.AppPassCodeDialog; -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.conflict.ConflictsResolveDialog; -import com.owncloud.android.ui.dialog.CreateAlbumDialogFragment; -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.RemoveFilesDialogFragment; -import com.owncloud.android.ui.dialog.RenameFileDialogFragment; -import com.owncloud.android.ui.dialog.SendFilesDialog; -import com.owncloud.android.ui.dialog.SendShareDialog; -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.dialog.TermsOfServiceDialog; -import com.owncloud.android.ui.dialog.ThemeSelectionDialog; -import com.owncloud.android.ui.dialog.setupEncryption.SetupEncryptionDialogFragment; -import com.owncloud.android.ui.fragment.ActivitiesFragment; -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.localfilelist.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.albums.AlbumItemsFragment; -import com.owncloud.android.ui.fragment.albums.bottomsheet.AlbumSharingBottomSheet; -import com.owncloud.android.ui.fragment.albums.AlbumsFragment; -import com.owncloud.android.ui.fragment.community.CommunityFragment; -import com.owncloud.android.ui.fragment.contactsbackup.BackupFragment; -import com.owncloud.android.ui.fragment.contactsbackup.BackupListFragment; -import com.owncloud.android.ui.fragment.notifications.NotificationsFragment; -import com.owncloud.android.ui.fragment.uploadList.UploadListFragment; -import com.owncloud.android.ui.navigation.NavigatorActivity; -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.PreviewPlaybackFragment; -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.TrashbinFragment; - -import androidx.annotation.OptIn; -import androidx.media3.common.util.UnstableApi; -import dagger.Module; -import dagger.android.ContributesAndroidInjector; +package com.nextcloud.client.di + +import androidx.annotation.OptIn +import androidx.media3.common.util.UnstableApi +import com.nextcloud.client.documentscan.DocumentScanActivity +import com.nextcloud.client.editimage.EditImageActivity +import com.nextcloud.client.etm.EtmActivity +import com.nextcloud.client.etm.pages.EtmBackgroundJobsFragment +import com.nextcloud.client.jobs.BackgroundJobManagerImpl +import com.nextcloud.client.jobs.NotificationWork +import com.nextcloud.client.jobs.TestJob +import com.nextcloud.client.jobs.transfer.FileTransferService +import com.nextcloud.client.jobs.upload.FileUploadHelper +import com.nextcloud.client.logger.ui.LogsActivity +import com.nextcloud.client.logger.ui.LogsViewModel +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.ChooseStorageLocationDialogFragment +import com.nextcloud.ui.SetOnlineStatusBottomSheet +import com.nextcloud.ui.SetStatusMessageBottomSheet +import com.nextcloud.ui.albumItemActions.AlbumItemActionsBottomSheet +import com.nextcloud.ui.composeActivity.ComposeActivity +import com.nextcloud.ui.fileInfo.FileInfoFragment +import com.nextcloud.ui.fileactions.FileActionsBottomSheet +import com.nextcloud.ui.tags.TagManagementBottomSheet +import com.nextcloud.ui.trashbinFileActions.TrashbinFileActionsBottomSheet +import com.nmc.android.ui.LauncherActivity +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.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.activity.AlbumsPickerActivity +import com.owncloud.android.ui.activity.BaseActivity +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.InternalTwoWaySyncActivity +import com.owncloud.android.ui.activity.ManageAccountsActivity +import com.owncloud.android.ui.activity.ManageSpaceActivity +import com.owncloud.android.ui.activity.PassCodeActivity +import com.owncloud.android.ui.activity.ReceiveExternalFilesActivity +import com.owncloud.android.ui.activity.ReceiveExternalFilesActivity.DialogInputUploadFilename +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.UserInfoActivity +import com.owncloud.android.ui.dialog.AccountRemovalDialog +import com.owncloud.android.ui.dialog.AppPassCodeDialog +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.CreateAlbumDialogFragment +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.RemoveFilesDialogFragment +import com.owncloud.android.ui.dialog.RenameFileDialogFragment +import com.owncloud.android.ui.dialog.SendFilesDialog +import com.owncloud.android.ui.dialog.SendShareDialog +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.dialog.TermsOfServiceDialog +import com.owncloud.android.ui.dialog.ThemeSelectionDialog +import com.owncloud.android.ui.dialog.conflict.ConflictsResolveDialog +import com.owncloud.android.ui.dialog.setupEncryption.SetupEncryptionDialogFragment +import com.owncloud.android.ui.fragment.ActivitiesFragment +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.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.albums.AlbumItemsFragment +import com.owncloud.android.ui.fragment.albums.AlbumsFragment +import com.owncloud.android.ui.fragment.albums.bottomsheet.AlbumSharingBottomSheet +import com.owncloud.android.ui.fragment.community.CommunityFragment +import com.owncloud.android.ui.fragment.contactsbackup.BackupFragment +import com.owncloud.android.ui.fragment.contactsbackup.BackupListFragment +import com.owncloud.android.ui.fragment.localfilelist.LocalFileListFragment +import com.owncloud.android.ui.fragment.notifications.NotificationsFragment +import com.owncloud.android.ui.fragment.uploadList.UploadListFragment +import com.owncloud.android.ui.navigation.NavigatorActivity +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.PreviewPlaybackFragment +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.TrashbinFragment +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 { +@Suppress("TooManyFunctions") +internal interface ComponentsModule { @ContributesAndroidInjector - abstract TrashbinFragment trashbinFragment(); + fun trashbinFragment(): TrashbinFragment @ContributesAndroidInjector - abstract UploadListFragment uploadListFragment(); + fun uploadListFragment(): UploadListFragment @ContributesAndroidInjector - abstract ActivitiesFragment activitiesFragment(); + fun activitiesFragment(): ActivitiesFragment @ContributesAndroidInjector - abstract NotificationsFragment notificationFragment(); + fun notificationFragment(): NotificationsFragment @ContributesAndroidInjector - abstract AuthenticatorActivity authenticatorActivity(); + fun authenticatorActivity(): AuthenticatorActivity @ContributesAndroidInjector - abstract BaseActivity baseActivity(); + fun baseActivity(): BaseActivity @ContributesAndroidInjector - abstract ConflictsResolveActivity conflictsResolveActivity(); + fun conflictsResolveActivity(): ConflictsResolveActivity @ContributesAndroidInjector - abstract ContactsPreferenceActivity contactsPreferenceActivity(); + fun contactsPreferenceActivity(): ContactsPreferenceActivity @ContributesAndroidInjector - abstract CopyToClipboardActivity copyToClipboardActivity(); + fun copyToClipboardActivity(): CopyToClipboardActivity @ContributesAndroidInjector - abstract DeepLinkLoginActivity deepLinkLoginActivity(); + fun deepLinkLoginActivity(): DeepLinkLoginActivity @ContributesAndroidInjector - abstract DrawerActivity drawerActivity(); + fun drawerActivity(): DrawerActivity @ContributesAndroidInjector - abstract ErrorsWhileCopyingHandlerActivity errorsWhileCopyingHandlerActivity(); + fun errorsWhileCopyingHandlerActivity(): ErrorsWhileCopyingHandlerActivity @ContributesAndroidInjector - abstract ExternalSiteWebView externalSiteWebView(); + fun externalSiteWebView(): ExternalSiteWebView @ContributesAndroidInjector - abstract FileDisplayActivity fileDisplayActivity(); + fun fileDisplayActivity(): FileDisplayActivity @ContributesAndroidInjector - abstract FilePickerActivity filePickerActivity(); + fun filePickerActivity(): FilePickerActivity @ContributesAndroidInjector - abstract FirstRunActivity firstRunActivity(); + fun firstRunActivity(): FirstRunActivity @ContributesAndroidInjector - abstract FolderPickerActivity folderPickerActivity(); + fun folderPickerActivity(): FolderPickerActivity @ContributesAndroidInjector - abstract LogsActivity logsActivity(); + fun logsActivity(): LogsActivity @ContributesAndroidInjector - abstract ManageAccountsActivity manageAccountsActivity(); + fun manageAccountsActivity(): ManageAccountsActivity @ContributesAndroidInjector - abstract ManageSpaceActivity manageSpaceActivity(); + fun manageSpaceActivity(): ManageSpaceActivity @ContributesAndroidInjector - abstract ComposeActivity composeActivity(); + fun composeActivity(): ComposeActivity @ContributesAndroidInjector - abstract PassCodeActivity passCodeActivity(); + fun passCodeActivity(): PassCodeActivity @ContributesAndroidInjector - abstract PreviewImageActivity previewImageActivity(); + fun previewImageActivity(): PreviewImageActivity @ContributesAndroidInjector - abstract ReceiveExternalFilesActivity receiveExternalFilesActivity(); + fun receiveExternalFilesActivity(): ReceiveExternalFilesActivity @ContributesAndroidInjector - abstract RequestCredentialsActivity requestCredentialsActivity(); + fun requestCredentialsActivity(): RequestCredentialsActivity @ContributesAndroidInjector - abstract SettingsActivity settingsActivity(); + fun settingsActivity(): SettingsActivity @ContributesAndroidInjector - abstract ShareActivity shareActivity(); + fun shareActivity(): ShareActivity @ContributesAndroidInjector - abstract SsoGrantPermissionActivity ssoGrantPermissionActivity(); + fun ssoGrantPermissionActivity(): SsoGrantPermissionActivity @ContributesAndroidInjector - abstract SyncedFoldersActivity syncedFoldersActivity(); + fun syncedFoldersActivity(): SyncedFoldersActivity @ContributesAndroidInjector - abstract TrashbinFileActionsBottomSheet trashbinFileActionsBottomSheet(); + fun trashbinFileActionsBottomSheet(): TrashbinFileActionsBottomSheet @ContributesAndroidInjector - abstract UploadFilesActivity uploadFilesActivity(); + fun uploadFilesActivity(): UploadFilesActivity @ContributesAndroidInjector - abstract UserInfoActivity userInfoActivity(); + fun userInfoActivity(): UserInfoActivity @ContributesAndroidInjector - abstract WhatsNewActivity whatsNewActivity(); + fun whatsNewActivity(): WhatsNewActivity @ContributesAndroidInjector - abstract EtmActivity etmActivity(); + fun etmActivity(): EtmActivity @ContributesAndroidInjector - abstract RichDocumentsEditorWebView richDocumentsWebView(); + fun richDocumentsWebView(): RichDocumentsEditorWebView @ContributesAndroidInjector - abstract TextEditorWebView textEditorWebView(); + fun textEditorWebView(): TextEditorWebView @ContributesAndroidInjector - abstract ExtendedListFragment extendedListFragment(); + fun extendedListFragment(): ExtendedListFragment @ContributesAndroidInjector - abstract FileDetailFragment fileDetailFragment(); + fun fileDetailFragment(): FileDetailFragment @ContributesAndroidInjector - abstract LocalFileListFragment localFileListFragment(); + fun localFileListFragment(): LocalFileListFragment @ContributesAndroidInjector - abstract OCFileListFragment ocFileListFragment(); + fun ocFileListFragment(): OCFileListFragment @ContributesAndroidInjector - abstract FileDetailActivitiesFragment fileDetailActivitiesFragment(); + fun fileDetailActivitiesFragment(): FileDetailActivitiesFragment @ContributesAndroidInjector - abstract FileDetailsSharingProcessFragment fileDetailsSharingProcessFragment(); + fun fileDetailsSharingProcessFragment(): FileDetailsSharingProcessFragment @ContributesAndroidInjector - abstract FileDetailSharingFragment fileDetailSharingFragment(); + fun fileDetailSharingFragment(): FileDetailSharingFragment @ContributesAndroidInjector - abstract ChooseTemplateDialogFragment chooseTemplateDialogFragment(); + fun chooseTemplateDialogFragment(): ChooseTemplateDialogFragment @ContributesAndroidInjector - abstract AccountRemovalDialog accountRemovalDialog(); + fun accountRemovalDialog(): AccountRemovalDialog @ContributesAndroidInjector - abstract ChooseRichDocumentsTemplateDialogFragment chooseRichDocumentsTemplateDialogFragment(); + fun chooseRichDocumentsTemplateDialogFragment(): ChooseRichDocumentsTemplateDialogFragment @ContributesAndroidInjector - abstract BackupFragment contactsBackupFragment(); + fun contactsBackupFragment(): BackupFragment @ContributesAndroidInjector - abstract PreviewImageFragment previewImageFragment(); + fun previewImageFragment(): PreviewImageFragment @ContributesAndroidInjector - abstract BackupListFragment chooseContactListFragment(); + fun chooseContactListFragment(): BackupListFragment @ContributesAndroidInjector - abstract PreviewTextFragment previewTextFragment(); + fun previewTextFragment(): PreviewTextFragment @ContributesAndroidInjector - abstract ChooseAccountDialogFragment chooseAccountDialogFragment(); + fun chooseAccountDialogFragment(): ChooseAccountDialogFragment @ContributesAndroidInjector - abstract SetOnlineStatusBottomSheet setOnlineStatusBottomSheet(); + fun setOnlineStatusBottomSheet(): SetOnlineStatusBottomSheet @ContributesAndroidInjector - abstract PreviewPlaybackFragment previewPlaybackFragment(); + fun previewPlaybackFragment(): PreviewPlaybackFragment @ContributesAndroidInjector - abstract PreviewTextFileFragment previewTextFileFragment(); + fun previewTextFileFragment(): PreviewTextFileFragment @ContributesAndroidInjector - abstract PreviewTextStringFragment previewTextStringFragment(); + fun previewTextStringFragment(): PreviewTextStringFragment @ContributesAndroidInjector - abstract UnifiedSearchFragment searchFragment(); + fun searchFragment(): UnifiedSearchFragment @ContributesAndroidInjector - abstract GalleryFragment photoFragment(); + fun photoFragment(): GalleryFragment @ContributesAndroidInjector - abstract MultipleAccountsDialog multipleAccountsDialog(); + fun multipleAccountsDialog(): MultipleAccountsDialog @ContributesAndroidInjector - abstract ReceiveExternalFilesActivity.DialogInputUploadFilename dialogInputUploadFilename(); + fun dialogInputUploadFilename(): DialogInputUploadFilename @ContributesAndroidInjector - abstract BootupBroadcastReceiver bootupBroadcastReceiver(); + fun bootupBroadcastReceiver(): BootupBroadcastReceiver @ContributesAndroidInjector - abstract NotificationWork.NotificationReceiver notificationWorkBroadcastReceiver(); + fun notificationWorkBroadcastReceiver(): NotificationWork.NotificationReceiver @ContributesAndroidInjector - abstract FileContentProvider fileContentProvider(); + fun fileContentProvider(): FileContentProvider @ContributesAndroidInjector - abstract UsersAndGroupsSearchProvider usersAndGroupsSearchProvider(); + fun usersAndGroupsSearchProvider(): UsersAndGroupsSearchProvider @ContributesAndroidInjector - abstract DiskLruImageCacheFileProvider diskLruImageCacheFileProvider(); + fun diskLruImageCacheFileProvider(): DiskLruImageCacheFileProvider @ContributesAndroidInjector - abstract DocumentsStorageProvider documentsStorageProvider(); + fun documentsStorageProvider(): DocumentsStorageProvider @ContributesAndroidInjector - abstract AccountManagerService accountManagerService(); + fun accountManagerService(): AccountManagerService @ContributesAndroidInjector - abstract OperationsService operationsService(); + fun operationsService(): OperationsService @ContributesAndroidInjector - abstract FileTransferService fileDownloaderService(); + fun fileDownloaderService(): FileTransferService @ContributesAndroidInjector - abstract FileSyncService fileSyncService(); + fun fileSyncService(): FileSyncService @ContributesAndroidInjector - abstract DashboardWidgetService dashboardWidgetService(); + fun dashboardWidgetService(): DashboardWidgetService @ContributesAndroidInjector - abstract PreviewPdfFragment previewPDFFragment(); + fun previewPDFFragment(): PreviewPdfFragment @ContributesAndroidInjector - abstract SharedListFragment sharedFragment(); + fun sharedFragment(): SharedListFragment @ContributesAndroidInjector - abstract FeatureFragment featureFragment(); + fun featureFragment(): FeatureFragment @ContributesAndroidInjector - abstract IndeterminateProgressDialog indeterminateProgressDialog(); + fun indeterminateProgressDialog(): IndeterminateProgressDialog @ContributesAndroidInjector - abstract SortingOrderDialogFragment sortingOrderDialogFragment(); + fun sortingOrderDialogFragment(): SortingOrderDialogFragment @ContributesAndroidInjector - abstract ConfirmationDialogFragment confirmationDialogFragment(); + fun confirmationDialogFragment(): ConfirmationDialogFragment @ContributesAndroidInjector - abstract ConflictsResolveDialog conflictsResolveDialog(); + fun conflictsResolveDialog(): ConflictsResolveDialog @ContributesAndroidInjector - abstract CreateFolderDialogFragment createFolderDialogFragment(); + fun createFolderDialogFragment(): CreateFolderDialogFragment @ContributesAndroidInjector - abstract ExpirationDatePickerDialogFragment expirationDatePickerDialogFragment(); + fun expirationDatePickerDialogFragment(): ExpirationDatePickerDialogFragment @ContributesAndroidInjector - abstract FileActivity fileActivity(); + fun fileActivity(): FileActivity @ContributesAndroidInjector - abstract FileDownloadFragment fileDownloadFragment(); + fun fileDownloadFragment(): FileDownloadFragment @ContributesAndroidInjector - abstract LoadingDialog loadingDialog(); + fun loadingDialog(): LoadingDialog @ContributesAndroidInjector - abstract LocalStoragePathPickerDialogFragment localStoragePathPickerDialogFragment(); + fun localStoragePathPickerDialogFragment(): LocalStoragePathPickerDialogFragment @ContributesAndroidInjector - abstract LogsViewModel logsViewModel(); + fun logsViewModel(): LogsViewModel @ContributesAndroidInjector - abstract MainApp mainApp(); + fun mainApp(): MainApp @ContributesAndroidInjector - abstract Migrations migrations(); + fun migrations(): Migrations @ContributesAndroidInjector - abstract NotificationWork notificationWork(); + fun notificationWork(): NotificationWork @ContributesAndroidInjector - abstract RemoveFilesDialogFragment removeFilesDialogFragment(); + fun removeFilesDialogFragment(): RemoveFilesDialogFragment @ContributesAndroidInjector - abstract SendShareDialog sendShareDialog(); + fun sendShareDialog(): SendShareDialog @ContributesAndroidInjector - abstract SetupEncryptionDialogFragment setupEncryptionDialogFragment(); + fun setupEncryptionDialogFragment(): SetupEncryptionDialogFragment @ContributesAndroidInjector - abstract ChooseStorageLocationDialogFragment chooseStorageLocationDialogFragment(); + fun chooseStorageLocationDialogFragment(): ChooseStorageLocationDialogFragment @ContributesAndroidInjector - abstract ThemeSelectionDialog themeSelectionDialog(); + fun themeSelectionDialog(): ThemeSelectionDialog @ContributesAndroidInjector - abstract AppPassCodeDialog appPassCodeDialog(); + fun appPassCodeDialog(): AppPassCodeDialog @ContributesAndroidInjector - abstract SharePasswordDialogFragment sharePasswordDialogFragment(); + fun sharePasswordDialogFragment(): SharePasswordDialogFragment @ContributesAndroidInjector - abstract SyncedFolderPreferencesDialogFragment syncedFolderPreferencesDialogFragment(); + fun syncedFolderPreferencesDialogFragment(): SyncedFolderPreferencesDialogFragment @ContributesAndroidInjector - abstract ToolbarActivity toolbarActivity(); + fun toolbarActivity(): ToolbarActivity @ContributesAndroidInjector - abstract StoragePermissionDialogFragment storagePermissionDialogFragment(); + fun storagePermissionDialogFragment(): StoragePermissionDialogFragment @ContributesAndroidInjector - abstract OCFileListBottomSheetDialog ocfileListBottomSheetDialog(); + fun ocfileListBottomSheetDialog(): OCFileListBottomSheetDialog @ContributesAndroidInjector - abstract RenameFileDialogFragment renameFileDialogFragment(); + fun renameFileDialogFragment(): RenameFileDialogFragment @ContributesAndroidInjector - abstract SyncFileNotEnoughSpaceDialogFragment syncFileNotEnoughSpaceDialogFragment(); + fun syncFileNotEnoughSpaceDialogFragment(): SyncFileNotEnoughSpaceDialogFragment @ContributesAndroidInjector - abstract DashboardWidgetConfigurationActivity dashboardWidgetConfigurationActivity(); + fun dashboardWidgetConfigurationActivity(): DashboardWidgetConfigurationActivity @ContributesAndroidInjector - abstract DashboardWidgetProvider dashboardWidgetProvider(); + fun dashboardWidgetProvider(): DashboardWidgetProvider @ContributesAndroidInjector - abstract GalleryFragmentBottomSheetDialog galleryFragmentBottomSheetDialog(); + fun galleryFragmentBottomSheetDialog(): GalleryFragmentBottomSheetDialog @ContributesAndroidInjector - abstract PreviewBitmapActivity previewBitmapActivity(); + fun previewBitmapActivity(): PreviewBitmapActivity @ContributesAndroidInjector - abstract FileUploadHelper fileUploadHelper(); + fun fileUploadHelper(): FileUploadHelper @ContributesAndroidInjector - abstract SslUntrustedCertDialog sslUntrustedCertDialog(); + fun sslUntrustedCertDialog(): SslUntrustedCertDialog @ContributesAndroidInjector - abstract FileActionsBottomSheet fileActionsBottomSheet(); + fun fileActionsBottomSheet(): FileActionsBottomSheet @ContributesAndroidInjector - abstract SendFilesDialog sendFilesDialog(); + fun sendFilesDialog(): SendFilesDialog @ContributesAndroidInjector - abstract DocumentScanActivity documentScanActivity(); + fun documentScanActivity(): DocumentScanActivity @ContributesAndroidInjector - abstract GroupfolderListFragment groupfolderListFragment(); + fun groupfolderListFragment(): GroupfolderListFragment @ContributesAndroidInjector - abstract LauncherActivity launcherActivity(); + fun launcherActivity(): LauncherActivity @ContributesAndroidInjector - abstract EditImageActivity editImageActivity(); + fun editImageActivity(): EditImageActivity @ContributesAndroidInjector - abstract FileInfoFragment fileInfoFragment(); + fun fileInfoFragment(): FileInfoFragment @ContributesAndroidInjector - abstract EtmBackgroundJobsFragment etmBackgroundJobsFragment(); + fun etmBackgroundJobsFragment(): EtmBackgroundJobsFragment @ContributesAndroidInjector - abstract BackgroundJobManagerImpl backgroundJobManagerImpl(); + fun backgroundJobManagerImpl(): BackgroundJobManagerImpl @ContributesAndroidInjector - abstract TestJob testJob(); + fun testJob(): TestJob @ContributesAndroidInjector - abstract InternalTwoWaySyncActivity internalTwoWaySyncActivity(); + fun internalTwoWaySyncActivity(): InternalTwoWaySyncActivity - @OptIn(markerClass = UnstableApi.class) + @OptIn(UnstableApi::class) @ContributesAndroidInjector - abstract TermsOfServiceDialog termsOfServiceDialog(); + fun termsOfServiceDialog(): TermsOfServiceDialog @ContributesAndroidInjector - abstract SetStatusMessageBottomSheet setStatusMessageBottomSheet(); + fun setStatusMessageBottomSheet(): SetStatusMessageBottomSheet @ContributesAndroidInjector - abstract TagManagementBottomSheet tagManagementBottomSheet(); + fun tagManagementBottomSheet(): TagManagementBottomSheet @ContributesAndroidInjector - abstract NavigatorActivity navigatorActivity(); + fun navigatorActivity(): NavigatorActivity @ContributesAndroidInjector - abstract CommunityFragment communityFragment(); + fun communityFragment(): CommunityFragment @ContributesAndroidInjector - abstract AlbumsPickerActivity albumsPickerActivity(); + fun albumsPickerActivity(): AlbumsPickerActivity @ContributesAndroidInjector - abstract CreateAlbumDialogFragment createAlbumDialogFragment(); + fun createAlbumDialogFragment(): CreateAlbumDialogFragment @ContributesAndroidInjector - abstract AlbumsFragment albumsFragment(); + fun albumsFragment(): AlbumsFragment @ContributesAndroidInjector - abstract AlbumItemsFragment albumItemsFragment(); + fun albumItemsFragment(): AlbumItemsFragment @ContributesAndroidInjector - abstract AlbumItemActionsBottomSheet albumItemActionsBottomSheet(); + fun albumItemActionsBottomSheet(): AlbumItemActionsBottomSheet @ContributesAndroidInjector - abstract AlbumSharingBottomSheet albumSharingBottomSheet(); + fun albumSharingBottomSheet(): AlbumSharingBottomSheet }