Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
637 commits
Select commit Hold shift + click to select a range
8d8bfcd
fix
marinofaggiana May 9, 2024
27e94df
build 12
marinofaggiana May 9, 2024
ed0e9ec
fix
marinofaggiana May 9, 2024
d97e80e
Improved loadImage func
marinofaggiana May 10, 2024
31413a2
added multicolor support
marinofaggiana May 10, 2024
675cbc5
Build 13
marinofaggiana May 10, 2024
83b560e
fix gui
marinofaggiana May 11, 2024
3cc9e2c
clean old code
marinofaggiana May 11, 2024
a78b0b3
clean old code
marinofaggiana May 11, 2024
8530de5
clean old code
marinofaggiana May 11, 2024
dff4d0d
clear old code
marinofaggiana May 11, 2024
5246796
cleaning
marinofaggiana May 11, 2024
be7065e
cleaning
marinofaggiana May 11, 2024
b91c9b6
cleaning
marinofaggiana May 11, 2024
09801f7
fix
marinofaggiana May 11, 2024
404b614
some improvements
marinofaggiana May 12, 2024
96894b0
use light weight
marinofaggiana May 12, 2024
552ce5a
improved code
marinofaggiana May 12, 2024
a4a64ae
code improvements
marinofaggiana May 12, 2024
eb4180f
improvements
marinofaggiana May 12, 2024
65c516d
image
marinofaggiana May 12, 2024
9d1e43b
code improved
marinofaggiana May 12, 2024
9231735
improved
marinofaggiana May 12, 2024
a21be21
images
marinofaggiana May 12, 2024
524667f
images
marinofaggiana May 12, 2024
fc23fea
Fix(l10n): Update translations from Transifex
nextcloud-bot May 13, 2024
d99fcfc
Build new
marinofaggiana May 13, 2024
383a710
Merge branch 'develop' of https://github.com/nextcloud/ios into develop
marinofaggiana May 13, 2024
9e77bfa
New icons (#2921)
mpivchev May 14, 2024
bd458aa
Varie (#2922)
marinofaggiana May 15, 2024
2effb73
Section header (#2923)
marinofaggiana May 15, 2024
0898988
cod
marinofaggiana May 15, 2024
5216dd0
cod
marinofaggiana May 15, 2024
1d08ab6
fix trash images
marinofaggiana May 15, 2024
e0def6c
Fix(l10n): Update translations from Transifex
nextcloud-bot May 16, 2024
384fb19
fix
marinofaggiana May 16, 2024
f35bc93
fix widget
marinofaggiana May 16, 2024
68291b0
fix widget
marinofaggiana May 16, 2024
7e051f6
fix fileProviderStorageExists
marinofaggiana May 16, 2024
843fc10
build 15
marinofaggiana May 16, 2024
b2a3860
Varie (#2925)
marinofaggiana May 16, 2024
a19109c
small fix
marinofaggiana May 17, 2024
3a98b64
gui widget
marinofaggiana May 17, 2024
6ffbd55
tabbar images
marinofaggiana May 17, 2024
95f2df2
remove old code
marinofaggiana May 18, 2024
91236d2
remove old images
marinofaggiana May 18, 2024
f150022
cleaning
marinofaggiana May 18, 2024
7d2d4ca
clear old code
marinofaggiana May 18, 2024
a65efe2
build 16
marinofaggiana May 18, 2024
74a987d
cleaning
marinofaggiana May 18, 2024
1b0fd66
cleaning
marinofaggiana May 18, 2024
c2f9e0f
cleaning
marinofaggiana May 18, 2024
d8bde93
cleaning
marinofaggiana May 18, 2024
66a16ee
cleaning
marinofaggiana May 18, 2024
5773509
cleaning
marinofaggiana May 18, 2024
8b30f72
fix color
marinofaggiana May 19, 2024
b893a32
coding
marinofaggiana May 19, 2024
a87c1b5
coding color
marinofaggiana May 19, 2024
c0e9101
coding color
marinofaggiana May 19, 2024
647f967
coding color
marinofaggiana May 19, 2024
53c6e00
coding color
marinofaggiana May 19, 2024
7555f14
swiftUI Images std
marinofaggiana May 20, 2024
e458015
improved images
marinofaggiana May 20, 2024
2c13172
images
marinofaggiana May 20, 2024
06065a5
images
marinofaggiana May 20, 2024
6ee9c30
image
marinofaggiana May 20, 2024
ec0b41b
image
marinofaggiana May 20, 2024
2482a14
https://github.com/nextcloud/ios/issues/2291
marinofaggiana May 20, 2024
9563c8f
cleaning
marinofaggiana May 20, 2024
624b361
Fix(l10n): Update translations from Transifex
nextcloud-bot May 21, 2024
d31b039
fic color
marinofaggiana May 21, 2024
edf05cc
improvements
marinofaggiana May 21, 2024
e398bad
images
marinofaggiana May 21, 2024
a7a092d
images
marinofaggiana May 21, 2024
32e2d18
images
marinofaggiana May 21, 2024
dd1491a
Build 17
marinofaggiana May 21, 2024
ef1137a
fix Login disable_intro
marinofaggiana May 21, 2024
88b1f67
Build 18
marinofaggiana May 21, 2024
6004a9c
Fix(l10n): Update translations from Transifex
nextcloud-bot May 22, 2024
cc46e83
fix login
marinofaggiana May 22, 2024
51d060f
windowForRootViewController
marinofaggiana May 22, 2024
a28556f
Build 19
marinofaggiana May 22, 2024
540a67a
fix PRJ
marinofaggiana May 22, 2024
0b8fe16
Service not in backgrounf
marinofaggiana May 22, 2024
7f6cf8e
Fix(l10n): Update translations from Transifex
nextcloud-bot May 23, 2024
7762461
fix localized
marinofaggiana May 23, 2024
e328ca8
new check background task
marinofaggiana May 23, 2024
473bcad
fix
marinofaggiana May 23, 2024
726072d
new build
marinofaggiana May 23, 2024
c2d7c8a
Fix(l10n): Update translations from Transifex
nextcloud-bot May 24, 2024
c65ec86
NextcloudKit V 3.0.1
marinofaggiana May 24, 2024
6c9d8f7
Merge remote-tracking branch 'origin/master' into develop
marinofaggiana May 24, 2024
6ef29ff
fix Error: invalid redeclaration of 'scrollViewWillBeginDragging'
marinofaggiana May 24, 2024
73c9d97
Fix(l10n): Update translations from Transifex
nextcloud-bot May 25, 2024
c154327
NavigationRightItems crash (#2934)
marinofaggiana May 28, 2024
f48e050
Build 1 (small fix)
marinofaggiana May 29, 2024
95c8f81
Build 2
marinofaggiana May 29, 2024
e320138
Merge remote-tracking branch 'origin/master' into develop
marinofaggiana May 30, 2024
4bc08ff
coding
marinofaggiana May 31, 2024
a37b32f
Revamp settings section (#2938)
marinofaggiana Jun 4, 2024
a5dd79b
content mode
marinofaggiana Jun 5, 2024
08c2dd7
fix
marinofaggiana Jun 5, 2024
622e88a
fix upload (replace)
marinofaggiana Jun 5, 2024
b07a962
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 5, 2024
ec127de
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 5, 2024
463dfff
localizable
marinofaggiana Jun 5, 2024
98d15d7
cleaning
marinofaggiana Jun 5, 2024
98264e8
Version 5.4.0
marinofaggiana Jun 5, 2024
b90cec2
cleaning
marinofaggiana Jun 5, 2024
f3762b0
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 6, 2024
b325796
Cleaning old code (#2941)
marinofaggiana Jun 6, 2024
2b2cc81
remove old code (cleaning)
marinofaggiana Jun 6, 2024
42c713e
remove old code
marinofaggiana Jun 6, 2024
9d8b6a4
cleaning code
marinofaggiana Jun 6, 2024
db82c9c
cleaning
marinofaggiana Jun 6, 2024
b6afa60
new build
marinofaggiana Jun 6, 2024
ab74fc7
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 7, 2024
9ba2062
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 8, 2024
e626763
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 9, 2024
0fd93dc
https://github.com/nextcloud/ios/issues/2937
marinofaggiana Jun 10, 2024
e4223e8
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 11, 2024
55041f6
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 12, 2024
919b989
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 13, 2024
391dc2d
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 15, 2024
5a4e710
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 21, 2024
d3b57b2
Revamp manageaccount (#2951)
marinofaggiana Jun 21, 2024
13c3059
fix
marinofaggiana Jun 21, 2024
811fd63
build 2
marinofaggiana Jun 21, 2024
cf8e3ef
cleaning
marinofaggiana Jun 21, 2024
8ccbb60
add title
marinofaggiana Jun 21, 2024
ca02662
Improved settings
marinofaggiana Jun 21, 2024
d7cfecf
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 21, 2024
a8e8950
fix icons scan
marinofaggiana Jun 21, 2024
4a63a99
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 22, 2024
63aadae
Update Realm + OpenSSL
marinofaggiana Jun 22, 2024
0f2174d
Create document (#2954)
marinofaggiana Jun 22, 2024
c06b0e3
fix proj
marinofaggiana Jun 22, 2024
68f2c7d
cleaning
marinofaggiana Jun 22, 2024
7797d3e
fix directory
marinofaggiana Jun 22, 2024
7139dc7
Revert "cleaning"
marinofaggiana Jun 22, 2024
cc6a56d
improvements
marinofaggiana Jun 22, 2024
11702bd
normalized + fix
marinofaggiana Jun 22, 2024
54ba57d
normalized
marinofaggiana Jun 22, 2024
5c67204
armonized
marinofaggiana Jun 22, 2024
e6c45eb
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 23, 2024
1d4d982
mask filename
marinofaggiana Jun 23, 2024
dd990c6
build 4
marinofaggiana Jun 23, 2024
58b5430
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 24, 2024
38c26ef
Enable Login v2 (#2908)
mpivchev Jun 24, 2024
793bcfc
Improved image & code (#2958)
marinofaggiana Jun 24, 2024
af20510
cleaning
marinofaggiana Jun 24, 2024
c2b65f0
Code improvements
marinofaggiana Jun 24, 2024
56f2925
build 5
marinofaggiana Jun 24, 2024
44cdde6
lint
marinofaggiana Jun 24, 2024
1d331c2
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 25, 2024
755e07d
cleaning
marinofaggiana Jun 25, 2024
02eb6e8
cleaning
marinofaggiana Jun 25, 2024
4f7e168
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 26, 2024
c825e74
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 27, 2024
b0c2803
Scan document: added the modify (#2959)
marinofaggiana Jun 27, 2024
28143d8
Filename + move object-c to swift (#2961)
marinofaggiana Jun 27, 2024
2ab2059
Build 6
marinofaggiana Jun 27, 2024
ec001ee
fix
marinofaggiana Jun 27, 2024
562f242
icon changed
marinofaggiana Jun 27, 2024
6849606
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 28, 2024
aae2a7d
Deep link support for screens navigation (#2963)
marinofaggiana Jun 28, 2024
78da6ed
new build
marinofaggiana Jun 28, 2024
45f800b
Improved strings
marinofaggiana Jun 28, 2024
561691e
improvements
marinofaggiana Jun 28, 2024
28f2407
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 29, 2024
f6ddebf
Fix(l10n): Update translations from Transifex
nextcloud-bot Jun 30, 2024
366e410
Fix(l10n): Update translations from Transifex
nextcloud-bot Jul 1, 2024
1cbcfb5
build 9
marinofaggiana Jul 1, 2024
64e30af
Merge remote-tracking branch 'origin/master' into develop
marinofaggiana Jul 1, 2024
b39ec1a
Fix(l10n): Update translations from Transifex
nextcloud-bot Jul 2, 2024
fa5abe6
NextcloudKit Swift (#2970)
marinofaggiana Jul 2, 2024
14f3c55
cleaning code
marinofaggiana Jul 2, 2024
887fb31
improvements
marinofaggiana Jul 2, 2024
7886b55
fix
marinofaggiana Jul 2, 2024
d63670e
cleaning
marinofaggiana Jul 2, 2024
553f481
Fix(l10n): Update translations from Transifex
nextcloud-bot Jul 3, 2024
789567d
Improvements varie (#2973)
marinofaggiana Jul 3, 2024
dad0c09
fix
marinofaggiana Jul 3, 2024
84f9efa
https://github.com/nextcloud/ios/issues/2971
marinofaggiana Jul 3, 2024
a1118df
revert
marinofaggiana Jul 3, 2024
039cf67
Fix(l10n): Update translations from Transifex
nextcloud-bot Jul 4, 2024
96de02b
Share screen redesign (#2967)
mpivchev Jul 4, 2024
d82c797
(revert)
marinofaggiana Jul 4, 2024
f1af4a1
lint
marinofaggiana Jul 4, 2024
6aa60c4
fix
marinofaggiana Jul 4, 2024
1b85d5a
fix color
marinofaggiana Jul 4, 2024
9bd73a3
lint
marinofaggiana Jul 4, 2024
8c5b870
lint
marinofaggiana Jul 4, 2024
6f841e9
lint
marinofaggiana Jul 4, 2024
32743b6
cod
marinofaggiana Jul 4, 2024
650189f
Fix(l10n): Update translations from Transifex
nextcloud-bot Jul 5, 2024
6d38161
File is downloaded when opening text editor (#2976)
marinofaggiana Jul 5, 2024
383b05a
build 1
marinofaggiana Jul 5, 2024
267444c
lint
marinofaggiana Jul 5, 2024
082b900
Fix(l10n): Update translations from Transifex
nextcloud-bot Jul 6, 2024
3856b57
improvements
marinofaggiana Jul 6, 2024
1a2d2ea
Merge branch 'develop' of https://github.com/nextcloud/ios into develop
marinofaggiana Jul 6, 2024
a0a8e19
lint
marinofaggiana Jul 6, 2024
7875c83
lint
marinofaggiana Jul 6, 2024
dafb384
lint
marinofaggiana Jul 6, 2024
f3af759
Fix(l10n): Update translations from Transifex
nextcloud-bot Jul 7, 2024
31131b7
fix
marinofaggiana Jul 8, 2024
6c8bcc4
fix
marinofaggiana Jul 8, 2024
d23e4aa
Build 2
marinofaggiana Jul 8, 2024
d1789fe
Fix(l10n): Update translations from Transifex
nextcloud-bot Jul 9, 2024
0e975a9
Fix(l10n): Update translations from Transifex
nextcloud-bot Jul 10, 2024
1c8854a
File provider extension (fix & improvements) (#2978)
marinofaggiana Jul 10, 2024
8577a50
5.5.0 build 3
marinofaggiana Jul 10, 2024
a1a06ea
File provider extension (#2979)
marinofaggiana Jul 11, 2024
8533179
Fix(l10n): Update translations from Transifex
nextcloud-bot Jul 13, 2024
9b9b09a
File provider extension (#2980)
marinofaggiana Jul 13, 2024
a91fbfe
Fix(l10n): Update translations from Transifex
nextcloud-bot Jul 14, 2024
e2d80d5
Photo view (#2981)
marinofaggiana Jul 15, 2024
7c3ab8d
Fix(l10n): Update translations from Transifex
nextcloud-bot Jul 17, 2024
53d8e4c
Improvements varie (#2983)
marinofaggiana Jul 17, 2024
7315867
build 5
marinofaggiana Jul 17, 2024
a477bc3
fix db -> new build
marinofaggiana Jul 18, 2024
213e902
Fix(l10n): Update translations from Transifex
nextcloud-bot Jul 19, 2024
95cd7c7
Cookies (#2985)
marinofaggiana Jul 19, 2024
4080815
Fix(l10n): Update translations from Transifex
nextcloud-bot Jul 20, 2024
3efb493
Nc media layout header (#2986)
marinofaggiana Jul 20, 2024
3b198ea
Lint
marinofaggiana Jul 20, 2024
610c1a0
Account create (#2987)
marinofaggiana Jul 21, 2024
c7e4f79
Fix(l10n): Update translations from Transifex
nextcloud-bot Jul 22, 2024
ec1f537
cod
marinofaggiana Jul 22, 2024
9577885
new build
marinofaggiana Jul 22, 2024
9ecc768
improvements
marinofaggiana Jul 23, 2024
189eb47
Build 8
marinofaggiana Jul 23, 2024
0b94717
Fix(l10n): Update translations from Transifex
nextcloud-bot Jul 24, 2024
86812b6
fix name
marinofaggiana Jul 24, 2024
40abaa3
cod
marinofaggiana Jul 24, 2024
b91dab2
cod
marinofaggiana Jul 24, 2024
0a55d3f
header
marinofaggiana Jul 24, 2024
454525b
footer
marinofaggiana Jul 24, 2024
b84852a
footer
marinofaggiana Jul 24, 2024
70cd82c
build 9
marinofaggiana Jul 24, 2024
f7fe80d
fix autoupload
marinofaggiana Jul 24, 2024
670b737
build 10
marinofaggiana Jul 24, 2024
e0a5d42
Fix crash (#2992)
mpivchev Jul 24, 2024
dedda73
fix
marinofaggiana Jul 24, 2024
3241edb
Fix (#2993)
mpivchev Jul 24, 2024
b401ca6
Build 11
marinofaggiana Jul 25, 2024
3493a50
Fix(l10n): Update translations from Transifex
nextcloud-bot Jul 26, 2024
9084164
Merge remote-tracking branch 'origin/master' into develop
marinofaggiana Jul 26, 2024
60bde88
Revert "Merge remote-tracking branch 'origin/master' into develop"
marinofaggiana Jul 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Brand/Database.swift
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ import Foundation
// Database Realm
//
let databaseName = "nextcloud.realm"
let databaseSchemaVersion: UInt64 = 348
let databaseSchemaVersion: UInt64 = 354
6 changes: 4 additions & 2 deletions Brand/NCBrand.swift
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ let userAgent: String = {
var folderDefaultAutoUpload: String = "Photos"

// Capabilities Group
var capabilitiesGroups: String = "group.it.twsweb.Crypto-Cloud"
var capabilitiesGroup: String = "group.it.twsweb.Crypto-Cloud"
var capabilitiesGroupApps: String = "group.com.nextcloud.apps"

// BRAND ONLY
Expand Down Expand Up @@ -257,6 +257,7 @@ class NCBrandColor: NSObject {

private func stepCalc(steps: Int, color1: CGColor, color2: CGColor) -> [CGFloat] {
var step = [CGFloat](repeating: 0, count: 3)

step[0] = (color2.components![0] - color1.components![0]) / CGFloat(steps)
step[1] = (color2.components![1] - color1.components![1]) / CGFloat(steps)
step[2] = (color2.components![2] - color1.components![2]) / CGFloat(steps)
Expand All @@ -266,8 +267,8 @@ class NCBrandColor: NSObject {
private func mixPalette(steps: Int, color1: CGColor, color2: CGColor) -> [CGColor] {
var palette = [color1]
let step = stepCalc(steps: steps, color1: color1, color2: color2)

let c1Components = color1.components!

for i in 1 ..< steps {
let r = c1Components[0] + step[0] * CGFloat(i)
let g = c1Components[1] + step[1] * CGFloat(i)
Expand All @@ -292,6 +293,7 @@ class NCBrandColor: NSObject {
let palette1 = mixPalette(steps: steps, color1: red, color2: yellow)
let palette2 = mixPalette(steps: steps, color1: yellow, color2: blue)
let palette3 = mixPalette(steps: steps, color1: blue, color2: red)

return palette1 + palette2 + palette3
}
}
2 changes: 1 addition & 1 deletion Cartfile.resolved
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
binary "https://code.videolan.org/videolan/VLCKit/raw/master/Packaging/MobileVLCKit.json" "3.5.1"
binary "https://code.videolan.org/videolan/VLCKit/raw/master/Packaging/MobileVLCKit.json" "3.6.0"
github "marinofaggiana/TOPasscodeViewController" "ed795637acd2b1ef154e011a04ebab4686d0523c"
93 changes: 19 additions & 74 deletions File Provider Extension/FileProviderData.swift
Original file line number Diff line number Diff line change
Expand Up @@ -40,36 +40,30 @@ class fileProviderData: NSObject {
var accountUrlBase = ""
var homeServerUrl = ""

// Max item for page
let itemForPage = 100

// Anchor
var currentAnchor: UInt64 = 0

// Rank favorite
var listFavoriteIdentifierRank: [String: NSNumber] = [:]

// Item for signalEnumerator
var fileProviderSignalDeleteContainerItemIdentifier: [NSFileProviderItemIdentifier: NSFileProviderItemIdentifier] = [:]
var fileProviderSignalUpdateContainerItem: [NSFileProviderItemIdentifier: FileProviderItem] = [:]
var fileProviderSignalDeleteWorkingSetItemIdentifier: [NSFileProviderItemIdentifier: NSFileProviderItemIdentifier] = [:]
var fileProviderSignalUpdateWorkingSetItem: [NSFileProviderItemIdentifier: FileProviderItem] = [:]

// Error
enum FileProviderError: Error {
case downloadError
case uploadError
}

enum TypeSignal: String {
case delete
case update
case workingSet
}

// MARK: -

func setupAccount(domain: NSFileProviderDomain?, providerExtension: NSFileProviderExtension) -> tableAccount? {

self.domain = domain
if domain != nil {
if let fileProviderManager = NSFileProviderManager(for: domain!) {
self.fileProviderManager = fileProviderManager
}
if let domain, let fileProviderManager = NSFileProviderManager(for: domain) {
self.fileProviderManager = fileProviderManager
}

// LOG
Expand All @@ -81,18 +75,16 @@ class fileProviderData: NSObject {

// NO DOMAIN -> Set default account
if domain == nil {

guard let activeAccount = NCManageDatabase.shared.getActiveAccount() else { return nil }

account = activeAccount.account
user = activeAccount.user
userId = activeAccount.userId
accountUrlBase = activeAccount.urlBase
homeServerUrl = utilityFileSystem.getHomeServer(urlBase: activeAccount.urlBase, userId: activeAccount.userId)

NCManageDatabase.shared.setCapabilities(account: account)

NextcloudKit.shared.setup(account: activeAccount.account, user: activeAccount.user, userId: activeAccount.userId, password: NCKeychain().getPassword(account: activeAccount.account), urlBase: activeAccount.urlBase, userAgent: userAgent, nextcloudVersion: NCGlobal.shared.capabilityServerVersionMajor, delegate: NCNetworking.shared)
NextcloudKit.shared.setup(account: activeAccount.account, user: activeAccount.user, userId: activeAccount.userId, password: NCKeychain().getPassword(account: activeAccount.account), urlBase: activeAccount.urlBase, userAgent: userAgent, nextcloudVersion: NCGlobal.shared.capabilityServerVersionMajor, groupIdentifier: NCBrandOptions.shared.capabilitiesGroup, delegate: NCNetworking.shared)
NCNetworking.shared.delegate = providerExtension as? NCNetworkingDelegate

return tableAccount.init(value: activeAccount)
}
Expand All @@ -106,7 +98,6 @@ class fileProviderData: NSObject {
guard let host = url.host else { continue }
let accountDomain = activeAccount.userId + " (" + host + ")"
if accountDomain == domain!.identifier.rawValue {

account = activeAccount.account
user = activeAccount.user
userId = activeAccount.userId
Expand All @@ -115,84 +106,38 @@ class fileProviderData: NSObject {

NCManageDatabase.shared.setCapabilities(account: account)

NextcloudKit.shared.setup(account: activeAccount.account, user: activeAccount.user, userId: activeAccount.userId, password: NCKeychain().getPassword(account: activeAccount.account), urlBase: activeAccount.urlBase, userAgent: userAgent, nextcloudVersion: NCGlobal.shared.capabilityServerVersionMajor, delegate: NCNetworking.shared)
NextcloudKit.shared.setup(account: activeAccount.account, user: activeAccount.user, userId: activeAccount.userId, password: NCKeychain().getPassword(account: activeAccount.account), urlBase: activeAccount.urlBase, userAgent: userAgent, nextcloudVersion: NCGlobal.shared.capabilityServerVersionMajor, groupIdentifier: NCBrandOptions.shared.capabilitiesGroup, delegate: NCNetworking.shared)
NCNetworking.shared.delegate = providerExtension as? NCNetworkingDelegate

return tableAccount.init(value: activeAccount)
}
}

return nil
}

// MARK: -

@discardableResult
func signalEnumerator(ocId: String, delete: Bool = false, update: Bool = false) -> FileProviderItem? {

guard let metadata = NCManageDatabase.shared.getMetadataFromOcId(ocId) else { return nil }

guard let parentItemIdentifier = fileProviderUtility().getParentItemIdentifier(metadata: metadata) else { return nil }

func signalEnumerator(ocId: String, type: TypeSignal) -> FileProviderItem? {
guard let metadata = NCManageDatabase.shared.getMetadataFromOcId(ocId),
let parentItemIdentifier = fileProviderUtility().getParentItemIdentifier(metadata: metadata) else { return nil }
let item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier)

if delete {
if type == .delete {
fileProviderData.shared.fileProviderSignalDeleteContainerItemIdentifier[item.itemIdentifier] = item.itemIdentifier
fileProviderData.shared.fileProviderSignalDeleteWorkingSetItemIdentifier[item.itemIdentifier] = item.itemIdentifier
}

if update {
if type == .update {
fileProviderData.shared.fileProviderSignalUpdateContainerItem[item.itemIdentifier] = item
fileProviderData.shared.fileProviderSignalUpdateWorkingSetItem[item.itemIdentifier] = item
}

if !update && !delete {
if type == .workingSet {
fileProviderData.shared.fileProviderSignalUpdateWorkingSetItem[item.itemIdentifier] = item
}

if update || delete {
currentAnchor += 1
if type == .delete || type == .update {
fileProviderManager.signalEnumerator(for: parentItemIdentifier) { _ in }
}

fileProviderManager.signalEnumerator(for: .workingSet) { _ in }

return item
}

/*
func updateFavoriteForWorkingSet() {

var updateWorkingSet = false
let oldListFavoriteIdentifierRank = listFavoriteIdentifierRank
listFavoriteIdentifierRank = NCManageDatabase.shared.getTableMetadatasDirectoryFavoriteIdentifierRank(account: account)

// (ADD)
for (identifier, _) in listFavoriteIdentifierRank {

guard let metadata = NCManageDatabase.shared.getMetadata(predicate: NSPredicate(format: "ocId == %@", identifier)) else { continue }
guard let parentItemIdentifier = fileProviderUtility.sharedInstance.getParentItemIdentifier(metadata: metadata, homeServerUrl: homeServerUrl) else { continue }
let item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier)

fileProviderSignalUpdateWorkingSetItem[item.itemIdentifier] = item
updateWorkingSet = true
}

// (REMOVE)
for (identifier, _) in oldListFavoriteIdentifierRank {

if !listFavoriteIdentifierRank.keys.contains(identifier) {

guard let metadata = NCManageDatabase.shared.getMetadata(predicate: NSPredicate(format: "ocId == %@", identifier)) else { continue }
let itemIdentifier = fileProviderUtility.sharedInstance.getItemIdentifier(metadata: metadata)

fileProviderSignalDeleteWorkingSetItemIdentifier[itemIdentifier] = itemIdentifier
updateWorkingSet = true
}
}

if updateWorkingSet {
signalEnumerator(for: [.workingSet])
}
}
*/
}
24 changes: 8 additions & 16 deletions File Provider Extension/FileProviderDomain.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,8 @@
import UIKit

class FileProviderDomain: NSObject {

func registerDomains() {

NSFileProviderManager.getDomainsWithCompletionHandler { fileProviderDomain, error in

var domains: [String] = []
let pathRelativeToDocumentStorage = NSFileProviderManager.default.documentStorageURL.absoluteString
let accounts = NCManageDatabase.shared.getAllAccount()
Expand All @@ -50,10 +47,10 @@ class FileProviderDomain: NSObject {
}
}
if !domainFound {
let domainRawValue = NSFileProviderDomain(identifier: NSFileProviderDomainIdentifier(rawValue: domain), displayName: domain, pathRelativeToDocumentStorage: pathRelativeToDocumentStorage)
NSFileProviderManager.remove(domainRawValue, completionHandler: { error in
if error != nil {
print("Error domain: \(domainRawValue) error: \(String(describing: error))")
let fileProviderDomain = NSFileProviderDomain(identifier: NSFileProviderDomainIdentifier(rawValue: domain), displayName: domain, pathRelativeToDocumentStorage: pathRelativeToDocumentStorage)
NSFileProviderManager.remove(fileProviderDomain, completionHandler: { error in
if let error {
print("Error domain: \(fileProviderDomain) error: \(String(describing: error))")
}
})
}
Expand All @@ -72,19 +69,14 @@ class FileProviderDomain: NSObject {
}
}
if !domainFound {
let domainRawValue = NSFileProviderDomain(identifier: NSFileProviderDomainIdentifier(rawValue: accountDomain), displayName: accountDomain, pathRelativeToDocumentStorage: pathRelativeToDocumentStorage)
NSFileProviderManager.add(domainRawValue, completionHandler: { error in
if error != nil {
print("Error domain: \(domainRawValue) error: \(String(describing: error))")
let fileProviderDomain = NSFileProviderDomain(identifier: NSFileProviderDomainIdentifier(rawValue: accountDomain), displayName: accountDomain, pathRelativeToDocumentStorage: pathRelativeToDocumentStorage)
NSFileProviderManager.add(fileProviderDomain, completionHandler: { error in
if let error {
print("Error domain: \(fileProviderDomain) error: \(String(describing: error))")
}
})
}
}
}
}

func removeAllDomains() {

NSFileProviderManager.removeAllDomains { _ in }
}
}
Loading