marinofaggiana 4 жил өмнө
parent
commit
6976c1ce77

+ 15 - 0
iOSClient/Images.xcassets/application.imageset/Contents.json

@@ -0,0 +1,15 @@
+{
+  "images" : [
+    {
+      "filename" : "application.pdf",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  },
+  "properties" : {
+    "preserves-vector-representation" : true
+  }
+}

BIN
iOSClient/Images.xcassets/application.imageset/application.pdf


+ 2 - 2
iOSClient/Settings/CCAdvanced.m

@@ -127,7 +127,7 @@
     }
     
     // Section CAPABILITIES -------------------------------------------------
-    /*
+
     section = [XLFormSectionDescriptor formSection];
     [form addFormSection:section];
     section.footerTitle = NSLocalizedString(@"_view_capabilities_", nil);
@@ -146,7 +146,7 @@
         [self presentViewController:capabilities animated:YES completion:nil];
     };
     [section addFormRow:row];
-    */
+
     // Section CLEAR CACHE -------------------------------------------------
     
     section = [XLFormSectionDescriptor formSection];

+ 88 - 4
iOSClient/Settings/NCCapabilitiesViewController.storyboard

@@ -20,7 +20,7 @@
                                 <rect key="frame" x="0.0" y="88" width="414" height="774"/>
                                 <subviews>
                                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="OO4-N7-9vp">
-                                        <rect key="frame" x="0.0" y="160" width="414" height="43"/>
+                                        <rect key="frame" x="0.0" y="260" width="414" height="43"/>
                                         <subviews>
                                             <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" scrollEnabled="NO" editable="NO" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="RIO-6X-GG1">
                                                 <rect key="frame" x="5" y="5" width="404" height="33"/>
@@ -38,7 +38,7 @@
                                         </constraints>
                                     </view>
                                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Sms-Ez-fLO">
-                                        <rect key="frame" x="5" y="5" width="404" height="150"/>
+                                        <rect key="frame" x="5" y="5" width="404" height="250"/>
                                         <subviews>
                                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jdW-oZ-cH8" userLabel="FileSharing">
                                                 <rect key="frame" x="0.0" y="0.0" width="404" height="50"/>
@@ -148,16 +148,94 @@
                                                     <constraint firstItem="g2c-tp-kiW" firstAttribute="centerY" secondItem="mSC-JU-xuk" secondAttribute="centerY" id="rtm-fS-6ec"/>
                                                 </constraints>
                                             </view>
