|
@@ -561,9 +561,8 @@ import Queuer
|
|
|
var session: URLSession?
|
|
|
|
|
|
// verify k_metadataStatusInUpload (BACKGROUND)
|
|
|
- let metadatasInUpload = NCManageDatabase.sharedInstance.getMetadatas(predicate: NSPredicate(format: "(session == %@ OR session == %@ OR session == %@) AND status == %d AND sessionTaskIdentifier == 0", sessionIdentifierBackground, sessionIdentifierBackgroundExtension, sessionIdentifierBackgroundWWan, k_metadataStatusInUpload))
|
|
|
-
|
|
|
- for metadata in metadatasInUpload {
|
|
|
+ let metadatasInUploadBackground = NCManageDatabase.sharedInstance.getMetadatas(predicate: NSPredicate(format: "(session == %@ OR session == %@ OR session == %@) AND status == %d AND sessionTaskIdentifier == 0", sessionIdentifierBackground, sessionIdentifierBackgroundExtension, sessionIdentifierBackgroundWWan, k_metadataStatusInUpload))
|
|
|
+ for metadata in metadatasInUploadBackground {
|
|
|
DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
|
|
|
if let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "ocId == %@ AND status == %d AND sessionTaskIdentifier == 0", metadata.ocId, k_metadataStatusInUpload)) {
|
|
|
NCManageDatabase.sharedInstance.setMetadataSession(ocId: metadata.ocId, session: self.sessionIdentifierBackground, sessionError: "", sessionSelector: nil, sessionTaskIdentifier: 0, status: Int(k_metadataStatusWaitUpload))
|
|
@@ -572,9 +571,8 @@ import Queuer
|
|
|
}
|
|
|
|
|
|
// k_metadataStatusUploading (BACKGROUND)
|
|
|
- let metadatasUploading = NCManageDatabase.sharedInstance.getMetadatas(predicate: NSPredicate(format: "(session == %@ OR session == %@ OR session == %@) AND status == %d", sessionIdentifierBackground, sessionIdentifierBackgroundWWan, sessionIdentifierBackgroundExtension, k_metadataStatusUploading))
|
|
|
-
|
|
|
- for metadata in metadatasUploading {
|
|
|
+ let metadatasUploadingBackground = NCManageDatabase.sharedInstance.getMetadatas(predicate: NSPredicate(format: "(session == %@ OR session == %@ OR session == %@) AND status == %d", sessionIdentifierBackground, sessionIdentifierBackgroundWWan, sessionIdentifierBackgroundExtension, k_metadataStatusUploading))
|
|
|
+ for metadata in metadatasUploadingBackground {
|
|
|
|
|
|
if metadata.session == sessionIdentifierBackground {
|
|
|
session = self.sessionManagerBackground
|
|
@@ -600,6 +598,15 @@ import Queuer
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
+
|
|
|
+ // k_metadataStatusUploading
|
|
|
+ let metadatasUploading = NCManageDatabase.sharedInstance.getMetadatas(predicate: NSPredicate(format: "session == %@ AND status == %d", NCCommunicationCommon.shared.sessionIdentifierUpload, k_metadataStatusUploading))
|
|
|
+ for metadata in metadatasUploading {
|
|
|
+ let fileNameLocalPath = CCUtility.getDirectoryProviderStorageOcId(metadata.ocId, fileNameView: metadata.fileNameView)!
|
|
|
+ if uploadRequest[fileNameLocalPath] == nil {
|
|
|
+ NCManageDatabase.sharedInstance.setMetadataSession(ocId: metadata.ocId, session: nil, sessionError: "", sessionSelector: nil, sessionTaskIdentifier: 0, status: Int(k_metadataStatusWaitUpload))
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
func getOcIdInBackgroundSession(completion: @escaping (_ listOcId: [String])->()) {
|