Skip to content

Commit cd6e369

Browse files
Merge pull request #17173 from nextcloud/fix/folder-refresh-scheduler
fix(folder-refresh-scheduler): updating
2 parents 0186a3b + e8246d2 commit cd6e369

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

app/src/main/java/com/owncloud/android/operations/FolderRefreshScheduler.kt

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,19 @@
88
package com.owncloud.android.operations
99

1010
import androidx.lifecycle.lifecycleScope
11+
import com.owncloud.android.datamodel.OCFile
1112
import com.owncloud.android.lib.common.operations.RemoteOperationResult
1213
import com.owncloud.android.lib.common.utils.Log_OC
1314
import com.owncloud.android.lib.resources.files.CheckEtagRemoteOperation
1415
import com.owncloud.android.ui.activity.FileDisplayActivity
16+
import com.owncloud.android.ui.fragment.OCFileListFragment
1517
import kotlinx.coroutines.Dispatchers
1618
import kotlinx.coroutines.Job
1719
import kotlinx.coroutines.delay
1820
import kotlinx.coroutines.isActive
1921
import kotlinx.coroutines.launch
2022
import kotlinx.coroutines.withContext
23+
import kotlin.time.Duration.Companion.milliseconds
2124

2225
class FolderRefreshScheduler(private val activity: FileDisplayActivity) {
2326
companion object {
@@ -32,7 +35,7 @@ class FolderRefreshScheduler(private val activity: FileDisplayActivity) {
3235

3336
job = activity.lifecycleScope.launch {
3437
while (isActive) {
35-
delay(ETAG_POLL_INTERVAL_MS)
38+
delay(ETAG_POLL_INTERVAL_MS.milliseconds)
3639
checkAndRefreshIfETagChanged()
3740
}
3841
}
@@ -53,9 +56,9 @@ class FolderRefreshScheduler(private val activity: FileDisplayActivity) {
5356
return
5457
}
5558

56-
val currentDir = activity.getCurrentDir()
57-
if (currentDir == null) {
58-
Log_OC.w(TAG, "current directory is null")
59+
val fragment = (activity.leftFragment)
60+
if (fragment !is OCFileListFragment) {
61+
Log_OC.w(TAG, "OCFileListFragment not active")
5962
return
6063
}
6164

@@ -65,6 +68,13 @@ class FolderRefreshScheduler(private val activity: FileDisplayActivity) {
6568
return
6669
}
6770

71+
val currentDir =
72+
activity.getCurrentDir() ?: activity.storageManager.getFileByDecryptedRemotePath(OCFile.ROOT_PATH)
73+
if (currentDir == null) {
74+
Log_OC.w(TAG, "current directory is null")
75+
return
76+
}
77+
6878
val localEtag = currentDir.etag ?: ""
6979

7080
Log_OC.d(TAG, "eTag poll → checking '${currentDir.remotePath}' (local eTag='$localEtag')")

0 commit comments

Comments
 (0)