Browse Source

NKShareAccounts

Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
Marino Faggiana 2 years ago
parent
commit
a826b40f92

+ 4 - 9
iOSClient/Account Request/NCShareAccounts.swift

@@ -169,17 +169,12 @@ extension NCShareAccounts: UITableViewDataSource {
 
         let account = accounts[indexPath.row]
 
-        if let avatarPath = account.avatar, !avatarPath.isEmpty, let avatarImage = avatarImage {
-            do {
-                let data = try Data(contentsOf: URL(fileURLWithPath: avatarPath))
-                if let image = UIImage(data: data) {
-                    avatarImage.image = image
-                }
-            } catch { print("Error: \(error)") }
+        if let image = account.image {
+            avatarImage?.image = image
         }
 
-        if let alias = account.alias, !alias.isEmpty {
-            userLabel?.text = alias.uppercased() + " (\(account.user))"
+        if let name = account.name, !name.isEmpty {
+            userLabel?.text = name.uppercased() + " (\(account.user))"
         } else {
             userLabel?.text = account.user.uppercased()
         }

+ 4 - 11
iOSClient/AppDelegate.swift

@@ -629,24 +629,17 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
     func createDataAccountFile() -> Error? {
         guard !account.isEmpty, let dirGroupApps = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: NCBrandOptions.shared.capabilitiesGroupApps) else { return nil }
 
-        try? FileManager.default.createDirectory(at: dirGroupApps.appendingPathComponent(NCGlobal.shared.directoryNextcloudAccounts), withIntermediateDirectories: true)
-        let url = dirGroupApps.appendingPathComponent(NCGlobal.shared.directoryNextcloudAccounts + "/" + NCGlobal.shared.fileShareAccounts)
         let tableAccount = NCManageDatabase.shared.getAllAccount()
         var accounts = [NKShareAccounts.DataAccounts]()
         for account in tableAccount {
             let alias = account.alias.isEmpty ? account.displayName : account.alias
             let userBaseUrl = account.user + "-" + (URL(string: account.urlBase)?.host ?? "")
             let avatarFileName = userBaseUrl + "-\(account.user).png"
-            let atPathAvatar = String(CCUtility.getDirectoryUserData()) + "/" + avatarFileName
-            let toPathAvatar = (dirGroupApps.appendingPathComponent(NCGlobal.shared.directoryNextcloudAccounts + "/" + avatarFileName)).path
-            if FileManager.default.fileExists(atPath: atPathAvatar) {
-                NCUtilityFileSystem.shared.copyFile(atPath: atPathAvatar, toPath: toPathAvatar)
-                accounts.append(NKShareAccounts.DataAccounts(withUrl: account.urlBase, user: account.user, alias: alias, avatar: toPathAvatar))
-            } else {
-                accounts.append(NKShareAccounts.DataAccounts(withUrl: account.urlBase, user: account.user, alias: alias))
-            }
+            let pathAvatarFileName = String(CCUtility.getDirectoryUserData()) + "/" + avatarFileName
+            let image = UIImage(contentsOfFile: pathAvatarFileName)
+            accounts.append(NKShareAccounts.DataAccounts(withUrl: account.urlBase, user: account.user, name: alias, image: image))
         }
-        return NKShareAccounts().putShareAccounts(at: url, app: NCGlobal.shared.appScheme, dataAccounts: accounts)
+        return NKShareAccounts().putShareAccounts(at: dirGroupApps, app: NCGlobal.shared.appScheme, dataAccounts: accounts)
     }
 
     // MARK: - Account Request

+ 1 - 2
iOSClient/Login/NCLogin.swift

@@ -116,8 +116,7 @@ class NCLogin: UIViewController, UITextFieldDelegate, NCLoginQRCodeDelegate {
         }
 
         if NCBrandOptions.shared.use_GroupApps, let dirGroupApps = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: NCBrandOptions.shared.capabilitiesGroupApps) {
-            let url = dirGroupApps.appendingPathComponent(NCGlobal.shared.directoryNextcloudAccounts + "/" + NCGlobal.shared.fileShareAccounts)
-            if FileManager.default.fileExists(atPath: url.path), let shareAccounts = NKShareAccounts().getShareAccount(at: url, application: UIApplication.shared) {
+            if let shareAccounts = NKShareAccounts().getShareAccount(at: dirGroupApps, application: UIApplication.shared) {
                 var accountTemp = [NKShareAccounts.DataAccounts]()
                 for shareAccount in shareAccounts {
                     if NCManageDatabase.shared.getAccount(predicate: NSPredicate(format: "urlBase == %@ AND user == %@", shareAccount.url, shareAccount.user)) == nil {

+ 0 - 5
iOSClient/NCGlobal.swift

@@ -78,10 +78,6 @@ class NCGlobal: NSObject {
     @objc let appScan                               = "Library/Application Support/Scan"
     @objc let appUserData                           = "Library/Application Support/UserData"
 
-    // Directory on Nextcloud Group data share accounts
-    //
-    @objc let directoryNextcloudAccounts            = "Library/Application Support/NextcloudAccounts"
-
     // Service
     //
     @objc let serviceShareKeyChain                  = "Crypto Cloud"
@@ -115,7 +111,6 @@ class NCGlobal: NSObject {
     //
     let databaseDefault                             = "nextcloud.realm"
     let databaseSchemaVersion: UInt64               = 266
-    let fileShareAccounts: String                   = "accounts.json"
 
     // Intro selector
     //