@@ -411,11 +411,10 @@ private RemoteOperationResult checkForChanges(OwnCloudClient client) {
411411 Log_OC .d (TAG , "Checking changes in " + user .getAccountName () + remotePath );
412412
413413 // remote request
414- result = new ReadFolderRemoteOperation (remotePath ).execute (client );
414+ result = new ReadFileRemoteOperation (remotePath ).execute (client );
415415
416416 if (result .isSuccess ()) {
417- final var childFiles = result .getData ();
418- if (!mIgnoreETag && childFiles .get (0 ) instanceof RemoteFile remoteFile ) {
417+ if (!mIgnoreETag && result .getData ().get (0 ) instanceof RemoteFile remoteFile ) {
419418 // check if remote and local folder are different
420419 String remoteFolderETag = remoteFile .getEtag ();
421420 if (remoteFolderETag != null ) {
@@ -429,14 +428,6 @@ private RemoteOperationResult checkForChanges(OwnCloudClient client) {
429428 " Remote eTag: " + remoteFolderETag + "\n " +
430429 " Changed: " + mRemoteFolderChanged
431430 );
432-
433- // result.getData() returns folder itself with child files
434- final int remoteChildFileSize = childFiles .size () - 1 ;
435- final int childFileSize = fileDataStorageManager .fileDao .getChildFileCount (mLocalFolder .getFileId ());
436- if (childFileSize != remoteChildFileSize ) {
437- mRemoteFolderChanged = true ;
438- Log_OC .w (TAG , "file sizes are not matching, setting remote folder changed as true" );
439- }
440431 } else {
441432 Log_OC .e (TAG , "Checked " + user .getAccountName () + remotePath + ": No ETag received from server" );
442433 }
@@ -535,12 +526,6 @@ private void synchronizeData(List<Object> folderAndFiles) {
535526 // update richWorkspace
536527 mLocalFolder .setRichWorkspace (remoteFolder .getRichWorkspace ());
537528
538- // update eTag
539- mLocalFolder .setEtag (remoteFolder .getEtag ());
540-
541- // update size
542- mLocalFolder .setFileLength (remoteFolder .getFileLength ());
543-
544529 Object object = null ;
545530 if (mLocalFolder .isEncrypted ()) {
546531 object = getDecryptedFolderMetadata (encryptedAncestor ,
@@ -628,6 +613,7 @@ private void synchronizeData(List<Object> folderAndFiles) {
628613 updatedFile .setEncrypted (encrypted );
629614
630615 updatedFiles .add (updatedFile );
616+ Log_OC .d (TAG , "folder: " + mLocalFolder .getRemotePath () + " file: " + updatedFile .getRemotePath () + " metadataWorking: " + isMetadataSyncWorkerRunning );
631617 }
632618
633619
@@ -643,8 +629,13 @@ private void synchronizeData(List<Object> folderAndFiles) {
643629 mLocalFolder );
644630 }
645631 fileDataStorageManager .saveFolder (remoteFolder , updatedFiles , localFilesMap .values ());
646-
647632 mChildren = updatedFiles ;
633+
634+ // update eTag
635+ mLocalFolder .setEtag (remoteFolder .getEtag ());
636+
637+ // update size
638+ mLocalFolder .setFileLength (remoteFolder .getFileLength ());
648639 }
649640
650641 @ Nullable
0 commit comments