@@ -267,9 +267,6 @@ protected RemoteOperationResult run(OwnCloudClient client) {
267267 updateUserProfile ();
268268 }
269269
270- // check first parent dirs are saved
271- fileDataStorageManager .saveFileWithParent (mLocalFolder , mContext );
272-
273270 result = checkForChanges (client );
274271
275272 if (result .isSuccess ()) {
@@ -403,11 +400,6 @@ private void updatePredefinedStatus(ArbitraryDataProvider arbitraryDataProvider)
403400
404401 private RemoteOperationResult checkForChanges (OwnCloudClient client ) {
405402 mRemoteFolderChanged = true ;
406- if (isMetadataSyncWorkerRunning ) {
407- Log_OC .d (TAG , "Skipping eTag check since metadata worker already did" );
408- return new RemoteOperationResult <>(ResultCode .OK );
409- }
410-
411403 RemoteOperationResult <?> result ;
412404 String remotePath = mLocalFolder .getRemotePath ();
413405
@@ -417,16 +409,18 @@ private RemoteOperationResult checkForChanges(OwnCloudClient client) {
417409 result = new ReadFileRemoteOperation (remotePath ).execute (client );
418410
419411 if (result .isSuccess ()) {
420- if (!mIgnoreETag && result .getData ().get (0 ) instanceof RemoteFile remoteFile ) {
412+ OCFile remoteFolder = FileStorageUtils .fillOCFile ((RemoteFile ) result .getData ().get (0 ));
413+
414+ if (!mIgnoreETag ) {
421415 // check if remote and local folder are different
422- String remoteFolderETag = remoteFile .getEtag ();
416+ String remoteFolderETag = remoteFolder .getEtag ();
423417 if (remoteFolderETag != null ) {
424418 String localFolderEtag = mLocalFolder .getEtag ();
425419 mRemoteFolderChanged = StringExtensionsKt .eTagChanged (remoteFolderETag , localFolderEtag );
426420 Log_OC .d (
427421 TAG ,
428422 "📂 eTag check\n " +
429- " Path: " + remoteFile .getRemotePath () + "\n " +
423+ " Path: " + remoteFolder .getRemotePath () + "\n " +
430424 " Local eTag: " + localFolderEtag + "\n " +
431425 " Remote eTag: " + remoteFolderETag + "\n " +
432426 " Changed: " + mRemoteFolderChanged
@@ -505,7 +499,7 @@ private void synchronizeData(List<Object> folderAndFiles) {
505499 mLocalFolder = fileDataStorageManager .getFileByPath (mLocalFolder .getRemotePath ());
506500
507501 if (mLocalFolder == null ) {
508- Log_OC .d (TAG ,"mLocalFolder cannot be null" );
502+ Log_OC .e (TAG ,"mLocalFolder cannot be null" );
509503 return ;
510504 }
511505
@@ -514,7 +508,7 @@ private void synchronizeData(List<Object> folderAndFiles) {
514508 remoteFolder .setParentId (mLocalFolder .getParentId ());
515509 remoteFolder .setFileId (mLocalFolder .getFileId ());
516510
517- Log_OC .d (TAG , "Remote folder " + mLocalFolder .getRemotePath () + " changed - starting update of local data " );
511+ Log_OC .d (TAG , "Remote folder path: " + mLocalFolder .getRemotePath () + " changed - starting update of local data " );
518512
519513 List <OCFile > updatedFiles = new ArrayList <>(folderAndFiles .size () - 1 );
520514 mFilesToSyncContents .clear ();
0 commit comments