Переглянути джерело

Merge pull request #2638 from nextcloud/capabilityRichdocumentsEnabled

Capability richdocuments enabled
Marino Faggiana 1 рік тому
батько
коміт
eb0d7899bc

+ 7 - 0
iOSClient/Data/NCManageDatabase+Capabilities.swift

@@ -202,6 +202,12 @@ extension NCManageDatabase {
 
                         struct RichDocuments: Codable {
                             let mimetypes: [String]?
+                            let directediting: Bool?
+
+                            enum CodingKeys: String, CodingKey {
+                                case mimetypes
+                                case directediting = "direct_editing"
+                            }
                         }
 
                         struct Activity: Codable {
@@ -309,6 +315,7 @@ extension NCManageDatabase {
             NCGlobal.shared.capabilityE2EEEnabled = json.ocs.data.capabilities.endtoendencryption?.enabled ?? false
             NCGlobal.shared.capabilityE2EEApiVersion = json.ocs.data.capabilities.endtoendencryption?.apiversion ?? ""
 
+            NCGlobal.shared.capabilityRichdocumentsEnabled = json.ocs.data.capabilities.richdocuments?.directediting ?? false
             NCGlobal.shared.capabilityRichdocumentsMimetypes.removeAll()
             if let mimetypes = json.ocs.data.capabilities.richdocuments?.mimetypes {
                 for mimetype in mimetypes {

+ 1 - 1
iOSClient/Diagnostics/NCCapabilitiesView.swift

@@ -76,7 +76,7 @@ class NCCapabilitiesViewOO: ObservableObject {
             capabililies.append(Capability(text: "ONLYOFFICE", image: image, resize: true, available: onlyofficeEditors))
         }
         if let image = UIImage(named: "collabora") {
-            capabililies.append(Capability(text: "Collabora", image: image, resize: true, available: !NCGlobal.shared.capabilityRichdocumentsMimetypes.isEmpty))
+            capabililies.append(Capability(text: "Collabora", image: image, resize: true, available: NCGlobal.shared.capabilityRichdocumentsEnabled))
         }
         if let image = UIImage(systemName: "moon") {
             capabililies.append(Capability(text: "User Status", image: image, resize: false, available: NCGlobal.shared.capabilityUserStatusEnabled))

+ 1 - 1
iOSClient/Menu/AppDelegate+Menu.swift

@@ -237,7 +237,7 @@ extension AppDelegate {
             )
         }
 
-        if !NCGlobal.shared.capabilityRichdocumentsMimetypes.isEmpty {
+        if NCGlobal.shared.capabilityRichdocumentsEnabled {
             if NextcloudKit.shared.isNetworkReachable() && !isDirectoryE2EE {
                 actions.append(
                     NCMenuAction(

+ 1 - 0
iOSClient/NCGlobal.swift

@@ -453,6 +453,7 @@ class NCGlobal: NSObject {
     @objc var capabilityE2EEEnabled: Bool                       = false
     @objc var capabilityE2EEApiVersion: String                  = ""
 
+    var capabilityRichdocumentsEnabled: Bool                    = false
     var capabilityRichdocumentsMimetypes: [String]              = []
     var capabilityActivity: [String]                            = []
     var capabilityNotification: [String]                        = []

+ 1 - 1
iOSClient/Viewer/NCViewer.swift

@@ -113,7 +113,7 @@ class NCViewer: NSObject {
             let availableRichDocument = NCUtility.shared.isRichDocument(metadata)
 
             // RichDocument: Collabora
-            if (isRichDocument || (availableRichDocument && editors.isEmpty)) && NextcloudKit.shared.isNetworkReachable() {
+            if (isRichDocument || (availableRichDocument && editors.isEmpty)) && NCGlobal.shared.capabilityRichdocumentsEnabled && NextcloudKit.shared.isNetworkReachable() {
 
                 if metadata.url.isEmpty {