Skip to content

Commit 03f138b

Browse files
committed
remove deduplicated root folder refresh operation
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
1 parent da8ebf8 commit 03f138b

4 files changed

Lines changed: 11 additions & 5 deletions

File tree

app/src/main/java/com/nextcloud/client/jobs/BackgroundJobManager.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ interface BackgroundJobManager {
175175
fun startPeriodicallyOfflineOperation()
176176
fun scheduleInternal2WaySync(intervalMinutes: Long)
177177
fun cancelAllFilesDownloadJobs()
178-
fun startMetadataSyncJob(currentDirPath: String)
178+
fun startMetadataSyncJob(currentDirPath: String, folderAlreadySynced: Boolean = false)
179179
fun downloadFolder(folder: OCFile, accountName: String)
180180
fun cancelFolderDownload()
181181
fun locallyDeleteAutoUploadedFiles(syncedFolders: List<SyncedFolder>)

app/src/main/java/com/nextcloud/client/jobs/BackgroundJobManagerImpl.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,9 +560,10 @@ internal class BackgroundJobManagerImpl(
560560
workManager.cancelAllWorkByTag(formatClassTag(FileDownloadWorker::class))
561561
}
562562

563-
override fun startMetadataSyncJob(currentDirPath: String) {
563+
override fun startMetadataSyncJob(currentDirPath: String, folderAlreadySynced: Boolean) {
564564
val inputData = Data.Builder()
565565
.putString(MetadataWorker.FILE_PATH, currentDirPath)
566+
.putBoolean(MetadataWorker.FOLDER_ALREADY_SYNCED, folderAlreadySynced)
566567
.build()
567568

568569
val constrains = Constraints.Builder()

app/src/main/java/com/nextcloud/client/jobs/metadata/MetadataWorker.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class MetadataWorker(private val context: Context, params: WorkerParameters, pri
2626
companion object {
2727
private const val TAG = "MetadataWorker"
2828
const val FILE_PATH = "file_path"
29+
const val FOLDER_ALREADY_SYNCED = "folder_already_synced"
2930
}
3031

3132
override suspend fun doWork(): Result {
@@ -49,7 +50,8 @@ class MetadataWorker(private val context: Context, params: WorkerParameters, pri
4950

5051
Log_OC.d(TAG, "Starting metadata sync for folder: $filePath, id: ${currentDir.fileId}")
5152

52-
if (!refreshFolder(currentDir, storageManager)) return Result.failure()
53+
val folderAlreadySynced = inputData.getBoolean(FOLDER_ALREADY_SYNCED, false)
54+
if (!folderAlreadySynced && !refreshFolder(currentDir, storageManager)) return Result.failure()
5355

5456
val refreshedDir = storageManager.getFileByPath(filePath) ?: run {
5557
Log_OC.e(TAG, "File not found after refresh: $filePath")

app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,6 @@ class FileDisplayActivity :
316316

317317
checkStoragePath()
318318
observeWorkerState()
319-
startMetadataSyncForRoot()
320319
handleBackPress()
321320
setupDrawer(menuItemId)
322321
}
@@ -1612,6 +1611,10 @@ class FileDisplayActivity :
16121611
file = currentFile
16131612
}
16141613

1614+
if (isSyncFolderRemotePathRoot) {
1615+
startMetadataSyncForRoot()
1616+
}
1617+
16151618
handleSyncResult(event, syncResult)
16161619
DataHolderUtil.getInstance().delete(id)
16171620
handleScrollBehaviour(fileListFragment)
@@ -3289,7 +3292,7 @@ class FileDisplayActivity :
32893292

32903293
// region MetadataSyncJob
32913294
private fun startMetadataSyncForRoot() {
3292-
backgroundJobManager.startMetadataSyncJob(OCFile.ROOT_PATH)
3295+
backgroundJobManager.startMetadataSyncJob(OCFile.ROOT_PATH, folderAlreadySynced = true)
32933296
}
32943297

32953298
private fun startMetadataSyncForCurrentDir() {

0 commit comments

Comments
 (0)