+                                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nVq-4i-FNy" userLabel="end to end encryption">
+                                                <rect key="frame" x="0.0" y="150" width="404" height="50"/>
+                                                <subviews>
+                                                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="lock" translatesAutoresizingMaskIntoConstraints="NO" id="S7m-5Z-ktw">
+                                                        <rect key="frame" x="0.0" y="10" width="30" height="30"/>
+                                                        <constraints>
+                                                            <constraint firstAttribute="height" constant="30" id="edD-t9-G1B"/>
+                                                            <constraint firstAttribute="width" constant="30" id="nPu-CX-Ilf"/>
+                                                        </constraints>
+                                                    </imageView>
+                                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="End-to-End Encryption" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5cZ-yL-XdC">
+                                                        <rect key="frame" x="40" y="14.5" width="319" height="21"/>
+                                                        <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                                        <nil key="textColor"/>
+                                                        <nil key="highlightedColor"/>
+                                                    </label>
+                                                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="qbN-VY-iSu">
+                                                        <rect key="frame" x="369" y="12.5" width="25" height="25"/>
+                                                        <constraints>
+                                                            <constraint firstAttribute="width" constant="25" id="7dE-A7-NVM"/>
+                                                            <constraint firstAttribute="height" constant="25" id="CEI-vr-Eo7"/>
+                                                        </constraints>
+                                                    </imageView>
+                                                </subviews>
+                                                <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+                                                <constraints>
+                                                    <constraint firstAttribute="trailing" secondItem="qbN-VY-iSu" secondAttribute="trailing" constant="10" id="6bE-BL-e9n"/>
+                                                    <constraint firstItem="qbN-VY-iSu" firstAttribute="centerY" secondItem="nVq-4i-FNy" secondAttribute="centerY" id="EYo-Dg-U19"/>
+                                                    <constraint firstItem="5cZ-yL-XdC" firstAttribute="leading" secondItem="S7m-5Z-ktw" secondAttribute="trailing" constant="10" id="HOl-vJ-SDL"/>
+                                                    <constraint firstAttribute="height" constant="50" id="X1d-TH-FfQ"/>
+                                                    <constraint firstItem="qbN-VY-iSu" firstAttribute="leading" secondItem="5cZ-yL-XdC" secondAttribute="trailing" constant="10" id="a35-7a-j4c"/>
+                                                    <constraint firstItem="S7m-5Z-ktw" firstAttribute="centerY" secondItem="nVq-4i-FNy" secondAttribute="centerY" id="cUj-Mb-Gza"/>
+                                                    <constraint firstItem="5cZ-yL-XdC" firstAttribute="centerY" secondItem="nVq-4i-FNy" secondAttribute="centerY" id="fKw-6d-s4Z"/>
+                                                    <constraint firstItem="S7m-5Z-ktw" firstAttribute="leading" secondItem="nVq-4i-FNy" secondAttribute="leading" id="sX7-dg-Goj"/>
+                                                </constraints>
+                                            </view>
+                                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="00l-HL-Ljt" userLabel="Paginated file listing">
+                                                <rect key="frame" x="0.0" y="200" width="404" height="50"/>
+                                                <subviews>
+                                                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="application" translatesAutoresizingMaskIntoConstraints="NO" id="itj-Iy-gT3">
+                                                        <rect key="frame" x="0.0" y="10" width="30" height="30"/>
+                                                        <constraints>
+                                                            <constraint firstAttribute="height" constant="30" id="icz-0x-wCa"/>
+                                                            <constraint firstAttribute="width" constant="30" id="xkh-qv-Wab"/>
+                                                        </constraints>
+                                                    </imageView>
+                                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Paginated file listing" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="I1b-pS-pZW">
+                                                        <rect key="frame" x="40" y="14.5" width="319" height="21"/>
+                                                        <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                                        <nil key="textColor"/>
+                                                        <nil key="highlightedColor"/>
+                                                    </label>
+                                                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="ev4-w2-gLQ">
+                                                        <rect key="frame" x="369" y="12.5" width="25" height="25"/>
+                                                        <constraints>
+                                                            <constraint firstAttribute="height" constant="25" id="0N8-ct-BAy"/>
+                                                            <constraint firstAttribute="width" constant="25" id="UEK-k2-9DB"/>
+                                                        </constraints>
+                                                    </imageView>
+                                                </subviews>
+                                                <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+                                                <constraints>
+                                                    <constraint firstItem="itj-Iy-gT3" firstAttribute="leading" secondItem="00l-HL-Ljt" secondAttribute="leading" id="6Tv-PY-cGe"/>
+                                                    <constraint firstItem="ev4-w2-gLQ" firstAttribute="centerY" secondItem="00l-HL-Ljt" secondAttribute="centerY" id="8Kq-9u-bsb"/>
+                                                    <constraint firstAttribute="trailing" secondItem="ev4-w2-gLQ" secondAttribute="trailing" constant="10" id="A61-hB-aoB"/>
+                                                    <constraint firstItem="I1b-pS-pZW" firstAttribute="leading" secondItem="itj-Iy-gT3" secondAttribute="trailing" constant="10" id="Bau-hD-p3I"/>
+                                                    <constraint firstItem="I1b-pS-pZW" firstAttribute="centerY" secondItem="00l-HL-Ljt" secondAttribute="centerY" id="M4w-pF-R15"/>
+                                                    <constraint firstAttribute="height" constant="50" id="VGW-NP-Uc9"/>
+                                                    <constraint firstItem="itj-Iy-gT3" firstAttribute="centerY" secondItem="00l-HL-Ljt" secondAttribute="centerY" id="Xrk-d6-YVH"/>
+                                                    <constraint firstItem="ev4-w2-gLQ" firstAttribute="leading" secondItem="I1b-pS-pZW" secondAttribute="trailing" constant="10" id="jKL-If-LL2"/>
+                                                </constraints>
+                                            </view>
                                         </subviews>
                                         <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
                                         <constraints>
                                             <constraint firstItem="mSC-JU-xuk" firstAttribute="top" secondItem="ZNB-jF-9zg" secondAttribute="bottom" id="3ao-So-g0n"/>
