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