@@ -2259,6 +2259,29 @@ void ProcessDirectoryJob::chopVirtualFileSuffix(QString &str) const
22592259 }
22602260}
22612261
2262+ void ProcessDirectoryJob::updateDirItemFromServerJob (DiscoverySingleDirectoryJob *serverJob)
2263+ {
2264+ if (_dirItem->isEncrypted ()) {
2265+ _dirItem->_isFileDropDetected = serverJob->isFileDropDetected ();
2266+
2267+ SyncJournalFileRecord record;
2268+ const auto alreadyDownloaded = _discoveryData->_statedb ->getFileRecord (_dirItem->_file , &record) && record.isValid ();
2269+ // we need to make sure we first download all e2ee files/folders before migrating
2270+ _dirItem->_isEncryptedMetadataNeedUpdate = alreadyDownloaded && serverJob->encryptedMetadataNeedUpdate ();
2271+ _dirItem->_e2eEncryptionStatus = serverJob->currentEncryptionStatus ();
2272+ _dirItem->_e2eEncryptionStatusRemote = serverJob->currentEncryptionStatus ();
2273+ _dirItem->_e2eEncryptionServerCapability = serverJob->requiredEncryptionStatus ();
2274+ qCDebug (lcDisco ()) << _dirItem->_e2eEncryptionStatus << _dirItem->_e2eEncryptionServerCapability ;
2275+ Q_ASSERT (_dirItem->_e2eEncryptionStatus != SyncFileItem::EncryptionStatus::Encrypted);
2276+ Q_ASSERT (_dirItem->_e2eEncryptionStatus != SyncFileItem::EncryptionStatus::NotEncrypted);
2277+ _discoveryData->_anotherSyncNeeded = !alreadyDownloaded && serverJob->encryptedMetadataNeedUpdate ();
2278+ }
2279+ qCDebug (lcDisco) << " serverJob has finished for folder:" << _dirItem->_file
2280+ << " and it has _isFileDropDetected:" << _dirItem->_isFileDropDetected
2281+ << " with quota bytesUsed:" << _dirItem->_folderQuota .bytesUsed
2282+ << " bytesAvailable:" << _dirItem->_folderQuota .bytesAvailable ;
2283+ }
2284+
22622285DiscoverySingleDirectoryJob *ProcessDirectoryJob::startAsyncServerQuery ()
22632286{
22642287 if (_dirItem && _dirItem->isEncrypted () && _dirItem->_encryptedFileName .isEmpty ()) {
@@ -2281,24 +2304,7 @@ DiscoverySingleDirectoryJob *ProcessDirectoryJob::startAsyncServerQuery()
22812304 _pendingAsyncJobs++;
22822305 connect (serverJob, &DiscoverySingleDirectoryJob::finished, this , [this , serverJob](const auto &results) {
22832306 if (_dirItem) {
2284- if (_dirItem->isEncrypted ()) {
2285- _dirItem->_isFileDropDetected = serverJob->isFileDropDetected ();
2286-
2287- SyncJournalFileRecord record;
2288- const auto alreadyDownloaded = _discoveryData->_statedb ->getFileRecord (_dirItem->_file , &record) && record.isValid ();
2289- // we need to make sure we first download all e2ee files/folders before migrating
2290- _dirItem->_isEncryptedMetadataNeedUpdate = alreadyDownloaded && serverJob->encryptedMetadataNeedUpdate ();
2291- _dirItem->_e2eEncryptionStatus = serverJob->currentEncryptionStatus ();
2292- _dirItem->_e2eEncryptionStatusRemote = serverJob->currentEncryptionStatus ();
2293- _dirItem->_e2eEncryptionServerCapability = serverJob->requiredEncryptionStatus ();
2294- qCDebug (lcDisco ()) << _dirItem->_e2eEncryptionStatus << _dirItem->_e2eEncryptionServerCapability ;
2295- Q_ASSERT (_dirItem->_e2eEncryptionStatus != SyncFileItem::EncryptionStatus::Encrypted);
2296- Q_ASSERT (_dirItem->_e2eEncryptionStatus != SyncFileItem::EncryptionStatus::NotEncrypted);
2297- _discoveryData->_anotherSyncNeeded = !alreadyDownloaded && serverJob->encryptedMetadataNeedUpdate ();
2298- }
2299- qCDebug (lcDisco) << " serverJob has finished for folder:" << _dirItem->_file << " and it has _isFileDropDetected:" << _dirItem->_isFileDropDetected
2300- << " with quota bytesUsed:" << _dirItem->_folderQuota .bytesUsed
2301- << " bytesAvailable:" << _dirItem->_folderQuota .bytesAvailable ;
2307+ updateDirItemFromServerJob (serverJob);
23022308 }
23032309 _discoveryData->_currentlyActiveJobs --;
23042310 _pendingAsyncJobs--;
0 commit comments