-                                            <constraint firstAttribute="height" constant="150" id="6nU-Cb-MzH"/>
+                                            <constraint firstAttribute="height" constant="250" id="6nU-Cb-MzH" userLabel="height = 250"/>
+                                            <constraint firstAttribute="trailing" secondItem="00l-HL-Ljt" secondAttribute="trailing" id="8KN-x1-W0c"/>
                                             <constraint firstItem="mSC-JU-xuk" firstAttribute="leading" secondItem="Sms-Ez-fLO" secondAttribute="leading" id="9Nq-du-3ah"/>
                                             <constraint firstItem="ZNB-jF-9zg" firstAttribute="leading" secondItem="Sms-Ez-fLO" secondAttribute="leading" id="GdE-lt-vZC"/>
+                                            <constraint firstAttribute="trailing" secondItem="nVq-4i-FNy" secondAttribute="trailing" id="HSG-Ia-fYc"/>
                                             <constraint firstItem="ZNB-jF-9zg" firstAttribute="top" secondItem="jdW-oZ-cH8" secondAttribute="bottom" id="KcV-Ki-sGP"/>
+                                            <constraint firstItem="00l-HL-Ljt" firstAttribute="leading" secondItem="Sms-Ez-fLO" secondAttribute="leading" id="SkB-av-5lO"/>
+                                            <constraint firstItem="00l-HL-Ljt" firstAttribute="top" secondItem="nVq-4i-FNy" secondAttribute="bottom" id="TdY-oP-UfF"/>
                                             <constraint firstItem="jdW-oZ-cH8" firstAttribute="top" secondItem="Sms-Ez-fLO" secondAttribute="top" id="UBW-Mx-NTs"/>
+                                            <constraint firstItem="nVq-4i-FNy" firstAttribute="top" secondItem="mSC-JU-xuk" secondAttribute="bottom" id="VfU-sj-S9y"/>
                                             <constraint firstItem="jdW-oZ-cH8" firstAttribute="leading" secondItem="Sms-Ez-fLO" secondAttribute="leading" id="eNi-cO-UFd"/>
+                                            <constraint firstItem="nVq-4i-FNy" firstAttribute="leading" secondItem="Sms-Ez-fLO" secondAttribute="leading" id="efi-mm-hvP"/>
                                             <constraint firstAttribute="trailing" secondItem="jdW-oZ-cH8" secondAttribute="trailing" id="k81-ap-Nwy"/>
                                             <constraint firstAttribute="trailing" secondItem="mSC-JU-xuk" secondAttribute="trailing" id="pBU-xQ-0qV"/>
                                             <constraint firstAttribute="trailing" secondItem="ZNB-jF-9zg" secondAttribute="trailing" id="v5H-SV-MvM"/>
@@ -165,7 +243,7 @@
                                     </view>
                                 </subviews>
                                 <constraints>
-                                    <constraint firstItem="OO4-N7-9vp" firstAttribute="top" secondItem="hTE-ys-qsF" secondAttribute="top" constant="160" id="A9O-TK-Vz6"/>
+                                    <constraint firstItem="OO4-N7-9vp" firstAttribute="top" secondItem="hTE-ys-qsF" secondAttribute="top" constant="260" id="A9O-TK-Vz6" userLabel="View.top = top + 260"/>
                                     <constraint firstAttribute="bottom" secondItem="OO4-N7-9vp" secondAttribute="bottom" id="MpX-OZ-MDh"/>
                                     <constraint firstItem="OO4-N7-9vp" firstAttribute="width" secondItem="hTE-ys-qsF" secondAttribute="width" id="PWW-C3-Qcw"/>
                                     <constraint firstItem="OO4-N7-9vp" firstAttribute="leading" secondItem="hTE-ys-qsF" secondAttribute="leading" id="Q4I-CY-qdY"/>
@@ -188,11 +266,15 @@
                     <navigationItem key="navigationItem" id="fnR-ht-Muv"/>
                     <connections>
                         <outlet property="imageDirectEditing" destination="iCB-2A-phO" id="J35-Op-36Q"/>
