Skip to content

Commit 7aa0e0c

Browse files
Merge pull request #3574 from nextcloud/7.0.1-fix
Version 7.0.1
2 parents 18ca5de + fafa4a7 commit 7aa0e0c

File tree

55 files changed

+1488
-1415
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+1488
-1415
lines changed

CHANGELOG.md

Lines changed: 0 additions & 401 deletions
This file was deleted.

File Provider Extension/FileProviderExtension+Actions.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ extension FileProviderExtension {
143143
return
144144

145145
} else {
146-
146+
147147
completionHandler(nil, NSFileProviderError(.noSuchItem, userInfo: [NSLocalizedDescriptionKey: resultsMove.error.errorDescription, NSLocalizedFailureReasonErrorKey: ""]))
148148
return
149149
}

Nextcloud.xcodeproj/project.pbxproj

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -790,6 +790,7 @@
790790
F7A560442AE15D2900BE8FD6 /* Queuer in Frameworks */ = {isa = PBXBuildFile; productRef = F7A560432AE15D2900BE8FD6 /* Queuer */; };
791791
F7A560462AE15D3D00BE8FD6 /* Queuer in Frameworks */ = {isa = PBXBuildFile; productRef = F7A560452AE15D3D00BE8FD6 /* Queuer */; };
792792
F7A560482AE15D5000BE8FD6 /* Queuer in Frameworks */ = {isa = PBXBuildFile; productRef = F7A560472AE15D5000BE8FD6 /* Queuer */; };
793+
F7A573692E190387009C9257 /* NCShareExtensionData.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7A573682E190377009C9257 /* NCShareExtensionData.swift */; };
793794
F7A60F86292D215000FCE1F2 /* NCShareAccounts.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7A60F84292D215000FCE1F2 /* NCShareAccounts.swift */; };
794795
F7A60F87292D215000FCE1F2 /* NCShareAccounts.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F7A60F85292D215000FCE1F2 /* NCShareAccounts.storyboard */; };
795796
F7A76DC8256A71CD00119AB3 /* UIImage+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7B7504A2397D38E004E13EC /* UIImage+Extension.swift */; };
@@ -1660,6 +1661,7 @@
16601661
F7A48414297028FC00BD1B49 /* Nextcloud Hub.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Nextcloud Hub.png"; sourceTree = SOURCE_ROOT; };
16611662
F7A509242C26BD5D00326106 /* NCCreateDocument.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCCreateDocument.swift; sourceTree = "<group>"; };
16621663
F7A560412AE1593700BE8FD6 /* NCOperationSaveLivePhoto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCOperationSaveLivePhoto.swift; sourceTree = "<group>"; };
1664+
F7A573682E190377009C9257 /* NCShareExtensionData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCShareExtensionData.swift; sourceTree = "<group>"; };
16631665
F7A60F84292D215000FCE1F2 /* NCShareAccounts.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NCShareAccounts.swift; sourceTree = "<group>"; };
16641666
F7A60F85292D215000FCE1F2 /* NCShareAccounts.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = NCShareAccounts.storyboard; sourceTree = "<group>"; };
16651667
F7A7FDDB2C2DBD6200E9A93A /* NCDeepLinkHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NCDeepLinkHandler.swift; sourceTree = "<group>"; };
@@ -3015,6 +3017,7 @@
30153017
children = (
30163018
F714803A262EBE3900693E51 /* MainInterface.storyboard */,
30173019
F7148040262EBE4000693E51 /* NCShareExtension.swift */,
3020+
F7A573682E190377009C9257 /* NCShareExtensionData.swift */,
30183021
AF730AF927843E4C00B7520E /* NCShareExtension+NCAccountRequestDelegate.swift */,
30193022
AF22B215277D196700DAB0CC /* NCShareExtension+DataSource.swift */,
30203023
AF22B216277D196700DAB0CC /* NCShareExtension+Files.swift */,
@@ -4311,6 +4314,7 @@
43114314
AF1A9B6527D0CC0500F17A9E /* UIAlertController+Extension.swift in Sources */,
43124315
AF22B206277B4E4C00DAB0CC /* NCCreateFormUploadConflict.swift in Sources */,
43134316
F74D50362C9856D300BBBF4C /* NCCollectionViewDataSource.swift in Sources */,
4317+
F7A573692E190387009C9257 /* NCShareExtensionData.swift in Sources */,
43144318
F7BD71E62636EAFC00643C34 /* NCNetworkingE2EE.swift in Sources */,
43154319
F7F878AF1FB9E3B900599E4F /* NCEndToEndMetadata.swift in Sources */,
43164320
F7327E3B2B73B8D600A462C7 /* Array+Extension.swift in Sources */,
@@ -5868,7 +5872,7 @@
58685872
CLANG_WARN_UNREACHABLE_CODE = YES;
58695873
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
58705874
COPY_PHASE_STRIP = NO;
5871-
CURRENT_PROJECT_VERSION = 26;
5875+
CURRENT_PROJECT_VERSION = 2;
58725876
DEBUG_INFORMATION_FORMAT = dwarf;
58735877
DEVELOPMENT_TEAM = NKUJUXUJ3B;
58745878
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -5895,7 +5899,7 @@
58955899
"@executable_path/Frameworks",
58965900
"@executable_path/../../Frameworks",
58975901
);
5898-
MARKETING_VERSION = 7.0.0;
5902+
MARKETING_VERSION = 7.0.1;
58995903
ONLY_ACTIVE_ARCH = YES;
59005904
OTHER_CFLAGS = "-v";
59015905
OTHER_LDFLAGS = "";
@@ -5934,7 +5938,7 @@
59345938
CLANG_WARN_UNREACHABLE_CODE = YES;
59355939
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
59365940
COPY_PHASE_STRIP = NO;
5937-
CURRENT_PROJECT_VERSION = 26;
5941+
CURRENT_PROJECT_VERSION = 2;
59385942
DEVELOPMENT_TEAM = NKUJUXUJ3B;
59395943
ENABLE_STRICT_OBJC_MSGSEND = YES;
59405944
ENABLE_TESTABILITY = YES;
@@ -5958,7 +5962,7 @@
59585962
"@executable_path/Frameworks",
59595963
"@executable_path/../../Frameworks",
59605964
);
5961-
MARKETING_VERSION = 7.0.0;
5965+
MARKETING_VERSION = 7.0.1;
59625966
ONLY_ACTIVE_ARCH = YES;
59635967
OTHER_CFLAGS = "-v";
59645968
OTHER_LDFLAGS = "";
@@ -6241,7 +6245,7 @@
62416245
repositoryURL = "https://github.com/nextcloud/NextcloudKit";
62426246
requirement = {
62436247
kind = exactVersion;
6244-
version = 7.0.0;
6248+
version = 7.0.1;
62456249
};
62466250
};
62476251
F788ECC5263AAAF900ADC67F /* XCRemoteSwiftPackageReference "MarkdownKit" */ = {

Share/NCShareExtension+DataSource.swift

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,34 +10,41 @@ import NextcloudKit
1010

1111
extension NCShareExtension: UICollectionViewDelegate {
1212
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
13-
self.dataSource.getMetadata(indexPath: indexPath) { metadata in
14-
guard let metadata else { return self.showAlert(description: "_invalid_url_") }
13+
Task {
14+
guard let tblAccount = self.extensionData.getTblAccoun(),
15+
let metadata = self.dataSource.getMetadata(indexPath: indexPath) else {
16+
return self.showAlert(description: "_invalid_url_")
17+
}
1518
let serverUrl = self.utilityFileSystem.stringAppendServerUrl(metadata.serverUrl, addFileName: metadata.fileName)
16-
if metadata.e2eEncrypted && !NCKeychain().isEndToEndEnabled(account: self.session.account) {
19+
20+
if metadata.e2eEncrypted && !NCKeychain().isEndToEndEnabled(account: tblAccount.account) {
1721
self.showAlert(title: "_info_", description: "_e2e_goto_settings_for_enable_")
1822
}
19-
let capabilities = NKCapabilities.shared.getCapabilitiesBlocking(for: self.session.account)
23+
let capabilities = NKCapabilities.shared.getCapabilitiesBlocking(for: tblAccount.account)
2024

21-
if let fileNameError = FileNameValidator.checkFileName(metadata.fileNameView, account: self.session.account, capabilities: capabilities) {
25+
if let fileNameError = FileNameValidator.checkFileName(metadata.fileNameView, account: tblAccount.account, capabilities: capabilities) {
2226
self.present(UIAlertController.warning(message: "\(fileNameError.errorDescription) \(NSLocalizedString("_please_rename_file_", comment: ""))"), animated: true)
2327
return
2428
}
2529

2630
self.serverUrl = serverUrl
27-
self.reloadDatasource(withLoadFolder: true)
2831
self.setNavigationBar(navigationTitle: metadata.fileNameView)
32+
33+
await self.reloadData()
34+
await self.loadFolder()
2935
}
3036
}
3137

3238
func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
3339
if kind == UICollectionView.elementKindSectionHeader {
40+
let session = self.extensionData.getSession()
3441
guard let header = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "sectionFirstHeaderEmptyData", for: indexPath) as? NCSectionFirstHeaderEmptyData else { return NCSectionFirstHeaderEmptyData() }
3542
if self.dataSourceTask?.state == .running {
3643
header.emptyImage.image = utility.loadImage(named: "wifi", colors: [NCBrandColor.shared.getElement(account: session.account)])
3744
header.emptyTitle.text = NSLocalizedString("_request_in_progress_", comment: "")
3845
header.emptyDescription.text = ""
3946
} else {
40-
header.emptyImage.image = NCImageCache.shared.getFolder(account: self.session.account)
47+
header.emptyImage.image = NCImageCache.shared.getFolder(account: session.account)
4148
header.emptyTitle.text = NSLocalizedString("_files_no_folders_", comment: "")
4249
header.emptyDescription.text = ""
4350
}
@@ -116,6 +123,8 @@ extension NCShareExtension: UICollectionViewDataSource {
116123
var isShare = false
117124
var isMounted = false
118125
let permissions = NCPermissions()
126+
let session = self.extensionData.getSession()
127+
119128
if let metadataFolder = metadataFolder {
120129
isShare = metadata.permissions.contains(permissions.permissionShared) && !metadataFolder.permissions.contains(permissions.permissionShared)
121130
isMounted = metadata.permissions.contains(permissions.permissionMounted) && !metadataFolder.permissions.contains(permissions.permissionMounted)
@@ -159,8 +168,12 @@ extension NCShareExtension: UITableViewDelegate {
159168
}
160169

161170
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
162-
guard !uploadStarted else { return }
171+
guard !uploadStarted else {
172+
return
173+
}
163174
let fileName = filesName[indexPath.row]
175+
let session = self.extensionData.getSession()
176+
164177
showRenameFileDialog(named: fileName, account: session.account)
165178
}
166179
}
@@ -171,10 +184,16 @@ extension NCShareExtension: UITableViewDataSource {
171184
}
172185

173186
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
174-
guard let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as? NCShareCell else { return UITableViewCell() }
187+
guard let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as? NCShareCell else {
188+
return UITableViewCell()
189+
}
190+
175191
let fileName = filesName[indexPath.row]
192+
let session = self.extensionData.getSession()
193+
176194
cell.setup(fileName: fileName, iconName: "", account: session.account)
177195
cell.delegate = self
196+
178197
return cell
179198
}
180199
}

Share/NCShareExtension+Files.swift

Lines changed: 28 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -9,50 +9,42 @@ import UniformTypeIdentifiers
99
import NextcloudKit
1010

1111
extension NCShareExtension {
12-
@objc func reloadDatasource(withLoadFolder: Bool) {
13-
let layoutForView = NCManageDatabase.shared.getLayoutForView(account: session.account, key: keyLayout, serverUrl: serverUrl)
12+
func reloadData() async {
13+
let session = self.extensionData.getSession()
14+
let layoutForView = await NCManageDatabase.shared.getLayoutForViewAsync(account: session.account, key: keyLayout, serverUrl: serverUrl)
1415
let predicate = NSPredicate(format: "account == %@ AND serverUrl == %@ AND directory == true", session.account, serverUrl)
15-
16-
self.database.getMetadatas(predicate: predicate,
17-
layoutForView: layoutForView,
18-
account: session.account) { metadatas, layoutForView, account in
19-
self.dataSource = NCCollectionViewDataSource(metadatas: metadatas, layoutForView: layoutForView, account: account)
20-
self.dataSource.caching(metadatas: metadatas) {
21-
if withLoadFolder {
22-
self.loadFolder()
23-
} else {
24-
self.refreshControl.endRefreshing()
25-
}
26-
self.collectionView.reloadData()
27-
}
28-
}
16+
let metadatas = await self.database.getMetadatasAsync(predicate: predicate,
17+
layoutForView: layoutForView,
18+
account: session.account)
19+
self.dataSource = NCCollectionViewDataSource(metadatas: metadatas, layoutForView: layoutForView, account: session.account)
20+
self.collectionView.reloadData()
2921
}
3022

3123
@objc func didCreateFolder(_ notification: NSNotification) {
32-
guard let userInfo = notification.userInfo as NSDictionary?,
33-
let ocId = userInfo["ocId"] as? String,
34-
let metadata = self.database.getMetadataFromOcId(ocId)
35-
else { return }
36-
37-
self.serverUrl += "/" + metadata.fileName
38-
self.reloadDatasource(withLoadFolder: true)
39-
self.setNavigationBar(navigationTitle: metadata.fileNameView)
24+
Task {
25+
guard let userInfo = notification.userInfo as NSDictionary?,
26+
let ocId = userInfo["ocId"] as? String,
27+
let metadata = await self.database.getMetadataFromOcIdAsync(ocId)
28+
else { return }
29+
30+
self.serverUrl += "/" + metadata.fileName
31+
await self.loadFolder()
32+
self.setNavigationBar(navigationTitle: metadata.fileNameView)
33+
}
4034
}
4135

42-
func loadFolder() {
43-
NCNetworking.shared.readFolder(serverUrl: serverUrl,
44-
account: session.account,
45-
queue: .main) { task in
36+
func loadFolder() async {
37+
let session = self.extensionData.getSession()
38+
let resultsReadFolder = await NCNetworking.shared.readFolderAsync(serverUrl: serverUrl, account: session.account) { task in
4639
self.dataSourceTask = task
4740
self.collectionView.reloadData()
48-
} completion: { _, metadataFolder, _, error in
49-
DispatchQueue.main.async {
50-
if error != .success {
51-
self.showAlert(description: error.errorDescription)
52-
}
53-
self.metadataFolder = metadataFolder
54-
self.reloadDatasource(withLoadFolder: false)
55-
}
41+
}
42+
43+
if resultsReadFolder.error == .success {
44+
self.metadataFolder = resultsReadFolder.metadataFolder
45+
await self.reloadData()
46+
} else {
47+
self.showAlert(description: resultsReadFolder.error.errorDescription)
5648
}
5749
}
5850
}

0 commit comments

Comments
 (0)