Эх сурвалжийг харах

add inject for SyncedFolderProvider

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
tobiasKaminsky 2 жил өмнө
parent
commit
385d0e9d46

+ 2 - 7
app/src/main/java/com/nextcloud/client/jobs/AccountRemovalWork.kt

@@ -32,7 +32,6 @@ import com.nextcloud.client.account.User
 import com.nextcloud.client.account.UserAccountManager
 import com.nextcloud.client.account.UserAccountManager
 import com.nextcloud.client.core.Clock
 import com.nextcloud.client.core.Clock
 import com.nextcloud.client.preferences.AppPreferences
 import com.nextcloud.client.preferences.AppPreferences
-import com.nextcloud.client.preferences.AppPreferencesImpl
 import com.nextcloud.common.NextcloudClient
 import com.nextcloud.common.NextcloudClient
 import com.nextcloud.java.util.Optional
 import com.nextcloud.java.util.Optional
 import com.owncloud.android.MainApp
 import com.owncloud.android.MainApp
@@ -69,7 +68,8 @@ class AccountRemovalWork(
     private val backgroundJobManager: BackgroundJobManager,
     private val backgroundJobManager: BackgroundJobManager,
     private val clock: Clock,
     private val clock: Clock,
     private val eventBus: EventBus,
     private val eventBus: EventBus,
-    private val preferences: AppPreferences
+    private val preferences: AppPreferences,
+    private val syncedFolderProvider: SyncedFolderProvider
 ) : Worker(context, params) {
 ) : Worker(context, params) {
 
 
     companion object {
     companion object {
@@ -180,11 +180,6 @@ class AccountRemovalWork(
     }
     }
 
 
     private fun removeSyncedFolders(context: Context, user: User, clock: Clock) {
     private fun removeSyncedFolders(context: Context, user: User, clock: Clock) {
-        val syncedFolderProvider = SyncedFolderProvider(
-            context.contentResolver,
-            AppPreferencesImpl.fromContext(context),
-            clock
-        )
         val syncedFolders = syncedFolderProvider.syncedFolders
         val syncedFolders = syncedFolderProvider.syncedFolders
         val syncedFolderIds: MutableList<Long> = ArrayList()
         val syncedFolderIds: MutableList<Long> = ArrayList()
         for (syncedFolder in syncedFolders) {
         for (syncedFolder in syncedFolders) {

+ 10 - 11
app/src/main/java/com/nextcloud/client/jobs/BackgroundJobFactory.kt

@@ -72,7 +72,8 @@ class BackgroundJobFactory @Inject constructor(
     private val deckApi: DeckApi,
     private val deckApi: DeckApi,
     private val viewThemeUtils: Provider<ViewThemeUtils>,
     private val viewThemeUtils: Provider<ViewThemeUtils>,
     private val localBroadcastManager: Provider<LocalBroadcastManager>,
     private val localBroadcastManager: Provider<LocalBroadcastManager>,
-    private val generatePdfUseCase: GeneratePDFUseCase
+    private val generatePdfUseCase: GeneratePDFUseCase,
+    private val syncedFolderProvider: SyncedFolderProvider
 ) : WorkerFactory() {
 ) : WorkerFactory() {
 
 
     @SuppressLint("NewApi")
     @SuppressLint("NewApi")
@@ -90,7 +91,7 @@ class BackgroundJobFactory @Inject constructor(
 
 
         // ContentObserverWork requires N
         // ContentObserverWork requires N
         return if (deviceInfo.apiLevel >= Build.VERSION_CODES.N && workerClass == ContentObserverWork::class) {
         return if (deviceInfo.apiLevel >= Build.VERSION_CODES.N && workerClass == ContentObserverWork::class) {
-            createContentObserverJob(context, workerParameters, clock)
+            createContentObserverJob(context, workerParameters)
         } else {
         } else {
             when (workerClass) {
             when (workerClass) {
                 ContactsBackupWork::class -> createContactsBackupWork(context, workerParameters)
                 ContactsBackupWork::class -> createContactsBackupWork(context, workerParameters)
@@ -125,16 +126,14 @@ class BackgroundJobFactory @Inject constructor(
 
 
     private fun createContentObserverJob(
     private fun createContentObserverJob(
         context: Context,
         context: Context,
-        workerParameters: WorkerParameters,
-        clock: Clock
+        workerParameters: WorkerParameters
     ): ListenableWorker? {
     ): ListenableWorker? {
-        val folderResolver = SyncedFolderProvider(contentResolver, preferences, clock)
         @RequiresApi(Build.VERSION_CODES.N)
         @RequiresApi(Build.VERSION_CODES.N)
         if (deviceInfo.apiLevel >= Build.VERSION_CODES.N) {
         if (deviceInfo.apiLevel >= Build.VERSION_CODES.N) {
             return ContentObserverWork(
             return ContentObserverWork(
                 context,
                 context,
                 workerParameters,
                 workerParameters,
-                folderResolver,
+                syncedFolderProvider,
                 powerManagementService,
                 powerManagementService,
                 backgroundJobManager.get()
                 backgroundJobManager.get()
             )
             )
@@ -186,14 +185,12 @@ class BackgroundJobFactory @Inject constructor(
         return FilesSyncWork(
         return FilesSyncWork(
             context = context,
             context = context,
             params = params,
             params = params,
-            resources = resources,
             contentResolver = contentResolver,
             contentResolver = contentResolver,
             userAccountManager = accountManager,
             userAccountManager = accountManager,
-            preferences = preferences,
             uploadsStorageManager = uploadsStorageManager,
             uploadsStorageManager = uploadsStorageManager,
             connectivityService = connectivityService,
             connectivityService = connectivityService,
             powerManagementService = powerManagementService,
             powerManagementService = powerManagementService,
-            clock = clock
+            syncedFolderProvider = syncedFolderProvider
         )
         )
     }
     }
 
 
@@ -217,7 +214,8 @@ class BackgroundJobFactory @Inject constructor(
             accountManager,
             accountManager,
             preferences,
             preferences,
             clock,
             clock,
-            viewThemeUtils.get()
+            viewThemeUtils.get(),
+            syncedFolderProvider
         )
         )
     }
     }
 
 
@@ -241,7 +239,8 @@ class BackgroundJobFactory @Inject constructor(
             backgroundJobManager.get(),
             backgroundJobManager.get(),
             clock,
             clock,
             eventBus,
             eventBus,
-            preferences
+            preferences,
+            syncedFolderProvider
         )
         )
     }
     }
 
 

+ 2 - 7
app/src/main/java/com/nextcloud/client/jobs/FilesSyncWork.kt

@@ -30,10 +30,8 @@ import androidx.exifinterface.media.ExifInterface
 import androidx.work.Worker
 import androidx.work.Worker
 import androidx.work.WorkerParameters
 import androidx.work.WorkerParameters
 import com.nextcloud.client.account.UserAccountManager
 import com.nextcloud.client.account.UserAccountManager
-import com.nextcloud.client.core.Clock
 import com.nextcloud.client.device.PowerManagementService
 import com.nextcloud.client.device.PowerManagementService
 import com.nextcloud.client.network.ConnectivityService
 import com.nextcloud.client.network.ConnectivityService
-import com.nextcloud.client.preferences.AppPreferences
 import com.owncloud.android.R
 import com.owncloud.android.R
 import com.owncloud.android.datamodel.ArbitraryDataProvider
 import com.owncloud.android.datamodel.ArbitraryDataProvider
 import com.owncloud.android.datamodel.ArbitraryDataProviderImpl
 import com.owncloud.android.datamodel.ArbitraryDataProviderImpl
@@ -60,14 +58,12 @@ import java.util.TimeZone
 class FilesSyncWork(
 class FilesSyncWork(
     private val context: Context,
     private val context: Context,
     params: WorkerParameters,
     params: WorkerParameters,
-    private val resources: Resources,
     private val contentResolver: ContentResolver,
     private val contentResolver: ContentResolver,
     private val userAccountManager: UserAccountManager,
     private val userAccountManager: UserAccountManager,
-    private val preferences: AppPreferences,
     private val uploadsStorageManager: UploadsStorageManager,
     private val uploadsStorageManager: UploadsStorageManager,
     private val connectivityService: ConnectivityService,
     private val connectivityService: ConnectivityService,
     private val powerManagementService: PowerManagementService,
     private val powerManagementService: PowerManagementService,
-    private val clock: Clock
+    private val syncedFolderProvider: SyncedFolderProvider
 ) : Worker(context, params) {
 ) : Worker(context, params) {
 
 
     companion object {
     companion object {
@@ -91,10 +87,9 @@ class FilesSyncWork(
             connectivityService,
             connectivityService,
             powerManagementService
             powerManagementService
         )
         )
-        FilesSyncHelper.insertAllDBEntries(preferences, clock, skipCustom)
+        FilesSyncHelper.insertAllDBEntries(skipCustom, syncedFolderProvider)
         // Create all the providers we'll need
         // Create all the providers we'll need
         val filesystemDataProvider = FilesystemDataProvider(contentResolver)
         val filesystemDataProvider = FilesystemDataProvider(contentResolver)
-        val syncedFolderProvider = SyncedFolderProvider(contentResolver, preferences, clock)
         val currentLocale = resources.configuration.locale
         val currentLocale = resources.configuration.locale
         val dateFormat = SimpleDateFormat("yyyy:MM:dd HH:mm:ss", currentLocale)
         val dateFormat = SimpleDateFormat("yyyy:MM:dd HH:mm:ss", currentLocale)
         dateFormat.timeZone = TimeZone.getTimeZone(TimeZone.getDefault().id)
         dateFormat.timeZone = TimeZone.getTimeZone(TimeZone.getDefault().id)

+ 2 - 2
app/src/main/java/com/nextcloud/client/jobs/MediaFoldersDetectionWork.kt

@@ -68,7 +68,8 @@ class MediaFoldersDetectionWork constructor(
     private val userAccountManager: UserAccountManager,
     private val userAccountManager: UserAccountManager,
     private val preferences: AppPreferences,
     private val preferences: AppPreferences,
     private val clock: Clock,
     private val clock: Clock,
-    private val viewThemeUtils: ViewThemeUtils
+    private val viewThemeUtils: ViewThemeUtils,
+    private val syncedFolderProvider: SyncedFolderProvider
 ) : Worker(context, params) {
 ) : Worker(context, params) {
 
 
     companion object {
     companion object {
@@ -86,7 +87,6 @@ class MediaFoldersDetectionWork constructor(
     @Suppress("LongMethod", "ComplexMethod", "NestedBlockDepth") // legacy code
     @Suppress("LongMethod", "ComplexMethod", "NestedBlockDepth") // legacy code
     override fun doWork(): Result {
     override fun doWork(): Result {
         val arbitraryDataProvider: ArbitraryDataProvider = ArbitraryDataProviderImpl(context)
         val arbitraryDataProvider: ArbitraryDataProvider = ArbitraryDataProviderImpl(context)
-        val syncedFolderProvider = SyncedFolderProvider(contentResolver, preferences, clock)
         val gson = Gson()
         val gson = Gson()
         val mediaFoldersModel: MediaFoldersModel
         val mediaFoldersModel: MediaFoldersModel
         val imageMediaFolders = MediaProvider.getImageFolders(
         val imageMediaFolders = MediaProvider.getImageFolders(

+ 0 - 9
app/src/main/java/com/nextcloud/ui/fileactions/FileActionsBottomSheet.kt

@@ -43,10 +43,8 @@ import androidx.lifecycle.ViewModelProvider
 import com.google.android.material.bottomsheet.BottomSheetDialogFragment
 import com.google.android.material.bottomsheet.BottomSheetDialogFragment
 import com.nextcloud.android.common.ui.theme.utils.ColorRole
 import com.nextcloud.android.common.ui.theme.utils.ColorRole
 import com.nextcloud.client.account.CurrentAccountProvider
 import com.nextcloud.client.account.CurrentAccountProvider
-import com.nextcloud.client.core.Clock
 import com.nextcloud.client.di.Injectable
 import com.nextcloud.client.di.Injectable
 import com.nextcloud.client.di.ViewModelFactory
 import com.nextcloud.client.di.ViewModelFactory
-import com.nextcloud.client.preferences.AppPreferences
 import com.owncloud.android.R
 import com.owncloud.android.R
 import com.owncloud.android.databinding.FileActionsBottomSheetBinding
 import com.owncloud.android.databinding.FileActionsBottomSheetBinding
 import com.owncloud.android.databinding.FileActionsBottomSheetItemBinding
 import com.owncloud.android.databinding.FileActionsBottomSheetItemBinding
@@ -76,11 +74,6 @@ class FileActionsBottomSheet private constructor() : BottomSheetDialogFragment()
     lateinit var storageManager: FileDataStorageManager
     lateinit var storageManager: FileDataStorageManager
 
 
     @Inject
     @Inject
-    lateinit var preferences: AppPreferences
-
-    @Inject
-    lateinit var clock: Clock
-
     lateinit var syncedFolderProvider: SyncedFolderProvider
     lateinit var syncedFolderProvider: SyncedFolderProvider
 
 
     lateinit var viewModel: FileActionsViewModel
     lateinit var viewModel: FileActionsViewModel
@@ -101,8 +94,6 @@ class FileActionsBottomSheet private constructor() : BottomSheetDialogFragment()
         viewModel = ViewModelProvider(this, vmFactory)[FileActionsViewModel::class.java]
         viewModel = ViewModelProvider(this, vmFactory)[FileActionsViewModel::class.java]
         _binding = FileActionsBottomSheetBinding.inflate(inflater, container, false)
         _binding = FileActionsBottomSheetBinding.inflate(inflater, container, false)
 
 
-        syncedFolderProvider = SyncedFolderProvider(requireContext().contentResolver, preferences, clock)
-
         viewModel.uiState.observe(viewLifecycleOwner, this::handleState)
         viewModel.uiState.observe(viewLifecycleOwner, this::handleState)
 
 
         viewModel.clickActionId.observe(viewLifecycleOwner) { id ->
         viewModel.clickActionId.observe(viewLifecycleOwner) { id ->

+ 1 - 7
app/src/main/java/com/owncloud/android/ui/activity/EditorWebView.java

@@ -39,8 +39,6 @@ import android.widget.Toast;
 
 
 import com.google.android.material.snackbar.Snackbar;
 import com.google.android.material.snackbar.Snackbar;
 import com.nextcloud.client.account.User;
 import com.nextcloud.client.account.User;
-import com.nextcloud.client.core.Clock;
-import com.nextcloud.client.preferences.AppPreferences;
 import com.nextcloud.java.util.Optional;
 import com.nextcloud.java.util.Optional;
 import com.owncloud.android.R;
 import com.owncloud.android.R;
 import com.owncloud.android.databinding.RichdocumentsWebviewBinding;
 import com.owncloud.android.databinding.RichdocumentsWebviewBinding;
@@ -61,10 +59,7 @@ public abstract class EditorWebView extends ExternalSiteWebView {
 
 
     RichdocumentsWebviewBinding binding;
     RichdocumentsWebviewBinding binding;
 
 
-    private SyncedFolderProvider syncedFolderProvider;
-
-    @Inject
-    Clock clock;
+    @Inject SyncedFolderProvider syncedFolderProvider;
 
 
     protected void loadUrl(String url) {
     protected void loadUrl(String url) {
         onUrlLoaded(url);
         onUrlLoaded(url);
@@ -164,7 +159,6 @@ public abstract class EditorWebView extends ExternalSiteWebView {
             finish();
             finish();
             return;
             return;
         }
         }
-        syncedFolderProvider = new SyncedFolderProvider(getContentResolver(), preferences, clock);
         initLoadingScreen(user.get());
         initLoadingScreen(user.get());
     }
     }
 
 

+ 1 - 6
app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java

@@ -59,7 +59,6 @@ import android.widget.Toast;
 
 
 import com.google.android.material.button.MaterialButton;
 import com.google.android.material.button.MaterialButton;
 import com.nextcloud.client.account.User;
 import com.nextcloud.client.account.User;
-import com.nextcloud.client.core.Clock;
 import com.nextcloud.client.di.Injectable;
 import com.nextcloud.client.di.Injectable;
 import com.nextcloud.client.preferences.AppPreferences;
 import com.nextcloud.client.preferences.AppPreferences;
 import com.owncloud.android.MainApp;
 import com.owncloud.android.MainApp;
@@ -145,7 +144,7 @@ public class ReceiveExternalFilesActivity extends FileActivity
 
 
     @Inject AppPreferences preferences;
     @Inject AppPreferences preferences;
     @Inject LocalBroadcastManager localBroadcastManager;
     @Inject LocalBroadcastManager localBroadcastManager;
-    @Inject Clock clock;
+    @Inject SyncedFolderProvider syncedFolderProvider;
     private AccountManager mAccountManager;
     private AccountManager mAccountManager;
     private Stack<String> mParents = new Stack<>();
     private Stack<String> mParents = new Stack<>();
     private List<Parcelable> mStreamsToUpload;
     private List<Parcelable> mStreamsToUpload;
@@ -155,8 +154,6 @@ public class ReceiveExternalFilesActivity extends FileActivity
     private SyncBroadcastReceiver mSyncBroadcastReceiver;
     private SyncBroadcastReceiver mSyncBroadcastReceiver;
     private boolean mSyncInProgress;
     private boolean mSyncInProgress;
 
 
-    private SyncedFolderProvider syncedFolderProvider;
-
     private final static int REQUEST_CODE__SETUP_ACCOUNT = REQUEST_CODE__LAST_SHARED + 1;
     private final static int REQUEST_CODE__SETUP_ACCOUNT = REQUEST_CODE__LAST_SHARED + 1;
 
 
     private final static String KEY_PARENTS = "PARENTS";
     private final static String KEY_PARENTS = "PARENTS";
@@ -194,8 +191,6 @@ public class ReceiveExternalFilesActivity extends FileActivity
         binding = ReceiveExternalFilesBinding.inflate(getLayoutInflater());
         binding = ReceiveExternalFilesBinding.inflate(getLayoutInflater());
         setContentView(binding.getRoot());
         setContentView(binding.getRoot());
 
 
-        syncedFolderProvider = new SyncedFolderProvider(getContentResolver(), preferences, clock);
-
         // Listen for sync messages
         // Listen for sync messages
         IntentFilter syncIntentFilter = new IntentFilter(RefreshFolderOperation.
         IntentFilter syncIntentFilter = new IntentFilter(RefreshFolderOperation.
                                                              EVENT_SINGLE_FOLDER_CONTENTS_SYNCED);
                                                              EVENT_SINGLE_FOLDER_CONTENTS_SYNCED);

+ 3 - 2
app/src/main/java/com/owncloud/android/ui/activity/SyncedFoldersActivity.kt

@@ -160,9 +160,11 @@ class SyncedFoldersActivity :
     @Inject
     @Inject
     lateinit var viewThemeUtils: ViewThemeUtils
     lateinit var viewThemeUtils: ViewThemeUtils
 
 
+    @Inject
+    lateinit var syncedFolderProvider: SyncedFolderProvider
+
     private lateinit var binding: SyncedFoldersLayoutBinding
     private lateinit var binding: SyncedFoldersLayoutBinding
     private lateinit var adapter: SyncedFolderAdapter
     private lateinit var adapter: SyncedFolderAdapter
-    private lateinit var syncedFolderProvider: SyncedFolderProvider
 
 
     private var syncedFolderPreferencesDialogFragment: SyncedFolderPreferencesDialogFragment? = null
     private var syncedFolderPreferencesDialogFragment: SyncedFolderPreferencesDialogFragment? = null
     private var path: String? = null
     private var path: String? = null
@@ -256,7 +258,6 @@ class SyncedFoldersActivity :
             lightVersion,
             lightVersion,
             viewThemeUtils
             viewThemeUtils
         )
         )
-        syncedFolderProvider = SyncedFolderProvider(contentResolver, preferences, clock)
         binding.emptyList.emptyListIcon.setImageResource(R.drawable.nav_synced_folders)
         binding.emptyList.emptyListIcon.setImageResource(R.drawable.nav_synced_folders)
         viewThemeUtils.material.colorMaterialButtonPrimaryFilled(binding.emptyList.emptyListViewAction)
         viewThemeUtils.material.colorMaterialButtonPrimaryFilled(binding.emptyList.emptyListViewAction)
         val lm = GridLayoutManager(this, gridWidth)
         val lm = GridLayoutManager(this, gridWidth)

+ 1 - 8
app/src/main/java/com/owncloud/android/ui/dialog/ConflictsResolveDialog.java

@@ -31,9 +31,7 @@ import android.widget.Toast;
 
 
 import com.google.android.material.dialog.MaterialAlertDialogBuilder;
 import com.google.android.material.dialog.MaterialAlertDialogBuilder;
 import com.nextcloud.client.account.User;
 import com.nextcloud.client.account.User;
-import com.nextcloud.client.core.Clock;
 import com.nextcloud.client.di.Injectable;
 import com.nextcloud.client.di.Injectable;
-import com.nextcloud.client.preferences.AppPreferences;
 import com.owncloud.android.R;
 import com.owncloud.android.R;
 import com.owncloud.android.databinding.ConflictResolveDialogBinding;
 import com.owncloud.android.databinding.ConflictResolveDialogBinding;
 import com.owncloud.android.datamodel.FileDataStorageManager;
 import com.owncloud.android.datamodel.FileDataStorageManager;
@@ -74,10 +72,7 @@ public class ConflictsResolveDialog extends DialogFragment implements Injectable
     private final List<ThumbnailsCacheManager.ThumbnailGenerationTask> asyncTasks = new ArrayList<>();
     private final List<ThumbnailsCacheManager.ThumbnailGenerationTask> asyncTasks = new ArrayList<>();
     private Button positiveButton;
     private Button positiveButton;
     @Inject ViewThemeUtils viewThemeUtils;
     @Inject ViewThemeUtils viewThemeUtils;
-    @Inject AppPreferences preferences;
-    @Inject Clock clock;
-
-    private SyncedFolderProvider syncedFolderProvider;
+    @Inject SyncedFolderProvider syncedFolderProvider;
 
 
     private static final String KEY_NEW_FILE = "file";
     private static final String KEY_NEW_FILE = "file";
     private static final String KEY_EXISTING_FILE = "ocfile";
     private static final String KEY_EXISTING_FILE = "ocfile";
@@ -162,8 +157,6 @@ public class ConflictsResolveDialog extends DialogFragment implements Injectable
         // Inflate the layout for the dialog
         // Inflate the layout for the dialog
         binding = ConflictResolveDialogBinding.inflate(requireActivity().getLayoutInflater());
         binding = ConflictResolveDialogBinding.inflate(requireActivity().getLayoutInflater());
 
 
-        syncedFolderProvider = new SyncedFolderProvider(requireContext().getContentResolver(), preferences, clock);
-
         viewThemeUtils.platform.themeCheckbox(binding.newCheckbox);
         viewThemeUtils.platform.themeCheckbox(binding.newCheckbox);
         viewThemeUtils.platform.themeCheckbox(binding.existingCheckbox);
         viewThemeUtils.platform.themeCheckbox(binding.existingCheckbox);
 
 

+ 2 - 9
app/src/main/java/com/owncloud/android/utils/FilesSyncHelper.java

@@ -32,12 +32,10 @@ import android.os.Build;
 import android.provider.MediaStore;
 import android.provider.MediaStore;
 
 
 import com.nextcloud.client.account.UserAccountManager;
 import com.nextcloud.client.account.UserAccountManager;
-import com.nextcloud.client.core.Clock;
 import com.nextcloud.client.device.BatteryStatus;
 import com.nextcloud.client.device.BatteryStatus;
 import com.nextcloud.client.device.PowerManagementService;
 import com.nextcloud.client.device.PowerManagementService;
 import com.nextcloud.client.jobs.BackgroundJobManager;
 import com.nextcloud.client.jobs.BackgroundJobManager;
 import com.nextcloud.client.network.ConnectivityService;
 import com.nextcloud.client.network.ConnectivityService;
-import com.nextcloud.client.preferences.AppPreferences;
 import com.owncloud.android.MainApp;
 import com.owncloud.android.MainApp;
 import com.owncloud.android.datamodel.FilesystemDataProvider;
 import com.owncloud.android.datamodel.FilesystemDataProvider;
 import com.owncloud.android.datamodel.MediaFolderType;
 import com.owncloud.android.datamodel.MediaFolderType;
@@ -122,13 +120,8 @@ public final class FilesSyncHelper {
         }
         }
     }
     }
 
 
-    public static void insertAllDBEntries(AppPreferences preferences,
-                                          Clock clock,
-                                          boolean skipCustom) {
-        final Context context = MainApp.getAppContext();
-        final ContentResolver contentResolver = context.getContentResolver();
-        SyncedFolderProvider syncedFolderProvider = new SyncedFolderProvider(contentResolver, preferences, clock);
-
+    public static void insertAllDBEntries(boolean skipCustom,
+                                          SyncedFolderProvider syncedFolderProvider) {
         for (SyncedFolder syncedFolder : syncedFolderProvider.getSyncedFolders()) {
         for (SyncedFolder syncedFolder : syncedFolderProvider.getSyncedFolders()) {
             if (syncedFolder.isEnabled() && (!skipCustom || syncedFolder.getType() != MediaFolderType.CUSTOM)) {
             if (syncedFolder.isEnabled() && (!skipCustom || syncedFolder.getType() != MediaFolderType.CUSTOM)) {
                 insertAllDBEntriesForSyncedFolder(syncedFolder);
                 insertAllDBEntriesForSyncedFolder(syncedFolder);

+ 6 - 1
app/src/test/java/com/nextcloud/client/jobs/BackgroundJobFactoryTest.kt

@@ -36,6 +36,7 @@ import com.nextcloud.client.logger.Logger
 import com.nextcloud.client.network.ConnectivityService
 import com.nextcloud.client.network.ConnectivityService
 import com.nextcloud.client.preferences.AppPreferences
 import com.nextcloud.client.preferences.AppPreferences
 import com.owncloud.android.datamodel.ArbitraryDataProvider
 import com.owncloud.android.datamodel.ArbitraryDataProvider
+import com.owncloud.android.datamodel.SyncedFolderProvider
 import com.owncloud.android.datamodel.UploadsStorageManager
 import com.owncloud.android.datamodel.UploadsStorageManager
 import com.owncloud.android.utils.theme.ViewThemeUtils
 import com.owncloud.android.utils.theme.ViewThemeUtils
 import org.greenrobot.eventbus.EventBus
 import org.greenrobot.eventbus.EventBus
@@ -109,6 +110,9 @@ class BackgroundJobFactoryTest {
     @Mock
     @Mock
     private lateinit var generatePDFUseCase: GeneratePDFUseCase
     private lateinit var generatePDFUseCase: GeneratePDFUseCase
 
 
+    @Mock
+    private lateinit var syncedFolderProvider: SyncedFolderProvider
+
     private lateinit var factory: BackgroundJobFactory
     private lateinit var factory: BackgroundJobFactory
 
 
     @Before
     @Before
@@ -132,7 +136,8 @@ class BackgroundJobFactoryTest {
             deckApi,
             deckApi,
             { viewThemeUtils },
             { viewThemeUtils },
             { localBroadcastManager },
             { localBroadcastManager },
-            generatePDFUseCase
+            generatePDFUseCase,
+            syncedFolderProvider
         )
         )
     }
     }