+                        <outlet property="imageEndToEndEncryption" destination="S7m-5Z-ktw" id="0Pv-Yt-YJB"/>
                         <outlet property="imageExternalSite" destination="JWO-C0-32L" id="JKi-n1-5IQ"/>
                         <outlet property="imageFileSharing" destination="G9c-Nd-Ikl" id="Wha-2g-8o0"/>
+                        <outlet property="imagePaginatedFileListing" destination="itj-Iy-gT3" id="9Zj-fQ-eRC"/>
                         <outlet property="imageStatusDirectEditing" destination="LNE-l0-lef" id="YrK-IF-D73"/>
+                        <outlet property="imageStatusEndToEndEncryption" destination="qbN-VY-iSu" id="4Fh-f4-Hwp"/>
                         <outlet property="imageStatusExternalSite" destination="GRj-nZ-KYG" id="7hn-jn-LO4"/>
                         <outlet property="imageStatusFileSharing" destination="lGk-Lk-3Ya" id="i7x-7x-TtE"/>
+                        <outlet property="imageStatusPaginatedFileListing" destination="ev4-w2-gLQ" id="Q3j-Dh-yio"/>
                         <outlet property="textView" destination="RIO-6X-GG1" id="lPs-Ev-hQf"/>
                     </connections>
                 </viewController>
@@ -220,8 +302,10 @@
         </scene>
     </scenes>
     <resources>
+        <image name="application" width="425" height="425"/>
         <image name="country" width="300" height="300"/>
         <image name="document" width="300" height="300"/>
+        <image name="lock" width="300" height="300"/>
         <image name="share" width="512" height="512"/>
     </resources>
 </document>

+ 24 - 0
iOSClient/Settings/NCCapabilitiesViewController.swift

@@ -36,6 +36,12 @@ class NCCapabilitiesViewController: UIViewController {
     @IBOutlet weak var imageExternalSite: UIImageView!
     @IBOutlet weak var imageStatusExternalSite: UIImageView!
     
+    @IBOutlet weak var imageEndToEndEncryption: UIImageView!
+    @IBOutlet weak var imageStatusEndToEndEncryption: UIImageView!
+    
+    @IBOutlet weak var imagePaginatedFileListing: UIImageView!
+    @IBOutlet weak var imageStatusPaginatedFileListing: UIImageView!
+    
     private var account: String = ""
     private var imageEnable: UIImage?
     private var imageDisable: UIImage?
@@ -53,6 +59,8 @@ class NCCapabilitiesViewController: UIViewController {
         imageFileSharing.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "share"), width: 100, height: 100, color: .gray)
         imageDirectEditing.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "document"), width: 100, height: 100, color: .gray)
         imageExternalSite.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "country"), width: 100, height: 100, color: .gray)
+        imageEndToEndEncryption.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "lock"), width: 100, height: 100, color: .gray)        
+        imagePaginatedFileListing.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "application"), width: 100, height: 100, color: .gray)
 
         guard let account = NCManageDatabase.sharedInstance.getAccountActive() else { return }
         self.account = account.account
@@ -93,5 +101,21 @@ class NCCapabilitiesViewController: UIViewController {
         } else {
             imageStatusExternalSite.image = imageDisable
         }
+        
+        let isE2EEEnabled = NCManageDatabase.sharedInstance.getCapabilitiesServerBool(account: account, elements: NCElementsJSON.shared.capabilitiesE2EEEnabled, exists: false)
+        let versionE2EE = NCManageDatabase.sharedInstance.getCapabilitiesServerString(account: account, elements: NCElementsJSON.shared.capabilitiesE2EEApiVersion)
+        
+        if isE2EEEnabled && versionE2EE == k_E2EE_API {
+            imageStatusEndToEndEncryption.image = imageEnable
+        } else {
+            imageStatusEndToEndEncryption.image = imageDisable
+        }
+        
+        let paginationEndpoint = NCManageDatabase.sharedInstance.getCapabilitiesServerString(account: account, elements: NCElementsJSON.shared.capabilitiesPaginationEndpoint)
+        if paginationEndpoint != nil {
+            imageStatusPaginatedFileListing.image = imageEnable
+        } else {
+            imageStatusPaginatedFileListing.image = imageDisable
+        }
     }
 }