Marino Faggiana 7 ani în urmă
părinte
comite
e96d331142

+ 0 - 17
Share Ext/CCShareNetwork.h

@@ -1,17 +0,0 @@
-//
-//  CCShareNetwork.h
-//  Crypto Cloud / Nextcloud Project
-//
-//  Created by Marino Faggiana on 13/02/16.
-//  Copyright © 2016 TWS. All rights reserved.
-//
-
-#import "DropboxSDK.h"
-
-@interface CCShareNetwork : NSObject
-
-
-
-+ (DBSession *)sharedDBSession;
-
-@end

+ 0 - 36
Share Ext/CCShareNetwork.m

@@ -1,36 +0,0 @@
-//
-//  CCShareNetwork.m
-//  Crypto Cloud / Nextcloud Project
-//
-//  Created by Marino Faggiana on 13/02/16.
-//  Copyright © 2016 TWS. All rights reserved.
-//
-
-#import "CCShareNetwork.h"
-
-@implementation CCShareNetwork
-
-- (id)init
-{
-    self =[super init];
-    
-    if (self) {
-       
-            }
-    return self;
-}
-
-+ (DBSession*)sharedDBSession
-{
-    static DBSession* sharedDBSession= nil;
-    if (sharedDBSession == nil) {
-        
-        NSString *appKey = appKeyCryptoCloud;
-        NSString *appSecret = appSecretCryptoCloud;
-      
-        sharedDBSession = [[DBSession alloc] initWithAppKey:appKey appSecret:appSecret root:kDBRootDropbox];
-    }
-    return sharedDBSession;
-}
-
-@end

+ 0 - 181
Share Ext/CCloadItemData.swift

@@ -1,181 +0,0 @@
-//
-//  CCloadItemData.swift
-//  Crypto Cloud Technology Nextcloud
-//
-//  Created by Marino Faggiana on 19/02/16.
-//  Copyright (c) 2017 TWS. All rights reserved.
-//
-//  Author Marino Faggiana <m.faggiana@twsweb.it>
-//
-//  This program is free software: you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation, either version 3 of the License, or
-//  (at your option) any later version.
-//
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
-//
-//  You should have received a copy of the GNU General Public License
-//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-
-import UIKit
-import MobileCoreServices
-
-class CCloadItemData: NSObject {
-    
-    func loadFiles(_ directoryUser: String, extensionContext: NSExtensionContext, vc: ShareViewController)
-    {
-        var filesName: [String] = []
-        var conuter = 0
-        let hud = CCHud(view: vc.view)!
-                
-        if let inputItems : [NSExtensionItem] = extensionContext.inputItems as? [NSExtensionItem] {
-            
-            for item : NSExtensionItem in inputItems {
-                
-                if let attachments = item.attachments as? [NSItemProvider] {
-                    
-                    if attachments.isEmpty {
-                        
-                        extensionContext.completeRequest(returningItems: nil, completionHandler: nil)
-                        
-                        vc.performSelector(onMainThread: #selector(vc.close), with: nil, waitUntilDone: false);
-                        
-                        return
-                    }
-                    
-                    for (index, current) in (attachments.enumerated()) {
-                        
-                        if current.hasItemConformingToTypeIdentifier(kUTTypeItem as String) {
-                            
-                            hud.visibleIndeterminateHud()
-                            
-                            current.loadItem(forTypeIdentifier: kUTTypeItem as String, options: nil, completionHandler: {(item, error) -> Void in
-                                
-                                if error == nil {
-                                    
-                                    let dateFormatter = DateFormatter()
-                                    dateFormatter.dateFormat = "yyyy-MM-dd HH-mm-ss-"
-                                    conuter += 1
-                                    
-                                    if let image = item as? UIImage {
-                                        
-                                        print("item as UIImage")
-                                        
-                                        if let pngImageData = UIImagePNGRepresentation(image) {
-                                        
-                                            let fileName = "\(dateFormatter.string(from: Date()))\(conuter).png"
-                                            let filenamePath = directoryUser + "/" + fileName
-                                        
-                                            let result = (try? pngImageData.write(to: URL(fileURLWithPath: filenamePath), options: [.atomic])) != nil
-                                        
-                                            if result {
-                                         
-                                                filesName.append(fileName)
-                                            }
-                                            
-                                        } else {
-                                         
-                                            print("Error image nil")
-                                        }
-                                    }
-                                    
-                                    if let url = item as? URL {
-                                        
-                                        print("item as url: \(String(describing: item))")
-                                        
-                                        let pathExtention = URL(fileURLWithPath: url.lastPathComponent).pathExtension
-                                        let fileName = "\(dateFormatter.string(from: Date()))\(conuter).\(pathExtention)"
-                                        let filenamePath = directoryUser + "/" + fileName
-                                        
-                                        do {
-                                            try FileManager.default.copyItem(atPath: url.path, toPath:filenamePath)
-                                            
-                                            do {
-                                                let attr : NSDictionary? = try FileManager.default.attributesOfItem(atPath: filenamePath) as NSDictionary?
-                                                
-                                                if let _attr = attr {
-                                                    if _attr.fileSize() > 0 {
-                                                        
-                                                        filesName.append(fileName)
-                                                    }
-                                                }
-                                                
-                                            } catch let error as NSError {
-                                                
-                                                print("Error: \(error.localizedDescription)")
-                                            }                                            
-                                        } catch let error as NSError {
-                                            
-                                            print("Cannot copy file: \(error.localizedDescription)")
-                                        }
-                                    }
-                                    
-                                    if let data = item as? Data {
-                                        
-                                        if data.count > 0 {
-                                        
-                                            print("item as NSdata")
-                                        
-                                            let description = current.description
-                                        
-                                            let fullNameArr = description.components(separatedBy: "\"")
-                                            let fileExtArr = fullNameArr[1].components(separatedBy: ".")
-                                            let pathExtention = (fileExtArr[fileExtArr.count-1]).uppercased()
-                                        
-                                            let fileName = "\(dateFormatter.string(from: Date()))\(conuter).\(pathExtention)"
-                                            let filenamePath = directoryUser + "/" + fileName
-
-                                            FileManager.default.createFile(atPath: filenamePath, contents:data, attributes:nil)
-                                                                                
-                                            filesName.append(fileName)
-                                        }
-                                    }
-                                    
-                                    if let data = item as? NSString {
-                                        
-                                        if data.length > 0 {
-                                        
-                                            print("item as NSString")
-                                        
-                                            let fileName = "\(dateFormatter.string(from: Date()))\(conuter).txt"
-                                            let filenamePath = directoryUser + "/" + fileName
-                                        
-                                            FileManager.default.createFile(atPath: filenamePath, contents:data.data(using: String.Encoding.utf8.rawValue), attributes:nil)
-                                        
-                                            filesName.append(fileName)
-                                        }
-                                    }
-                                    
-                                    if index + 1 == attachments.count {
-                                        
-                                        vc.performSelector(onMainThread: #selector(vc.reloadData), with:filesName, waitUntilDone: false)
-                                        hud.performSelector(onMainThread: #selector(CCHud.hideHud), with: nil, waitUntilDone: false)
-                                    }
-                                    
-                                } else {
-                                    
-                                    print("ERROR: \(error)")
-                                    hud.performSelector(onMainThread: #selector(CCHud.hideHud), with: nil, waitUntilDone: false)
-                                }
-                            })
-                            
-                        }
-                        
-                    } // end for
-
-                } else {
-                    
-                    vc.performSelector(onMainThread: #selector(vc.close), with: nil, waitUntilDone: false);
-                }
-            }
-            
-        } else {
-            
-            vc.performSelector(onMainThread: #selector(vc.close), with: nil, waitUntilDone: false);
-        }
-    }
-}

+ 0 - 37
Share Ext/Cell/CCCellShareExt.h

@@ -1,37 +0,0 @@
-//
-//  CCCellShareExt.h
-//  Crypto Cloud Technology Nextcloud
-//
-//  Created by Marino Faggiana on 27/01/16.
-//  Copyright (c) 2017 TWS. All rights reserved.
-//
-//  Author Marino Faggiana <m.faggiana@twsweb.it>
-//
-//  This program is free software: you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation, either version 3 of the License, or
-//  (at your option) any later version.
-//
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
-//
-//  You should have received a copy of the GNU General Public License
-//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-
-#import <UIKit/UIKit.h>
-
-@interface CCCellShareExt : UITableViewCell
-
-@property(nonatomic, weak) IBOutlet UIImageView *fileImageView;
-@property(nonatomic, weak) IBOutlet UILabel *labelInformazioni;
-
-//Last position of the scroll of the swipe
-@property (nonatomic, assign) CGFloat lastContentOffset;
-
-//Index path of the cell swipe gesture ocured
-@property (nonatomic, strong) NSIndexPath *indexPath;
-
-@end

+ 0 - 59
Share Ext/Cell/CCCellShareExt.m

@@ -1,59 +0,0 @@
-//
-//  CCCellShareExt.m
-//  Crypto Cloud Technology Nextcloud
-//
-//  Created by Marino Faggiana on 29/07/15.
-//  Copyright (c) 2017 TWS. All rights reserved.
-//
-//  Author Marino Faggiana <m.faggiana@twsweb.it>
-//
-//  This program is free software: you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation, either version 3 of the License, or
-//  (at your option) any later version.
-//
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
-//
-//  You should have received a copy of the GNU General Public License
-//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-
-#import "CCCellShareExt.h"
-
-@implementation CCCellShareExt
-
-- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
-{
-    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
-    if (self) {
-        // Initialization code
-
-        
-    }
-    return self;
-}
-
-- (void)setSelected:(BOOL)selected animated:(BOOL)animated
-{
-    [super setSelected:selected animated:animated];
-
-    // Configure the view for the selected state
-}
-
-///-----------------------------------
-/// @name scrollViewWillBeginDecelerating
-///-----------------------------------
-
-/**
- * Method to initialize the position where we make the swipe in order to detect the direction
- *
- * @param UIScrollView -> scrollView
- */
-- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView {
-    _lastContentOffset = scrollView.contentOffset.x;
-}
-
-@end

+ 0 - 50
Share Ext/Cell/CCCellShareExt.xib

@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
-        <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
-    </dependencies>
-    <objects>
-        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="CustomCellFileAndDirectory"/>
-        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
-        <tableViewCell contentMode="scaleToFill" selectionStyle="blue" indentationWidth="0.0" reuseIdentifier="ShareExtCell" rowHeight="80" id="2" customClass="CCCellShareExt">
-            <rect key="frame" x="0.0" y="0.0" width="597" height="80"/>
-            <autoresizingMask key="autoresizingMask" flexibleMaxY="YES"/>
-            <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="2" id="sQq-jC-UEV">
-                <rect key="frame" x="0.0" y="0.0" width="597" height="79.5"/>
-                <autoresizingMask key="autoresizingMask"/>
-                <subviews>
-                    <imageView userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5">
-                        <rect key="frame" x="8" y="3" width="75" height="75"/>
-                        <constraints>
-                            <constraint firstAttribute="height" constant="75" id="2Z3-9a-dWb"/>
-                            <constraint firstAttribute="width" constant="75" id="fbQ-SN-CAK"/>
-                        </constraints>
-                    </imageView>
-                    <label opaque="NO" userInteractionEnabled="NO" tag="102" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="0.0" translatesAutoresizingMaskIntoConstraints="NO" id="15D-cA-LLO" userLabel="Informazioni">
-                        <rect key="frame" x="91" y="3" width="501" height="75"/>
-                        <constraints>
-                            <constraint firstAttribute="height" constant="75" id="vPY-Rf-Mrc"/>
-                        </constraints>
-                        <fontDescription key="fontDescription" type="system" pointSize="12"/>
-                        <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
-                        <nil key="highlightedColor"/>
-                    </label>
-                </subviews>
-                <constraints>
-                    <constraint firstItem="5" firstAttribute="top" secondItem="sQq-jC-UEV" secondAttribute="topMargin" constant="-5" id="CT9-rd-lYA"/>
-                    <constraint firstAttribute="centerY" secondItem="15D-cA-LLO" secondAttribute="centerY" constant="-0.75" id="V5R-W6-5cF"/>
-                    <constraint firstAttribute="trailingMargin" secondItem="15D-cA-LLO" secondAttribute="trailing" constant="-3" id="cXo-tP-zxr"/>
-                    <constraint firstItem="15D-cA-LLO" firstAttribute="leading" secondItem="sQq-jC-UEV" secondAttribute="leadingMargin" constant="83" id="gIu-0P-Kea"/>
-                    <constraint firstItem="5" firstAttribute="leading" secondItem="sQq-jC-UEV" secondAttribute="leadingMargin" id="lC5-mh-JFW"/>
-                </constraints>
-            </tableViewCellContentView>
-            <connections>
-                <outlet property="fileImageView" destination="5" id="6"/>
-                <outlet property="labelInformazioni" destination="15D-cA-LLO" id="So0-uY-bRj"/>
-            </connections>
-            <point key="canvasLocation" x="171.5" y="416"/>
-        </tableViewCell>
-    </objects>
-</document>

+ 0 - 89
Share Ext/MainInterface.storyboard

@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15G31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="yQd-yC-53O">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
-        <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
-    </dependencies>
-    <scenes>
-        <!--Navigation Controller-->
-        <scene sceneID="ueh-Ta-TQZ">
-            <objects>
-                <navigationController id="yQd-yC-53O" sceneMemberID="viewController">
-                    <nil key="simulatedStatusBarMetrics"/>
-                    <navigationBar key="navigationBar" contentMode="scaleToFill" translucent="NO" id="Qr0-yX-mDZ">
-                        <rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                    </navigationBar>
-                    <connections>
-                        <segue destination="j1y-V4-xli" kind="relationship" relationship="rootViewController" id="dCI-hj-EK1"/>
-                    </connections>
-                </navigationController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="SCm-q2-twq" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="-1057" y="-210"/>
-        </scene>
-        <!--Share View Controller-->
-        <scene sceneID="ceB-am-kn3">
-            <objects>
-                <viewController id="j1y-V4-xli" customClass="ShareViewController" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="8bI-gs-bmD"/>
-                        <viewControllerLayoutGuide type="bottom" id="d5i-Ba-RvD"/>
-                    </layoutGuides>
-                    <view key="view" opaque="NO" contentMode="scaleToFill" id="wbc-yd-nQP">
-                        <rect key="frame" x="0.0" y="44" width="600" height="556"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <toolbar contentMode="scaleToFill" translucent="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gad-k1-Oh8">
-                                <rect key="frame" x="-4" y="512" width="604" height="44"/>
-                                <constraints>
-                                    <constraint firstAttribute="height" constant="44" id="rZR-ep-syc"/>
-                                </constraints>
-                                <items>
-                                    <barButtonItem style="plain" systemItem="flexibleSpace" id="ski-H2-N9g"/>
-                                    <barButtonItem title="Item" id="Dpo-t5-Knx">
-                                        <connections>
-                                            <action selector="destinyFolderButtonTapped:" destination="j1y-V4-xli" id="vt9-MN-l6i"/>
-                                        </connections>
-                                    </barButtonItem>
-                                    <barButtonItem style="plain" systemItem="flexibleSpace" id="eZh-WQ-5L1"/>
-                                </items>
-                            </toolbar>
-                            <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="110" sectionHeaderHeight="40" sectionFooterHeight="22" translatesAutoresizingMaskIntoConstraints="NO" id="6bg-ed-mfL">
-                                <rect key="frame" x="1" y="0.0" width="598" height="512"/>
-                                <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
-                                <connections>
-                                    <outlet property="dataSource" destination="j1y-V4-xli" id="cqC-oT-nbV"/>
-                                    <outlet property="delegate" destination="j1y-V4-xli" id="WE4-Xb-ohZ"/>
-                                </connections>
-                            </tableView>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                        <constraints>
-                            <constraint firstAttribute="trailingMargin" secondItem="gad-k1-Oh8" secondAttribute="trailing" constant="-20" id="Ogc-Ss-sTA"/>
-                            <constraint firstItem="d5i-Ba-RvD" firstAttribute="top" secondItem="gad-k1-Oh8" secondAttribute="bottom" id="ZbI-py-8av"/>
-                            <constraint firstItem="6bg-ed-mfL" firstAttribute="leading" secondItem="wbc-yd-nQP" secondAttribute="leadingMargin" constant="-19" id="aoW-xE-g2g"/>
-                            <constraint firstAttribute="trailingMargin" secondItem="6bg-ed-mfL" secondAttribute="trailing" constant="-19" id="fyA-0H-E9s"/>
-                            <constraint firstItem="d5i-Ba-RvD" firstAttribute="top" secondItem="gad-k1-Oh8" secondAttribute="bottom" id="n1F-h4-Uxd"/>
-                            <constraint firstItem="gad-k1-Oh8" firstAttribute="top" secondItem="6bg-ed-mfL" secondAttribute="bottom" id="qEs-cg-DMH"/>
-                            <constraint firstItem="gad-k1-Oh8" firstAttribute="leadingMargin" secondItem="wbc-yd-nQP" secondAttribute="leadingMargin" constant="-16" id="qnK-zI-jNY"/>
-                            <constraint firstItem="6bg-ed-mfL" firstAttribute="top" secondItem="8bI-gs-bmD" secondAttribute="bottom" id="sKS-dx-tS9"/>
-                            <constraint firstItem="gad-k1-Oh8" firstAttribute="top" secondItem="6bg-ed-mfL" secondAttribute="bottom" id="xUM-bt-esX"/>
-                        </constraints>
-                    </view>
-                    <navigationItem key="navigationItem" id="DwO-O2-rAX"/>
-                    <nil key="simulatedStatusBarMetrics"/>
-                    <connections>
-                        <outlet property="constraintTopTableView" destination="sKS-dx-tS9" id="Cps-IG-Eih"/>
-                        <outlet property="destinyFolderButton" destination="Dpo-t5-Knx" id="9p8-c0-Ocm"/>
-                        <outlet property="shareTable" destination="6bg-ed-mfL" id="tzz-SO-m9D"/>
-                        <outlet property="toolBar" destination="gad-k1-Oh8" id="gAK-GL-EcZ"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="CEy-Cv-SGf" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="-290" y="-210"/>
-        </scene>
-    </scenes>
-</document>

+ 0 - 17
Share Ext/Share Ext-Bridging-Header.h

@@ -1,17 +0,0 @@
-//
-//  Use this file to import your target's public headers that you would like to expose to Swift.
-//
-
-#import "CCHud.h"
-#import "ShareViewController.h"
-
-#import "OCActivity.h"
-#import "OCUserProfile.h"
-#import "OCCapabilities.h"
-#import "OCExternalSites.h"
-#import "OCSharedDto.h"
-
-#import "TableAccount+CoreDataClass.h"
-#import "TableCertificates+CoreDataClass.h"
-#import "TableDirectory+CoreDataClass.h"
-#import "TableLocalFile+CoreDataClass.h"

+ 0 - 70
Share Ext/ShareViewController.h

@@ -1,70 +0,0 @@
-//
-//  ShareViewController.h
-//  Crypto Cloud Technology Nextcloud
-//
-//  Created by Marino Faggiana on 26/01/16.
-//  Copyright (c) 2017 TWS. All rights reserved.
-//
-//  Author Marino Faggiana <m.faggiana@twsweb.it>
-//
-//  This program is free software: you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation, either version 3 of the License, or
-//  (at your option) any later version.
-//
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
-//
-//  You should have received a copy of the GNU General Public License
-//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-
-#import "OCCommunication.h"
-#import "AFURLSessionManager.h"
-#import "MBProgressHUD.h"
-#import "CCNetworking.h"
-#import "OCNetworking.h"
-#import "CCBKPasscode.h"
-#import "CCGlobal.h"
-#import "CCGraphics.h"
-#import "CCCellShareExt.h"
-#import "CCCoreData.h"
-#import "CCMove.h"
-#import "CCError.h"
-#import "CCHud.h"
-
-@interface ShareViewController : UIViewController <UITableViewDelegate, OCNetworkingDelegate, MBProgressHUDDelegate, BKPasscodeViewControllerDelegate, CCNetworkingDelegate, CCMoveDelegate>
-
-@property (nonatomic, strong) NSOperationQueue *networkingOperationQueue;
-
-@property (nonatomic, strong) NSString *activeAccount;
-@property (nonatomic, strong) NSString *activeUrl;
-@property (nonatomic, strong) NSString *activeUser;
-@property (nonatomic, strong) NSString *activePassword;
-@property (nonatomic, strong) NSString *activeAccessToken;
-@property (nonatomic, strong) NSString *directoryUser;
-@property (nonatomic, strong) NSString *serverUrl;
-
-@property BOOL localCryptated;
-
-@property (nonatomic, retain) NSMutableArray *filesName;
-
-@property (nonatomic, weak) IBOutlet UITableView *shareTable;
-@property (nonatomic, weak) IBOutlet UIBarButtonItem *destinyFolderButton;
-@property (nonatomic, weak) IBOutlet NSLayoutConstraint *constraintTopTableView;
-@property (nonatomic, weak) IBOutlet UIToolbar *toolBar;
-
-// 
-@property (nonatomic, strong) CCBKPasscode *viewControllerBKInit;
-@property (nonatomic) NSUInteger failedAttempts;
-@property (nonatomic, strong) NSDate *lockUntilDate;
-
-//
-@property (nonatomic, strong) CCHud *hud;
-
-- (void)closeShareViewController;
-- (void)reloadData:(NSArray *)files;
-
-@end

+ 0 - 544
Share Ext/ShareViewController.m

@@ -1,544 +0,0 @@
-//
-//  ShareViewController.m
-//  Crypto Cloud Technology Nextcloud
-//
-//  Created by Marino Faggiana on 26/01/16.
-//  Copyright (c) 2017 TWS. All rights reserved.
-//
-//  Author Marino Faggiana <m.faggiana@twsweb.it>
-//
-//  This program is free software: you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation, either version 3 of the License, or
-//  (at your option) any later version.
-//
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
-//
-//  You should have received a copy of the GNU General Public License
-//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-
-#import "ShareViewController.h"
-#import "NCBridgeSwift.h"
-
-@import MobileCoreServices;
-
-@interface ShareViewController ()
-{
-    NSURL *dirGroup;
-    NSUInteger totalSize;
-    
-    NSExtensionItem *inputItem;
-    tableMetadata *saveMetadataPlist;
-    
-    UIColor *barTintColor;
-    UIColor *tintColor;
-    
-    NSMutableArray *_filesSendCryptated;
-    BOOL _isCryptoCloudMode;
-}
-@end
-
-@implementation ShareViewController
-
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark ===== View =====
-#pragma --------------------------------------------------------------------------------------------
-
--(void)viewDidLoad
-{
-    dirGroup = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:[NCBrandOptions sharedInstance].capabilitiesGroups];
-
-    tableAccount *recordAccount = [[NCManageDatabase sharedInstance] getAccountActive];
-    if (recordAccount == nil) {
-        
-        // close now
-        [self performSelector:@selector(closeShareViewController) withObject:nil afterDelay:0.1];
-        
-        return;
-        
-    } else {
-        
-        _activeAccount = recordAccount.account;
-        _activePassword = recordAccount.password;
-        _activeUrl = recordAccount.url;
-        _activeUser = recordAccount.user;
-        _directoryUser = [CCUtility getDirectoryActiveUser:self.activeUser activeUrl:self.activeUrl];
-        
-        if ([[CCUtility getKeyChainPasscodeForUUID:[CCUtility getUUID]] length] == 0) {
-            
-            _isCryptoCloudMode = NO;
-            
-        } else {
-            
-            _isCryptoCloudMode = YES;
-        }
-
-        
-        if ([_activeAccount isEqualToString:[CCUtility getActiveAccountShareExt]]) {
-            
-            // load
-            
-            _serverUrl = [CCUtility getServerUrlShareExt];
-            
-            _destinyFolderButton.title = [NSString stringWithFormat:NSLocalizedString(@"_destiny_folder_", nil), [CCUtility getTitleServerUrlShareExt]];
-            
-            if (_isCryptoCloudMode)
-                _localCryptated = [CCUtility getCryptatedShareExt];
-            
-        } else {
-            
-            // Default settings
-            
-            [CCUtility setActiveAccountShareExt:self.activeAccount];
-
-            _serverUrl  = [CCUtility getHomeServerUrlActiveUrl:self.activeUrl];
-            [CCUtility setServerUrlShareExt:_serverUrl];
-
-            _destinyFolderButton.title = [NSString stringWithFormat:NSLocalizedString(@"_destiny_folder_", nil), NSLocalizedString(@"_home_", nil)];
-            [CCUtility setTitleServerUrlShareExt:NSLocalizedString(@"_home_", nil)];
-
-            _localCryptated = NO;
-            [CCUtility setCryptatedShareExt:NO];
-        }
-    }
-
-    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(triggerProgressTask:) name:@"NotificationProgressTask" object:nil];
-    
-    _filesName = [[NSMutableArray alloc] init];
-    _filesSendCryptated = [[NSMutableArray alloc] init];
-    _hud = [[CCHud alloc] initWithView:self.navigationController.view];
-    
-    _networkingOperationQueue = [NSOperationQueue new];
-    _networkingOperationQueue.name = k_queue;
-    _networkingOperationQueue.maxConcurrentOperationCount = 1;
-    
-    [[CCNetworking sharedNetworking] settingDelegate:self];
-        
-    [self.shareTable registerNib:[UINib nibWithNibName:@"CCCellShareExt" bundle:nil] forCellReuseIdentifier:@"ShareExtCell"];
-    
-    [self navigationBarToolBar];
-    
-    [self loadDataSwift];
-}
-
-// Apparirà
-- (void)viewWillAppear:(BOOL)animated
-{
-    [super viewWillAppear:animated];
-    
-    // BUGFIX 2.17 - Change user Nextcloud App
-    [[CCNetworking sharedNetworking] settingAccount];
-    
-    if ([[CCUtility getBlockCode] length] > 0 && [CCUtility getOnlyLockDir] == NO)
-        [self openBKPasscode];
-}
-
-- (void)didReceiveMemoryWarning
-{
-    [super didReceiveMemoryWarning];
-    // Dispose of any resources that can be recreated.
-}
-
-- (void)closeShareViewController
-{
-    [self.extensionContext completeRequestReturningItems:@[] completionHandler:nil];
-}
-
-//
-// L'applicazione terminerà
-//
-- (void)applicationWillTerminate:(UIApplication *)application
-{    
-    NSLog(@"[LOG] bye bye, Crypto Cloud Share Extension!");
-}
-
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark == Action ==
-#pragma --------------------------------------------------------------------------------------------
-
-- (void)navigationBarToolBar
-{    
-    UIBarButtonItem *rightButtonUpload, *rightButtonEncrypt, *leftButtonCancel;
-
-    // Theming
-    tableCapabilities *capabilities = [[NCManageDatabase sharedInstance] getCapabilites];
-    if ([NCBrandOptions sharedInstance].use_themingColor && capabilities.themingColor.length > 0)
-        [NCBrandColor sharedInstance].brand = [CCGraphics colorFromHexString:capabilities.themingColor];
-
-    self.navigationController.navigationBar.barTintColor = [NCBrandColor sharedInstance].brand;
-    self.navigationController.navigationBar.tintColor = [NCBrandColor sharedInstance].navigationBarText;
-    
-    self.toolBar.barTintColor = [NCBrandColor sharedInstance].tabBar;
-    self.toolBar.tintColor = [NCBrandColor sharedInstance].brand;
-    
-    // Upload
-    if (self.localCryptated && _isCryptoCloudMode) {
-        
-        rightButtonUpload = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"_save_encrypted_", nil) style:UIBarButtonItemStylePlain target:self action:@selector(selectPost)];
-        [rightButtonUpload setTintColor:[NCBrandColor sharedInstance].cryptocloud];
-        
-    } else {
-        
-        rightButtonUpload = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"_save_", nil) style:UIBarButtonItemStylePlain target:self action:@selector(selectPost)];
-    }
-    
-    // Encrypt ICON
-    if (_isCryptoCloudMode) {
-        UIImage *icon = [[UIImage imageNamed:@"shareExtEncrypt"] imageWithRenderingMode:UIImageRenderingModeAutomatic];
-        rightButtonEncrypt = [[UIBarButtonItem alloc] initWithImage:icon style:UIBarButtonItemStylePlain target:self action:@selector(changeEncrypt)];
-        if (self.localCryptated) [rightButtonEncrypt setTintColor:[NCBrandColor sharedInstance].cryptocloud];
-    }
-    
-    // Cancel
-    leftButtonCancel = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"_cancel_", nil) style:UIBarButtonItemStylePlain target:self action:@selector(cancelPost)];
-    
-    // Title
-    [self.navigationController.navigationBar setTitleTextAttributes: @{NSForegroundColorAttributeName:self.navigationController.navigationBar.tintColor}];
-    
-    self.navigationItem.title = [NCBrandOptions sharedInstance].brand;
-    self.navigationItem.leftBarButtonItem = leftButtonCancel;
-    self.navigationItem.rightBarButtonItems = [[NSArray alloc] initWithObjects:rightButtonUpload, rightButtonEncrypt, nil];
-    self.navigationItem.hidesBackButton = YES;
-}
-
-- (void)moveServerUrlTo:(NSString *)serverUrlTo title:(NSString *)title selectedMetadatas:(NSArray *)selectedMetadatas
-{
-    if (serverUrlTo)
-        _serverUrl = serverUrlTo;
-    
-    if (title) {
-        self.destinyFolderButton.title = [NSString stringWithFormat:NSLocalizedString(@"_destiny_folder_", nil), title];
-        [CCUtility setTitleServerUrlShareExt:title];
-    } else {
-        self.destinyFolderButton.title = [NSString stringWithFormat:NSLocalizedString(@"_destiny_folder_", nil), NSLocalizedString(@"_home_", nil)];
-        [CCUtility setTitleServerUrlShareExt:NSLocalizedString(@"_home_", nil)];
-    }
-    
-    [CCUtility setActiveAccountShareExt:self.activeAccount];
-    [CCUtility setServerUrlShareExt:_serverUrl];
-}
-
-- (IBAction)destinyFolderButtonTapped:(UIBarButtonItem *)sender
-{
-    UINavigationController* navigationController = [[UIStoryboard storyboardWithName:@"CCMove" bundle:nil] instantiateViewControllerWithIdentifier:@"CCMove"];
-    
-    CCMove *viewController = (CCMove *)navigationController.topViewController;
-    
-    viewController.delegate = self;
-    viewController.move.title = NSLocalizedString(@"_select_", nil);
-    viewController.tintColor = tintColor;
-    viewController.barTintColor = barTintColor;
-    viewController.tintColorTitle = tintColor;
-    viewController.networkingOperationQueue = _networkingOperationQueue;
-
-    [navigationController setModalPresentationStyle:UIModalPresentationFormSheet];
-    [self presentViewController:navigationController animated:YES completion:nil];
-}
-
-- (void)selectPost
-{
-    if ([self.filesName count] > 0) {
-    
-        NSString *fileName = [self.filesName objectAtIndex:0];
-        
-        CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:_activeAccount];
-            
-        metadataNet.action = actionUploadFile;
-        metadataNet.cryptated = _localCryptated;
-        metadataNet.fileName = fileName;
-        metadataNet.fileNamePrint = fileName;
-        metadataNet.serverUrl = _serverUrl;
-        metadataNet.session = k_upload_session_foreground;
-        metadataNet.taskStatus = k_taskStatusResume;
-        
-        [self addNetworkingQueue:metadataNet];
-        
-        [self.hud visibleHudTitle:NSLocalizedString(@"_uploading_", nil) mode:MBProgressHUDModeDeterminateHorizontalBar color:[NCBrandColor sharedInstance].brand];
-       
-        [self.hud AddButtonCancelWithTarget:self selector:@"cancelTransfer"];
-    }
-    else
-        [self closeShareViewController];
-}
-
-- (void)cancelPost
-{
-    // rimuoviamo i file+ico
-    for (NSString *fileName in self.filesName) {
-        
-        [[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@/%@", self.directoryUser, fileName] error:nil];
-        [[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@/%@.ico", self.directoryUser, fileName] error:nil];
-    }
-    
-    [self closeShareViewController];
-}
-
-- (void)changeEncrypt
-{
-    if (self.localCryptated) self.localCryptated = NO;
-    else self.localCryptated = YES;
-    
-    [CCUtility setCryptatedShareExt:self.localCryptated];
-
-    [self navigationBarToolBar];
-}
-
-- (void)cancelTransfer
-{
-    [_networkingOperationQueue cancelAllOperations];
-}
-
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark ======================= NetWorking ==================================
-#pragma --------------------------------------------------------------------------------------------
-
-- (void)triggerProgressTask:(NSNotification *)notification
-{
-    NSDictionary *dict = notification.userInfo;
-    float progress = [[dict valueForKey:@"progress"] floatValue];
-
-    [self.hud progress:progress];
-}
-
-- (void)uploadFileFailure:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector message:(NSString *)message errorCode:(NSInteger)errorCode
-{
-    [self.hud hideHud];
-    
-    // remove file 
-    [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID = %@", fileID]];
-    
-    [[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@/%@", _directoryUser, fileID] error:nil];
-    [[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@/%@.ico", _directoryUser, fileID] error:nil];
-
-    // message error
-    if (errorCode != kCFURLErrorCancelled) {
-        
-        UIAlertController * alert= [UIAlertController alertControllerWithTitle:NSLocalizedString(@"_error_", nil) message:message preferredStyle:UIAlertControllerStyleAlert];
-        UIAlertAction* ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
-                                                   handler:^(UIAlertAction * action) {
-                                                       [alert dismissViewControllerAnimated:YES completion:nil];
-                                                       [self closeShareViewController];
-                                                   }];
-        [alert addAction:ok];
-        [self presentViewController:alert animated:YES completion:nil];
-    }
-    else
-        [self closeShareViewController];
-}
-
-- (void)uploadFileSuccess:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector selectorPost:(NSString *)selectorPost
-{
-    [self.hud hideHud];
-    
-    tableMetadata *metadata =  [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID = %@", fileID]];
-    
-    [self.filesName removeObject:metadata.fileNamePrint];
-    [self.shareTable performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];
-    
-    [self performSelector:@selector(selectPost) withObject:nil afterDelay:0.1];
-}
-
-- (void)addNetworkingQueue:(CCMetadataNet *)metadataNet
-{
-    id operation;
-   
-    operation = [[OCnetworking alloc] initWithDelegate:self metadataNet:metadataNet withUser:_activeUser withPassword:_activePassword withUrl:_activeUrl isCryptoCloudMode:_isCryptoCloudMode];
-    
-    [operation setQueuePriority:metadataNet.priority];
-    
-    [_networkingOperationQueue addOperation:operation];
-}
-
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark ===== Lock Password =====
-#pragma --------------------------------------------------------------------------------------------
-
-- (void)openBKPasscode
-{
-    CCBKPasscode *viewController = [[CCBKPasscode alloc] initWithNibName:nil bundle:nil];
-    viewController.delegate = self;
-    viewController.type = BKPasscodeViewControllerCheckPasscodeType;
-    viewController.inputViewTitlePassword = YES;
-    
-    if ([CCUtility getSimplyBlockCode]) {
-        
-        viewController.passcodeStyle = BKPasscodeInputViewNumericPasscodeStyle;
-        viewController.passcodeInputView.maximumLength = 6;
-        
-    } else {
-        
-        viewController.passcodeStyle = BKPasscodeInputViewNormalPasscodeStyle;
-        viewController.passcodeInputView.maximumLength = 64;
-    }
-    
-    BKTouchIDManager *touchIDManager = [[BKTouchIDManager alloc] initWithKeychainServiceName:k_serviceShareKeyChain];
-    touchIDManager.promptText = NSLocalizedString(@"_scan_fingerprint_", nil);
-    viewController.touchIDManager = touchIDManager;
-    viewController.title = [NCBrandOptions sharedInstance].brand;
-    viewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(passcodeViewCloseButtonPressed:)];
-    viewController.navigationItem.leftBarButtonItem.tintColor = [NCBrandColor sharedInstance].cryptocloud;
-    
-    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
-    [self presentViewController:navController animated:YES completion:nil];
-}
-
-- (NSUInteger)passcodeViewControllerNumberOfFailedAttempts:(CCBKPasscode *)aViewController
-{
-    return self.failedAttempts;
-}
-
-- (NSDate *)passcodeViewControllerLockUntilDate:(CCBKPasscode *)aViewController
-{
-    return self.lockUntilDate;
-}
-
-- (void)passcodeViewCloseButtonPressed:(id)sender
-{
-    [self dismissViewControllerAnimated:YES completion:^{
-        [self performSelector:@selector(closeShareViewController) withObject:nil];
-    }];
-}
-
-- (void)passcodeViewController:(CCBKPasscode *)aViewController authenticatePasscode:(NSString *)aPasscode resultHandler:(void (^)(BOOL))aResultHandler
-{
-    if ([aPasscode isEqualToString:[CCUtility getBlockCode]]) {
-        self.lockUntilDate = nil;
-        self.failedAttempts = 0;
-        aResultHandler(YES);
-    } else aResultHandler(NO);
-}
-
-- (void)passcodeViewController:(CCBKPasscode *)aViewController didFinishWithPasscode:(NSString *)aPasscode
-{
-    [aViewController dismissViewControllerAnimated:YES completion:nil];
-}
-
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark ===== Swipe Table DELETE -> menu =====
-#pragma--------------------------------------------------------------------------------------------
-
-- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
-{
-    [self setEditing:NO animated:YES];
-    
-    NSString *fileName = [self.filesName objectAtIndex:indexPath.row];
-    
-    [[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@/%@", self.directoryUser, fileName] error:nil];
-    [[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@/%@.ico", self.directoryUser, fileName] error:nil];
-
-    [self.filesName removeObjectAtIndex:indexPath.row];
-    
-    if ([self.filesName count] == 0) [self closeShareViewController];
-    else [self.shareTable performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];
-}
-
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark == Table ==
-#pragma --------------------------------------------------------------------------------------------
-
-- (void)loadDataSwift
-{
-    CCloadItemData *loadItem = [[CCloadItemData alloc] init];
-    
-    [loadItem loadFiles:self.directoryUser extensionContext:self.extensionContext vc:self];
-}
-
-- (void)reloadData:(NSArray *)files
-{
-    totalSize = 0;
-
-    for (NSString *file in files) {
-        
-        NSUInteger fileSize = (NSInteger)[[[NSFileManager defaultManager] attributesOfItemAtPath:[NSString stringWithFormat:@"%@/%@", self.directoryUser, file] error:nil] fileSize];
-        
-        totalSize += fileSize;
-        
-        // creiamo l'ICO
-        CFStringRef fileExtension = (__bridge CFStringRef)[file pathExtension];
-        CFStringRef fileUTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, fileExtension, NULL);
-        
-        if (fileSize > 0 && ((UTTypeConformsTo(fileUTI, kUTTypeImage)) || (UTTypeConformsTo(fileUTI, kUTTypeMovie)))) {
-            
-            NSString *typeFile;
-            if (UTTypeConformsTo(fileUTI, kUTTypeImage)) typeFile = k_metadataTypeFile_image;
-            if (UTTypeConformsTo(fileUTI, kUTTypeMovie)) typeFile = k_metadataTypeFile_video;
-            
-            [CCGraphics createNewImageFrom:file directoryUser:self.directoryUser fileNameTo:file fileNamePrint:nil size:@"m" imageForUpload:NO typeFile:typeFile writePreview:YES optimizedFileName:NO];
-        }
-    }
-    
-    if (totalSize > 0) {
-        
-        self.filesName = [[NSMutableArray alloc] initWithArray:files];
-        [self.shareTable reloadData];
-        
-    } else {
-        
-        [self closeShareViewController];
-    }
-}
-
-- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
-{
-    return 80;
-}
-
-- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
-{
-    return 1;
-}
-
-- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
-{
-    return [self.filesName count];
-}
-
-- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
-{
-    NSString *fileName = [self.filesName objectAtIndex:indexPath.row];
-    UIImage *image = nil;
-    
-    CFStringRef fileExtension = (__bridge CFStringRef)[fileName pathExtension];
-    CFStringRef fileUTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, fileExtension, NULL);
-
-    if (UTTypeConformsTo(fileUTI, kUTTypeZipArchive) && [(__bridge NSString *)fileUTI containsString:@"org.openxmlformats"] == NO) image = [UIImage imageNamed:@"file_compress"];
-    else if (UTTypeConformsTo(fileUTI, kUTTypeAudio)) image = [UIImage imageNamed:@"file_audio"];
-    else if ((UTTypeConformsTo(fileUTI, kUTTypeImage)) || (UTTypeConformsTo(fileUTI, kUTTypeMovie))) {
-        
-        image = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@.ico", self.directoryUser, fileName]];
-        
-    }
-    else if (UTTypeConformsTo(fileUTI, kUTTypeContent)) {
-        
-        image = [UIImage imageNamed:@"document"];
-        
-        NSString *typeFile = (__bridge NSString *)fileUTI;
-        
-        if ([typeFile isEqualToString:@"com.adobe.pdf"]) image = [UIImage imageNamed:@"file_pdf"];
-        if ([typeFile isEqualToString:@"org.openxmlformats.spreadsheetml.sheet"]) image = [UIImage imageNamed:@"file_xls"];
-        if ([typeFile isEqualToString:@"public.plain-text"]) image = [UIImage imageNamed:@"file_txt"];
-    }
-    else image = [UIImage imageNamed:@"file"];
-    
-    CCCellShareExt *cell = (CCCellShareExt *)[tableView dequeueReusableCellWithIdentifier:@"ShareExtCell" forIndexPath:indexPath];
-    
-    NSUInteger fileSize = (NSInteger)[[[NSFileManager defaultManager] attributesOfItemAtPath:[NSString stringWithFormat:@"%@/%@", self.directoryUser, fileName] error:nil] fileSize];
-    
-    cell.labelInformazioni.text = [NSString stringWithFormat:@"%@\r\r%@", fileName, [CCUtility transformedSize:fileSize]];
-    cell.labelInformazioni.textColor = [UIColor blackColor];
-
-    cell.fileImageView.image = image;
-    
-    return cell;
-}
-
-- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
-{
-    [tableView deselectRowAtIndexPath:indexPath animated:YES];
-}
-
-@end

+ 1 - 2
iOSClient/Brand/Custom.xcassets/AppIcon.appiconset/Contents.json

@@ -11,9 +11,8 @@
       "scale" : "3x"
     },
     {
-      "size" : "29x29",
       "idiom" : "iphone",
-      "filename" : "nextcloud29@1x.png",
+      "size" : "29x29",
       "scale" : "1x"
     },
     {

+ 0 - 843
iOSClient/Main/Main.storyboard

@@ -1,843 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12120" systemVersion="16E195" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="4IE-mo-rkp">
-    <device id="retina4_7" orientation="portrait">
-        <adaptation id="fullscreen"/>
-    </device>
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12088"/>
-        <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <scenes>
-        <!--Split-->
-        <scene sceneID="B1o-fj-nYn">
-            <objects>
-                <splitViewController id="4IE-mo-rkp" customClass="CCSplit" sceneMemberID="viewController">
-                    <extendedEdge key="edgesForExtendedLayout"/>
-                    <connections>
-                        <segue destination="mtc-lf-PRo" kind="relationship" relationship="detailViewController" id="W5b-lw-8O1"/>
-                        <segue destination="FkP-Lh-8zt" kind="relationship" relationship="masterViewController" id="XFR-ol-usq"/>
-                    </connections>
-                </splitViewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="6BR-HM-b4e" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="4457" y="-709"/>
-        </scene>
-        <!--Settings-->
-        <scene sceneID="8L1-Aq-u4E">
-            <objects>
-                <viewController automaticallyAdjustsScrollViewInsets="NO" id="amx-XG-NId" customClass="CCSettings" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="NjY-Ao-agJ"/>
-                        <viewControllerLayoutGuide type="bottom" id="EGW-gb-08A"/>
-                    </layoutGuides>
-                    <view key="view" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="qPP-0c-bH9">
-                        <rect key="frame" x="0.0" y="64" width="375" height="554"/>
-                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                        <subviews>
-                            <tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" translatesAutoresizingMaskIntoConstraints="NO" id="RbN-9l-HP2">
-                                <rect key="frame" x="0.0" y="0.0" width="375" height="554"/>
-                                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                                <color key="backgroundColor" red="0.93725490196078431" green="0.93725490196078431" blue="0.95686274509803926" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                            </tableView>
-                        </subviews>
-                        <color key="backgroundColor" red="0.93725490196078431" green="0.93725490196078431" blue="0.95686274509803926" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                    </view>
-                    <extendedEdge key="edgesForExtendedLayout"/>
-                    <navigationItem key="navigationItem" id="1CO-Ie-Aaj"/>
-                    <connections>
-                        <segue destination="eZl-ut-xpC" kind="presentation" identifier="AcknowledgementsSegue" modalPresentationStyle="formSheet" id="J9C-Ex-Q6i"/>
-                        <segue destination="DEi-yz-wEj" kind="show" identifier="CCManageCameraUploadSegue" id="Aij-5E-cNN"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="wVn-RD-GD2" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="11844" y="1218"/>
-        </scene>
-        <!--More-->
-        <scene sceneID="Mdr-ch-zRI">
-            <objects>
-                <viewController extendedLayoutIncludesOpaqueBars="YES" id="9DM-ts-oJu" customClass="CCMore" customModule="Nextcloud" customModuleProvider="target" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="myb-PI-7vm"/>
-                        <viewControllerLayoutGuide type="bottom" id="vKf-mG-hvt"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="XtC-Je-LUc">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="cxb-Vw-8zb">
-                                <rect key="frame" x="0.0" y="0.0" width="375" height="100"/>
-                                <constraints>
-                                    <constraint firstAttribute="height" constant="100" id="mmt-Ka-rkQ"/>
-                                </constraints>
-                            </imageView>
-                            <imageView userInteractionEnabled="NO" contentMode="center" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="disclosureIndicator" translatesAutoresizingMaskIntoConstraints="NO" id="Hxn-XA-fmj">
-                                <rect key="frame" x="346" y="91" width="24" height="26"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="24" id="t8K-rR-nO7"/>
-                                    <constraint firstAttribute="height" constant="26" id="wKO-XG-ygn"/>
-                                </constraints>
-                            </imageView>
-                            <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" rowHeight="50" sectionHeaderHeight="1" sectionFooterHeight="1" translatesAutoresizingMaskIntoConstraints="NO" id="Xym-IM-aqh">
-                                <rect key="frame" x="0.0" y="164" width="375" height="503"/>
-                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                <prototypes>
-                                    <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="Cell" rowHeight="50" id="zQQ-52-W9I" customClass="CCCellMore" customModule="Nextcloud" customModuleProvider="target">
-                                        <rect key="frame" x="0.0" y="56" width="375" height="50"/>
-                                        <autoresizingMask key="autoresizingMask"/>
-                                        <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="zQQ-52-W9I" id="Zho-os-HYj">
-                                            <rect key="frame" x="0.0" y="0.0" width="375" height="49"/>
-                                            <autoresizingMask key="autoresizingMask"/>
-                                            <subviews>
-                                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="center" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="RZt-EQ-32U">
-                                                    <rect key="frame" x="8" y="5" width="40" height="40"/>
-                                                    <constraints>
-                                                        <constraint firstAttribute="width" constant="40" id="GYs-fR-sFZ"/>
-                                                        <constraint firstAttribute="height" constant="40" id="Wrt-BX-70e"/>
-                                                    </constraints>
-                                                </imageView>
-                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="idt-Tt-9A9">
-                                                    <rect key="frame" x="56" y="15" width="311" height="20"/>
-                                                    <fontDescription key="fontDescription" type="system" pointSize="16"/>
-                                                    <nil key="textColor"/>
-                                                    <nil key="highlightedColor"/>
-                                                </label>
-                                            </subviews>
-                                            <constraints>
-                                                <constraint firstAttribute="leadingMargin" secondItem="RZt-EQ-32U" secondAttribute="leading" id="fph-ua-Vg7"/>
-                                                <constraint firstAttribute="trailingMargin" secondItem="idt-Tt-9A9" secondAttribute="trailing" id="iZn-Cp-TaL"/>
-                                                <constraint firstItem="idt-Tt-9A9" firstAttribute="centerY" secondItem="Zho-os-HYj" secondAttribute="centerY" id="sXO-Ap-7WF"/>
-                                                <constraint firstItem="RZt-EQ-32U" firstAttribute="centerY" secondItem="Zho-os-HYj" secondAttribute="centerY" id="vfg-W2-KG4"/>
-                                                <constraint firstItem="idt-Tt-9A9" firstAttribute="leading" secondItem="Zho-os-HYj" secondAttribute="leadingMargin" constant="48" id="wOF-pM-QzV"/>
-                                            </constraints>
-                                        </tableViewCellContentView>
-                                        <connections>
-                                            <outlet property="imageIcon" destination="RZt-EQ-32U" id="dZO-MZ-YJp"/>
-                                            <outlet property="labelText" destination="idt-Tt-9A9" id="Xgv-C7-jBr"/>
-                                        </connections>
-                                    </tableViewCell>
-                                </prototypes>
-                                <connections>
-                                    <outlet property="dataSource" destination="9DM-ts-oJu" id="30F-1v-Nuf"/>
-                                    <outlet property="delegate" destination="9DM-ts-oJu" id="ePC-4O-7ui"/>
-                                </connections>
-                            </tableView>
-                            <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="avatar" translatesAutoresizingMaskIntoConstraints="NO" id="DWx-1W-vs0" customClass="SwiftyAvatar" customModule="Nextcloud" customModuleProvider="target">
-                                <rect key="frame" x="15" y="79" width="50" height="50"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="50" id="QAM-AU-L76"/>
-                                    <constraint firstAttribute="height" constant="50" id="Quc-kC-yu5"/>
-                                </constraints>
-                                <userDefinedRuntimeAttributes>
-                                    <userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
-                                        <real key="value" value="1"/>
-                                    </userDefinedRuntimeAttribute>
-                                    <userDefinedRuntimeAttribute type="color" keyPath="borderColor">
-                                        <color key="value" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                    </userDefinedRuntimeAttribute>
-                                </userDefinedRuntimeAttributes>
-                            </imageView>
-                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="username" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BiW-NW-hVZ">
-                                <rect key="frame" x="78" y="94" width="77.5" height="20"/>
-                                <fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
-                                <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                <nil key="highlightedColor"/>
-                            </label>
-                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="NxR-5x-edP">
-                                <rect key="frame" x="0.0" y="551" width="375" height="116"/>
-                                <subviews>
-                                    <progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" progress="0.5" translatesAutoresizingMaskIntoConstraints="NO" id="HgC-Ub-Dtb">
-                                        <rect key="frame" x="16" y="35" width="343" height="2"/>
-                                    </progressView>
-                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="C75-NQ-7jy">
-                                        <rect key="frame" x="16" y="45" width="343" height="17"/>
-                                        <fontDescription key="fontDescription" type="system" pointSize="14"/>
-                                        <color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
-                                        <nil key="highlightedColor"/>
-                                    </label>
-                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WdB-hd-mrv">
-                                        <rect key="frame" x="16" y="9" width="343" height="17"/>
-                                        <fontDescription key="fontDescription" type="system" pointSize="14"/>
-                                        <color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
-                                        <nil key="highlightedColor"/>
-                                    </label>
-                                </subviews>
-                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                <constraints>
-                                    <constraint firstAttribute="trailing" secondItem="HgC-Ub-Dtb" secondAttribute="trailing" constant="16" id="5q6-NB-Mmc"/>
-                                    <constraint firstItem="HgC-Ub-Dtb" firstAttribute="leading" secondItem="NxR-5x-edP" secondAttribute="leading" constant="16" id="PE4-Uk-fCL"/>
-                                    <constraint firstItem="C75-NQ-7jy" firstAttribute="leading" secondItem="NxR-5x-edP" secondAttribute="leading" constant="16" id="Tt2-eu-OCo"/>
-                                    <constraint firstAttribute="trailing" secondItem="WdB-hd-mrv" secondAttribute="trailing" constant="16" id="VIr-6S-gO3"/>
-                                    <constraint firstAttribute="bottom" secondItem="C75-NQ-7jy" secondAttribute="bottom" constant="54" id="VYp-G2-qYB"/>
-                                    <constraint firstAttribute="height" constant="116" id="abE-Pf-XgO"/>
-                                    <constraint firstItem="WdB-hd-mrv" firstAttribute="leading" secondItem="NxR-5x-edP" secondAttribute="leading" constant="16" id="iKI-KT-uCZ"/>
-                                    <constraint firstAttribute="bottom" secondItem="WdB-hd-mrv" secondAttribute="bottom" constant="90" id="xLa-Ha-jLI"/>
-                                    <constraint firstAttribute="trailing" secondItem="C75-NQ-7jy" secondAttribute="trailing" constant="16" id="xoB-cD-7YG"/>
-                                    <constraint firstAttribute="bottom" secondItem="HgC-Ub-Dtb" secondAttribute="bottom" constant="79" id="yaJ-mY-iTS"/>
-                                </constraints>
-                            </view>
-                        </subviews>
-                        <constraints>
-                            <constraint firstAttribute="bottom" secondItem="Xym-IM-aqh" secondAttribute="bottom" id="0E5-2f-72F"/>
-                            <constraint firstItem="cxb-Vw-8zb" firstAttribute="top" secondItem="XtC-Je-LUc" secondAttribute="topMargin" id="2z9-1h-2dU"/>
-                            <constraint firstItem="Xym-IM-aqh" firstAttribute="top" secondItem="myb-PI-7vm" secondAttribute="bottom" constant="100" id="3Bb-ws-1xn"/>
-                            <constraint firstAttribute="bottom" secondItem="NxR-5x-edP" secondAttribute="bottom" id="9bH-mG-bse"/>
-                            <constraint firstAttribute="trailing" secondItem="cxb-Vw-8zb" secondAttribute="trailing" id="AjJ-cB-0xu"/>
-                            <constraint firstItem="cxb-Vw-8zb" firstAttribute="left" secondItem="DWx-1W-vs0" secondAttribute="left" constant="-15" id="CzV-Na-OWE"/>
-                            <constraint firstItem="Xym-IM-aqh" firstAttribute="leading" secondItem="cxb-Vw-8zb" secondAttribute="leading" id="DKF-Y7-cmv"/>
-                            <constraint firstAttribute="trailing" secondItem="NxR-5x-edP" secondAttribute="trailing" id="LJB-St-B4Y"/>
-                            <constraint firstItem="BiW-NW-hVZ" firstAttribute="centerY" secondItem="DWx-1W-vs0" secondAttribute="centerY" id="NA6-sD-Ouq"/>
-                            <constraint firstAttribute="trailingMargin" secondItem="Hxn-XA-fmj" secondAttribute="trailing" constant="-11" id="NwY-of-hgF"/>
-                            <constraint firstItem="Xym-IM-aqh" firstAttribute="trailing" secondItem="cxb-Vw-8zb" secondAttribute="trailing" id="SNN-Jv-Ezx"/>
-                            <constraint firstItem="Xym-IM-aqh" firstAttribute="top" secondItem="DWx-1W-vs0" secondAttribute="bottom" constant="35" id="Wus-Hr-tKk"/>
-                            <constraint firstItem="NxR-5x-edP" firstAttribute="leading" secondItem="XtC-Je-LUc" secondAttribute="leading" id="Xjg-WL-zva"/>
-                            <constraint firstItem="Hxn-XA-fmj" firstAttribute="centerY" secondItem="DWx-1W-vs0" secondAttribute="centerY" id="m1i-IF-Acx"/>
-                            <constraint firstItem="cxb-Vw-8zb" firstAttribute="leading" secondItem="XtC-Je-LUc" secondAttribute="leading" id="qyg-dI-shE"/>
-                            <constraint firstItem="BiW-NW-hVZ" firstAttribute="leading" secondItem="DWx-1W-vs0" secondAttribute="trailing" constant="13" id="uDv-hU-dPQ"/>
-                        </constraints>
-                    </view>
-                    <navigationItem key="navigationItem" id="170-MG-QpZ"/>
-                    <connections>
-                        <outlet property="labelQuota" destination="WdB-hd-mrv" id="Ozy-WV-w5O"/>
-                        <outlet property="labelQuotaExternalSite" destination="C75-NQ-7jy" id="lqR-zC-xRX"/>
-                        <outlet property="labelUsername" destination="BiW-NW-hVZ" id="0nF-vI-MBZ"/>
-                        <outlet property="progressQuota" destination="HgC-Ub-Dtb" id="mpA-O3-SpS"/>
-                        <outlet property="tableView" destination="Xym-IM-aqh" id="Esm-wN-pr1"/>
-                        <outlet property="themingAvatar" destination="DWx-1W-vs0" id="Krr-7g-A4s"/>
-                        <outlet property="themingBackground" destination="cxb-Vw-8zb" id="mRn-Rs-tfr"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="D6O-WR-IEL" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="9212" y="1217.5412293853074"/>
-        </scene>
-        <!--Photos Camera Upload-->
-        <scene sceneID="kWr-RF-gdq">
-            <objects>
-                <collectionViewController extendedLayoutIncludesOpaqueBars="YES" id="1Ca-6H-d29" customClass="CCPhotosCameraUpload" sceneMemberID="viewController">
-                    <collectionView key="view" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" id="zkC-IW-U7O">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                        <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="3" minimumInteritemSpacing="1" id="Ode-Gf-Nqo">
-                            <size key="itemSize" width="75" height="75"/>
-                            <size key="headerReferenceSize" width="10" height="20"/>
-                            <size key="footerReferenceSize" width="10" height="20"/>
-                            <inset key="sectionInset" minX="4" minY="4" maxX="4" maxY="4"/>
-                        </collectionViewFlowLayout>
-                        <cells>
-                            <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="cell" id="ax6-Kq-EOT">
-                                <rect key="frame" x="4" y="24" width="75" height="75"/>
-                                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                                <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
-                                    <rect key="frame" x="0.0" y="0.0" width="75" height="75"/>
-                                    <autoresizingMask key="autoresizingMask"/>
-                                    <subviews>
-                                        <imageView userInteractionEnabled="NO" tag="100" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="wv7-Pl-1S9">
-                                            <rect key="frame" x="0.0" y="0.0" width="75" height="75"/>
-                                        </imageView>
-                                        <visualEffectView hidden="YES" opaque="NO" tag="200" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Vaz-kb-VZC">
-                                            <rect key="frame" x="0.0" y="0.0" width="75" height="75"/>
-                                            <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="zTo-QZ-xyF">
-                                                <rect key="frame" x="0.0" y="0.0" width="75" height="75"/>
-                                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                            </view>
-                                            <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                                            <blurEffect style="extraLight"/>
-                                        </visualEffectView>
-                                        <imageView hidden="YES" opaque="NO" userInteractionEnabled="NO" tag="300" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="sj1-BH-NWl">
-                                            <rect key="frame" x="25" y="25" width="25" height="25"/>
-                                            <constraints>
-                                                <constraint firstAttribute="height" constant="25" id="8D0-Br-VLn"/>
-                                                <constraint firstAttribute="width" constant="25" id="JTW-Py-sqE"/>
-                                            </constraints>
-                                        </imageView>
-                                    </subviews>
-                                </view>
-                                <constraints>
-                                    <constraint firstItem="wv7-Pl-1S9" firstAttribute="leading" secondItem="ax6-Kq-EOT" secondAttribute="leading" id="8Lf-ww-OoY"/>
-                                    <constraint firstItem="wv7-Pl-1S9" firstAttribute="bottom" secondItem="Vaz-kb-VZC" secondAttribute="bottom" id="8nn-9h-h8F"/>
-                                    <constraint firstItem="sj1-BH-NWl" firstAttribute="centerX" secondItem="zTo-QZ-xyF" secondAttribute="centerX" id="Aou-FC-rhP"/>
-                                    <constraint firstItem="wv7-Pl-1S9" firstAttribute="trailing" secondItem="Vaz-kb-VZC" secondAttribute="trailing" id="CGZ-Ir-z0l"/>
-                                    <constraint firstItem="wv7-Pl-1S9" firstAttribute="top" secondItem="ax6-Kq-EOT" secondAttribute="top" id="H2J-n2-czF"/>
-                                    <constraint firstItem="wv7-Pl-1S9" firstAttribute="leading" secondItem="Vaz-kb-VZC" secondAttribute="leading" id="TKe-Ml-mj4"/>
-                                    <constraint firstItem="wv7-Pl-1S9" firstAttribute="top" secondItem="Vaz-kb-VZC" secondAttribute="top" id="V3X-qR-o1I"/>
-                                    <constraint firstAttribute="trailing" secondItem="wv7-Pl-1S9" secondAttribute="trailing" id="WRD-6l-xgj"/>
-                                    <constraint firstItem="sj1-BH-NWl" firstAttribute="centerY" secondItem="zTo-QZ-xyF" secondAttribute="centerY" id="qDU-Pg-7gS"/>
-                                    <constraint firstAttribute="bottom" secondItem="wv7-Pl-1S9" secondAttribute="bottom" id="vwT-T5-hkc"/>
-                                </constraints>
-                            </collectionViewCell>
-                        </cells>
-                        <collectionReusableView key="sectionHeaderView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="header" id="0S8-Db-U0e">
-                            <rect key="frame" x="0.0" y="0.0" width="375" height="20"/>
-                            <autoresizingMask key="autoresizingMask"/>
-                            <subviews>
-                                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" tag="100" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Header" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="55Q-Lx-UkW">
-                                    <rect key="frame" x="6" y="3" width="352" height="15"/>
-                                    <fontDescription key="fontDescription" type="system" pointSize="12"/>
-                                    <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                            </subviews>
-                            <constraints>
-                                <constraint firstAttribute="trailingMargin" secondItem="55Q-Lx-UkW" secondAttribute="trailing" constant="9" id="5gh-ql-db6"/>
-                                <constraint firstItem="55Q-Lx-UkW" firstAttribute="leading" secondItem="0S8-Db-U0e" secondAttribute="leading" constant="6" id="Ltr-ca-4oa"/>
-                                <constraint firstItem="55Q-Lx-UkW" firstAttribute="centerY" secondItem="0S8-Db-U0e" secondAttribute="centerY" id="p4z-mm-sQP"/>
-                            </constraints>
-                        </collectionReusableView>
-                        <collectionReusableView key="sectionFooterView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="footer" id="jDW-vn-a9W">
-                            <rect key="frame" x="0.0" y="103" width="375" height="20"/>
-                            <autoresizingMask key="autoresizingMask"/>
-                            <subviews>
-                                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" tag="100" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Header" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HVV-2C-7PP">
-                                    <rect key="frame" x="8" y="3" width="359" height="15"/>
-                                    <fontDescription key="fontDescription" type="system" pointSize="12"/>
-                                    <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                            </subviews>
-                            <constraints>
-                                <constraint firstItem="HVV-2C-7PP" firstAttribute="leading" secondItem="jDW-vn-a9W" secondAttribute="leadingMargin" id="1Cm-hJ-kcH"/>
-                                <constraint firstItem="HVV-2C-7PP" firstAttribute="height" secondItem="jDW-vn-a9W" secondAttribute="height" constant="-5" id="Jio-JV-jMB"/>
-                                <constraint firstItem="HVV-2C-7PP" firstAttribute="centerY" secondItem="jDW-vn-a9W" secondAttribute="centerY" id="SQf-VK-Db4"/>
-                                <constraint firstItem="HVV-2C-7PP" firstAttribute="width" secondItem="jDW-vn-a9W" secondAttribute="width" constant="-16" id="nQC-oH-6jE"/>
-                            </constraints>
-                        </collectionReusableView>
-                        <connections>
-                            <outlet property="dataSource" destination="1Ca-6H-d29" id="Uzm-Ti-Qig"/>
-                            <outlet property="delegate" destination="1Ca-6H-d29" id="GXw-PZ-AIG"/>
-                        </connections>
-                    </collectionView>
-                    <navigationItem key="navigationItem" id="Ljh-k8-LVi"/>
-                    <connections>
-                        <segue destination="mtc-lf-PRo" kind="showDetail" identifier="segueDetail" id="op6-ow-K8v"/>
-                    </connections>
-                </collectionViewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="W1h-qt-Bld" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="8572" y="1218"/>
-        </scene>
-        <!--Acknowledgements-->
-        <scene sceneID="h9y-Lj-jxB">
-            <objects>
-                <viewController id="Wu3-ow-y4h" customClass="Acknowledgements" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="zkQ-oZ-pz9"/>
-                        <viewControllerLayoutGuide type="bottom" id="RWM-KX-MWW"/>
-                    </layoutGuides>
-                    <view key="view" opaque="NO" contentMode="scaleToFill" id="HYE-hK-m2I">
-                        <rect key="frame" x="0.0" y="64" width="375" height="603"/>
-                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                        <subviews>
-                            <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" delaysContentTouches="NO" canCancelContentTouches="NO" bouncesZoom="NO" editable="NO" usesAttributedText="YES" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vYq-of-LmL">
-                                <rect key="frame" x="3" y="0.0" width="369" height="603"/>
-                                <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                                <attributedString key="attributedText">
-                                    <fragment content="Copyright (C)">
-                                        <attributes>
-                                            <font key="NSFont" size="14" name="HelveticaNeue"/>
-                                            <paragraphStyle key="NSParagraphStyle" alignment="left" lineBreakMode="wordWrapping" baseWritingDirection="natural"/>
-                                        </attributes>
-                                    </fragment>
-                                </attributedString>
-                                <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
-                                <connections>
-                                    <outlet property="delegate" destination="Wu3-ow-y4h" id="RHw-TA-1yQ"/>
-                                </connections>
-                            </textView>
-                        </subviews>
-                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                        <constraints>
-                            <constraint firstItem="vYq-of-LmL" firstAttribute="leading" secondItem="HYE-hK-m2I" secondAttribute="leadingMargin" constant="-13" id="RHX-O3-otO"/>
-                            <constraint firstItem="vYq-of-LmL" firstAttribute="top" secondItem="zkQ-oZ-pz9" secondAttribute="bottom" id="SwN-pK-RVe"/>
-                            <constraint firstAttribute="trailingMargin" secondItem="vYq-of-LmL" secondAttribute="trailing" constant="-13" id="iao-EZ-391"/>
-                            <constraint firstItem="RWM-KX-MWW" firstAttribute="top" secondItem="vYq-of-LmL" secondAttribute="bottom" id="rjG-Mo-psH"/>
-                        </constraints>
-                    </view>
-                    <extendedEdge key="edgesForExtendedLayout"/>
-                    <navigationItem key="navigationItem" id="NXp-TT-qTB"/>
-                    <connections>
-                        <outlet property="txtTermini" destination="vYq-of-LmL" id="hA3-bm-4ke"/>
-                        <outlet property="view" destination="HYE-hK-m2I" id="lTc-Ug-HO0"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="TUv-7S-62D" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="13490" y="1218"/>
-        </scene>
-        <!--Navigation Controller-->
-        <scene sceneID="eDq-6m-h8d">
-            <objects>
-                <navigationController automaticallyAdjustsScrollViewInsets="NO" id="eZl-ut-xpC" sceneMemberID="viewController">
-                    <extendedEdge key="edgesForExtendedLayout"/>
-                    <toolbarItems/>
-                    <navigationBar key="navigationBar" contentMode="scaleToFill" id="rJe-3o-bpZ">
-                        <rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                    </navigationBar>
-                    <nil name="viewControllers"/>
-                    <connections>
-                        <segue destination="Wu3-ow-y4h" kind="relationship" relationship="rootViewController" id="Xpr-tm-bWy"/>
-                    </connections>
-                </navigationController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="38M-dR-dlY" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="12676" y="1218"/>
-        </scene>
-        <!--Manage Camera Upload-->
-        <scene sceneID="YAa-hT-VHe">
-            <objects>
-                <viewController id="DEi-yz-wEj" customClass="CCManageCameraUpload" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="ROd-mD-0FQ"/>
-                        <viewControllerLayoutGuide type="bottom" id="mUa-nu-y9y"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="WFy-lj-QJi">
-                        <rect key="frame" x="0.0" y="64" width="375" height="554"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                    </view>
-                    <extendedEdge key="edgesForExtendedLayout"/>
-                    <navigationItem key="navigationItem" id="y2u-7Z-uGO"/>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="g5a-uE-sF6" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="11844" y="2006"/>
-        </scene>
-        <!--Main Tab Bar Controller-->
-        <scene sceneID="gY3-Ur-rTC">
-            <objects>
-                <tabBarController automaticallyAdjustsScrollViewInsets="NO" id="FkP-Lh-8zt" customClass="CCMainTabBarController" customModule="Nextcloud" customModuleProvider="target" sceneMemberID="viewController">
-                    <toolbarItems/>
-                    <navigationItem key="navigationItem" id="ozb-fg-0GE">
-                        <barButtonItem key="backBarButtonItem" title="Back" id="oUu-2v-gUF"/>
-                    </navigationItem>
-                    <tabBar key="tabBar" contentMode="scaleToFill" id="72f-jP-cei">
-                        <rect key="frame" x="0.0" y="0.0" width="1000" height="1000"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                        <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
-                    </tabBar>
-                    <connections>
-                        <segue destination="bSZ-tE-FEj" kind="relationship" relationship="viewControllers" id="qbu-nX-qCk"/>
-                        <segue destination="hwM-4d-Afb" kind="relationship" relationship="viewControllers" id="tds-0Q-7Zf"/>
-                        <segue destination="Cc7-4O-z6Q" kind="relationship" relationship="viewControllers" id="YKg-LH-tor"/>
-                        <segue destination="Npr-vu-PSD" kind="relationship" relationship="viewControllers" id="XeU-GF-etm"/>
-                        <segue destination="1Z8-Bx-Dqo" kind="relationship" relationship="viewControllers" id="z6l-ei-IMY"/>
-                    </connections>
-                </tabBarController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="d2B-Yg-rp2" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="7073" y="-709"/>
-        </scene>
-        <!--Detail-->
-        <scene sceneID="zJM-E9-jgK">
-            <objects>
-                <viewController storyboardIdentifier="CCDetailVC" extendedLayoutIncludesOpaqueBars="YES" id="zg6-hy-EbU" customClass="CCDetail" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="k2r-4R-ErO"/>
-                        <viewControllerLayoutGuide type="bottom" id="6Tt-yQ-gC5"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="cUA-lB-tGG">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" preservesSuperviewLayoutMargins="YES" image="backgroundDetail" translatesAutoresizingMaskIntoConstraints="NO" id="zlU-MP-ZVs">
-                                <rect key="frame" x="76" y="255" width="223" height="157"/>
-                            </imageView>
-                        </subviews>
-                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                        <constraints>
-                            <constraint firstItem="zlU-MP-ZVs" firstAttribute="centerY" secondItem="cUA-lB-tGG" secondAttribute="centerY" id="NqJ-e6-LfV"/>
-                            <constraint firstItem="zlU-MP-ZVs" firstAttribute="centerX" secondItem="cUA-lB-tGG" secondAttribute="centerX" id="VG7-UF-Zrf"/>
-                        </constraints>
-                    </view>
-                    <navigationItem key="navigationItem" id="cJm-UN-Dvj" userLabel="Detail"/>
-                    <connections>
-                        <outlet property="imageBackground" destination="zlU-MP-ZVs" id="XRF-iq-qSn"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="IJ0-oL-QKv" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="5750" y="2407"/>
-        </scene>
-        <!--Main-->
-        <scene sceneID="OEe-6n-ARk">
-            <objects>
-                <tableViewController storyboardIdentifier="CCMainVC" extendedLayoutIncludesOpaqueBars="YES" id="YJg-Xa-VYf" customClass="CCMain" sceneMemberID="viewController">
-                    <tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" allowsSelectionDuringEditing="YES" rowHeight="60" sectionHeaderHeight="22" sectionFooterHeight="22" id="7sT-6b-Pnh">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                        <sections/>
-                        <connections>
-                            <outlet property="dataSource" destination="YJg-Xa-VYf" id="sz8-sd-5O4"/>
-                            <outlet property="delegate" destination="YJg-Xa-VYf" id="Pwe-im-Vzk"/>
-                        </connections>
-                    </tableView>
-                    <navigationItem key="navigationItem" id="TXe-bF-Uwk"/>
-                    <connections>
-                        <outlet property="searchDisplayController" destination="xcf-VI-FqA" id="nZk-CY-UUL"/>
-                        <segue destination="mtc-lf-PRo" kind="showDetail" identifier="segueDetail" id="YTW-Kz-l02"/>
-                    </connections>
-                </tableViewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="q78-1k-pga" userLabel="First Responder" sceneMemberID="firstResponder"/>
-                <searchDisplayController id="xcf-VI-FqA">
-                    <connections>
-                        <outlet property="delegate" destination="YJg-Xa-VYf" id="J25-Dg-BOy"/>
-                        <outlet property="searchContentsController" destination="YJg-Xa-VYf" id="f4n-7F-MTp"/>
-                        <outlet property="searchResultsDataSource" destination="YJg-Xa-VYf" id="Omt-3Z-A1J"/>
-                        <outlet property="searchResultsDelegate" destination="YJg-Xa-VYf" id="r6f-t7-MvO"/>
-                    </connections>
-                </searchDisplayController>
-            </objects>
-            <point key="canvasLocation" x="5214" y="1218"/>
-        </scene>
-        <!--Navigation Controller-->
-        <scene sceneID="Xur-XN-mjy">
-            <objects>
-                <navigationController storyboardIdentifier="CCDetailNC" extendedLayoutIncludesOpaqueBars="YES" automaticallyAdjustsScrollViewInsets="NO" id="mtc-lf-PRo" sceneMemberID="viewController">
-                    <toolbarItems/>
-                    <navigationBar key="navigationBar" contentMode="scaleToFill" id="vxw-dW-rgx">
-                        <rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                    </navigationBar>
-                    <nil name="viewControllers"/>
-                    <connections>
-                        <segue destination="zg6-hy-EbU" kind="relationship" relationship="rootViewController" id="qIX-Hw-L2i"/>
-                    </connections>
-                </navigationController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="1l7-Aj-XxZ" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="4626" y="2407"/>
-        </scene>
-        <!--File-->
-        <scene sceneID="dMv-43-hWy">
-            <objects>
-                <navigationController extendedLayoutIncludesOpaqueBars="YES" automaticallyAdjustsScrollViewInsets="NO" id="bSZ-tE-FEj" sceneMemberID="viewController">
-                    <tabBarItem key="tabBarItem" title="File" image="tabBarFiles" id="Zxv-aS-HGF"/>
-                    <toolbarItems/>
-                    <navigationBar key="navigationBar" contentMode="scaleToFill" id="cj6-rT-wnB">
-                        <rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                    </navigationBar>
-                    <nil name="viewControllers"/>
-                    <connections>
-                        <segue destination="YJg-Xa-VYf" kind="relationship" relationship="rootViewController" id="55n-k6-dDK"/>
-                    </connections>
-                </navigationController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="k95-tV-JJx" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="5215" y="327"/>
-        </scene>
-        <!--Favorites-->
-        <scene sceneID="YSr-JF-a0V">
-            <objects>
-                <navigationController extendedLayoutIncludesOpaqueBars="YES" automaticallyAdjustsScrollViewInsets="NO" id="hwM-4d-Afb" sceneMemberID="viewController">
-                    <tabBarItem key="tabBarItem" title="Favorites" image="tabBarFavorite" id="o09-67-hwf"/>
-                    <toolbarItems/>
-                    <navigationBar key="navigationBar" contentMode="scaleToFill" id="MJw-Bn-5le">
-                        <rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                    </navigationBar>
-                    <nil name="viewControllers"/>
-                    <connections>
-                        <segue destination="6uw-SF-2Qu" kind="relationship" relationship="rootViewController" id="CFg-zI-VEB"/>
-                    </connections>
-                </navigationController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="NME-vT-pfd" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="5857" y="327"/>
-        </scene>
-        <!--Favorites-->
-        <scene sceneID="33n-4d-goO">
-            <objects>
-                <viewController storyboardIdentifier="CCFavorites" id="6uw-SF-2Qu" customClass="CCFavorites" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="kXv-QP-Tlq"/>
-                        <viewControllerLayoutGuide type="bottom" id="Y8a-Ua-b9s"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="o6l-1S-6dH">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="Pes-cJ-S4N">
-                                <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                                <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
-                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                <connections>
-                                    <outlet property="dataSource" destination="6uw-SF-2Qu" id="65P-9j-K6G"/>
-                                    <outlet property="delegate" destination="6uw-SF-2Qu" id="jGP-Hq-vWN"/>
-                                </connections>
-                            </tableView>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                    </view>
-                    <navigationItem key="navigationItem" id="udr-5M-kHz"/>
-                    <connections>
-                        <outlet property="tableView" destination="Pes-cJ-S4N" id="Fxj-3r-MCL"/>
-                        <segue destination="mtc-lf-PRo" kind="showDetail" identifier="segueDetail" id="45n-bF-9RO"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="d5y-uw-vht" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="5857" y="1218"/>
-        </scene>
-        <!--View Controller-->
-        <scene sceneID="60G-IQ-Axc">
-            <objects>
-                <viewController id="5u0-hQ-Qcc" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="ydP-J5-ga0"/>
-                        <viewControllerLayoutGuide type="bottom" id="VEh-cM-lkh"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="vDQ-hO-q2d">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                    </view>
-                    <navigationItem key="navigationItem" id="DJa-X9-gd4"/>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="rff-dP-xgt" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="7934" y="1218"/>
-        </scene>
-        <!--Photos-->
-        <scene sceneID="IuY-Iu-oAm">
-            <objects>
-                <navigationController extendedLayoutIncludesOpaqueBars="YES" automaticallyAdjustsScrollViewInsets="NO" id="Npr-vu-PSD" sceneMemberID="viewController">
-                    <tabBarItem key="tabBarItem" title="Photos" image="tabBarPhotos" id="5cw-bP-7It"/>
-                    <toolbarItems/>
-                    <navigationBar key="navigationBar" contentMode="scaleToFill" id="ixg-Pw-TNO">
-                        <rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                    </navigationBar>
-                    <nil name="viewControllers"/>
-                    <connections>
-                        <segue destination="1Ca-6H-d29" kind="relationship" relationship="rootViewController" id="z78-Fg-8sL"/>
-                    </connections>
-                </navigationController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="cZf-pk-3Bd" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="8572" y="327"/>
-        </scene>
-        <!--Navigation Controller-->
-        <scene sceneID="cip-AF-Ks2">
-            <objects>
-                <navigationController automaticallyAdjustsScrollViewInsets="NO" id="Cc7-4O-z6Q" sceneMemberID="viewController">
-                    <tabBarItem key="tabBarItem" enabled="NO" title="" image="tabBarPlus" id="vIy-cM-ojV"/>
-                    <toolbarItems/>
-                    <navigationBar key="navigationBar" contentMode="scaleToFill" id="jCU-so-Np6">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                    </navigationBar>
-                    <nil name="viewControllers"/>
-                    <connections>
-                        <segue destination="5u0-hQ-Qcc" kind="relationship" relationship="rootViewController" id="XaQ-dk-iGO"/>
-                    </connections>
-                </navigationController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="ohd-Sv-ssv" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="7935" y="327"/>
-        </scene>
-        <!--More-->
-        <scene sceneID="4RE-f1-SKU">
-            <objects>
-                <navigationController automaticallyAdjustsScrollViewInsets="NO" id="1Z8-Bx-Dqo" sceneMemberID="viewController">
-                    <tabBarItem key="tabBarItem" title="More" image="tabBarMore" id="U4f-qS-cgh"/>
-                    <toolbarItems/>
-                    <navigationBar key="navigationBar" contentMode="scaleToFill" id="yVo-p8-ApS">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                    </navigationBar>
-                    <nil name="viewControllers"/>
-                    <connections>
-                        <segue destination="9DM-ts-oJu" kind="relationship" relationship="rootViewController" id="KD8-1A-v76"/>
-                        <segue destination="amx-XG-NId" kind="show" identifier="segueSettings" id="iJw-qx-dwJ"/>
-                        <segue destination="o4I-W3-sMH" kind="show" identifier="segueLocalStorage" id="iz8-HB-F2p"/>
-                        <segue destination="QIL-R2-8iE" kind="show" identifier="segueActivity" id="dwq-EG-6sD"/>
-                        <segue destination="Gtp-25-3Em" kind="show" identifier="segueTransfers" id="OLL-6n-NHS"/>
-                    </connections>
-                </navigationController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="D7n-Z1-9wU" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="9212" y="326"/>
-        </scene>
-        <!--Local Storage-->
-        <scene sceneID="BhE-A6-AqD">
-            <objects>
-                <viewController storyboardIdentifier="CCLocalStorage" id="o4I-W3-sMH" customClass="CCLocalStorage" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="U4b-Rv-dSO"/>
-                        <viewControllerLayoutGuide type="bottom" id="sYe-gZ-wls"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="IkL-Nw-JTF">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="bkD-NK-bSQ">
-                                <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                                <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
-                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                <connections>
-                                    <outlet property="dataSource" destination="o4I-W3-sMH" id="L2O-Oa-VKV"/>
-                                    <outlet property="delegate" destination="o4I-W3-sMH" id="eqD-vp-sZY"/>
-                                </connections>
-                            </tableView>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                    </view>
-                    <connections>
-                        <outlet property="tableView" destination="bkD-NK-bSQ" id="GQp-y5-f7J"/>
-                        <segue destination="mtc-lf-PRo" kind="showDetail" identifier="segueDetail" id="1IV-5w-SfJ"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="JsH-FD-nZN" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="9849" y="1218"/>
-        </scene>
-        <!--Activity-->
-        <scene sceneID="Mfj-Rm-dhR">
-            <objects>
-                <collectionViewController storyboardIdentifier="CCActivity" id="QIL-R2-8iE" customClass="CCActivity" sceneMemberID="viewController">
-                    <collectionView key="view" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" id="KRS-wA-Hbs">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                        <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="iB1-bP-HYQ">
-                            <size key="itemSize" width="40" height="40"/>
-                            <size key="headerReferenceSize" width="50" height="92"/>
-                            <size key="footerReferenceSize" width="50" height="5"/>
-                            <inset key="sectionInset" minX="48" minY="5" maxX="0.0" maxY="0.0"/>
-                        </collectionViewFlowLayout>
-                        <cells>
-                            <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="cell" id="PlB-7F-7NQ">
-                                <rect key="frame" x="48" y="97" width="40" height="40"/>
-                                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                                <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
-                                    <rect key="frame" x="0.0" y="0.0" width="40" height="40"/>
-                                    <autoresizingMask key="autoresizingMask"/>
-                                    <subviews>
-                                        <imageView opaque="NO" userInteractionEnabled="NO" tag="104" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="xxE-ZN-5bC">
-                                            <rect key="frame" x="0.0" y="0.0" width="40" height="40"/>
-                                            <autoresizingMask key="autoresizingMask"/>
-                                        </imageView>
-                                    </subviews>
-                                </view>
-                            </collectionViewCell>
-                        </cells>
-                        <collectionReusableView key="sectionHeaderView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="header" id="c6C-th-mGd">
-                            <rect key="frame" x="0.0" y="0.0" width="375" height="92"/>
-                            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                            <subviews>
-                                <label opaque="NO" userInteractionEnabled="NO" tag="100" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="wordWrap" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zFm-yb-x7l">
-                                    <rect key="frame" x="48" y="8" width="319" height="20"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="20" id="Qjl-qZ-jEg"/>
-                                    </constraints>
-                                    <fontDescription key="fontDescription" type="system" pointSize="12"/>
-                                    <nil key="textColor"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <label opaque="NO" userInteractionEnabled="NO" tag="101" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qcm-XY-Fpz">
-                                    <rect key="frame" x="48" y="33" width="319" height="20"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="20" id="TWj-kc-Si2"/>
-                                    </constraints>
-                                    <fontDescription key="fontDescription" type="system" pointSize="12"/>
-                                    <nil key="textColor"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <imageView userInteractionEnabled="NO" tag="103" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="TlA-sj-tgw">
-                                    <rect key="frame" x="8" y="33" width="30" height="30"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="30" id="Ucg-P7-bvA"/>
-                                        <constraint firstAttribute="width" constant="30" id="vQc-T5-kTd"/>
-                                    </constraints>
-                                </imageView>
-                                <label opaque="NO" userInteractionEnabled="NO" tag="102" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bo6-HW-PJo">
-                                    <rect key="frame" x="48" y="58" width="319" height="20"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="20" id="UM4-6y-8gx"/>
-                                    </constraints>
-                                    <fontDescription key="fontDescription" type="system" pointSize="12"/>
-                                    <nil key="textColor"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                            </subviews>
-                            <constraints>
-                                <constraint firstItem="zFm-yb-x7l" firstAttribute="trailing" secondItem="c6C-th-mGd" secondAttribute="trailingMargin" id="2Sc-H6-mz5"/>
-                                <constraint firstItem="qcm-XY-Fpz" firstAttribute="leading" secondItem="TlA-sj-tgw" secondAttribute="trailing" constant="10" id="6gb-jH-Jmp"/>
-                                <constraint firstItem="qcm-XY-Fpz" firstAttribute="trailing" secondItem="c6C-th-mGd" secondAttribute="trailingMargin" id="7s9-8J-8R5"/>
-                                <constraint firstItem="Bo6-HW-PJo" firstAttribute="top" secondItem="qcm-XY-Fpz" secondAttribute="bottom" constant="5" id="L4Z-x4-vef"/>
-                                <constraint firstItem="zFm-yb-x7l" firstAttribute="leading" secondItem="c6C-th-mGd" secondAttribute="leadingMargin" constant="40" id="Soc-qb-NoL"/>
-                                <constraint firstItem="Bo6-HW-PJo" firstAttribute="leading" secondItem="TlA-sj-tgw" secondAttribute="trailing" constant="10" id="Va6-nO-ZSm"/>
-                                <constraint firstItem="zFm-yb-x7l" firstAttribute="top" secondItem="c6C-th-mGd" secondAttribute="topMargin" id="YKi-3E-K3q"/>
-                                <constraint firstItem="Bo6-HW-PJo" firstAttribute="trailing" secondItem="c6C-th-mGd" secondAttribute="trailingMargin" id="avJ-9r-HJf"/>
-                                <constraint firstItem="TlA-sj-tgw" firstAttribute="leading" secondItem="c6C-th-mGd" secondAttribute="leadingMargin" id="mE0-4V-fsK"/>
-                                <constraint firstItem="TlA-sj-tgw" firstAttribute="top" secondItem="c6C-th-mGd" secondAttribute="topMargin" constant="25" id="qnN-Bw-afg"/>
-                                <constraint firstItem="qcm-XY-Fpz" firstAttribute="top" secondItem="zFm-yb-x7l" secondAttribute="bottom" constant="5" id="sMO-xL-xdp"/>
-                            </constraints>
-                        </collectionReusableView>
-                        <collectionReusableView key="sectionFooterView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="footer" id="nhY-ro-z91">
-                            <rect key="frame" x="0.0" y="137" width="375" height="5"/>
-                            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                        </collectionReusableView>
-                        <connections>
-                            <outlet property="dataSource" destination="QIL-R2-8iE" id="Zgp-JD-dSD"/>
-                            <outlet property="delegate" destination="QIL-R2-8iE" id="27o-gc-9d0"/>
-                        </connections>
-                    </collectionView>
-                </collectionViewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="BFK-QR-oce" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="10503" y="1218"/>
-        </scene>
-        <!--Transfers-->
-        <scene sceneID="UaS-db-kwR">
-            <objects>
-                <viewController storyboardIdentifier="CCTransfers" id="Gtp-25-3Em" customClass="CCTransfers" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="Ax9-2n-SWc"/>
-                        <viewControllerLayoutGuide type="bottom" id="d15-Pa-R8r"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="fak-dH-6Vp">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="pnc-dQ-cNG">
-                                <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                                <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
-                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                                <connections>
-                                    <outlet property="dataSource" destination="Gtp-25-3Em" id="bzo-qN-Odm"/>
-                                    <outlet property="delegate" destination="Gtp-25-3Em" id="kun-RC-2pT"/>
-                                </connections>
-                            </tableView>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                    </view>
-                    <connections>
-                        <outlet property="tableView" destination="pnc-dQ-cNG" id="YDD-pc-NFL"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="zjX-ak-rF5" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="11145" y="1218"/>
-        </scene>
-    </scenes>
-    <resources>
-        <image name="avatar" width="25" height="25"/>
-        <image name="backgroundDetail" width="223" height="157"/>
-        <image name="disclosureIndicator" width="13" height="14"/>
-        <image name="tabBarFavorite" width="25" height="25"/>
-        <image name="tabBarFiles" width="25" height="25"/>
-        <image name="tabBarMore" width="25" height="25"/>
-        <image name="tabBarPhotos" width="25" height="21"/>
-        <image name="tabBarPlus" width="40" height="40"/>
-    </resources>
-    <inferredMetricsTieBreakers>
-        <segue reference="1IV-5w-SfJ"/>
-    </inferredMetricsTieBreakers>
-</document>

+ 0 - 55
iOSClient/NCBridgeSwift.h

@@ -1,55 +0,0 @@
-//
-//  NCBridgeSwift.h
-//  Crypto Cloud Technology Nextcloud
-//
-//  Created by Marino Faggiana on 11/05/17.
-//  Copyright © 2017 TWS. All rights reserved.
-//
-//  Author Marino Faggiana <m.faggiana@twsweb.it>
-//
-//  This program is free software: you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation, either version 3 of the License, or
-//  (at your option) any later version.
-//
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
-//
-//  You should have received a copy of the GNU General Public License
-//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-
-// Nextcloud App
-#if !defined(EXTENSION)
-
-    #if defined(CUSTOM_BUILD)
-        #import "CustomSwift.h"
-    #else
-        #import "Nextcloud-Swift.h"
-    #endif
-
-#endif
-
-// Nextcloud Extension Share
-#if defined(EXTENSION_SHARE) 
-
-    #if defined(CUSTOM_BUILD)
-        #import "CustomSwiftShare.h"
-    #else
-        #import "Share-Swift.h"
-    #endif
-
-#endif
-
-// Nextcloud Extension Document Provider Picker
-#if defined(EXTENSION_PICKER)
-
-    #if defined(CUSTOM_BUILD)
-        #import "CustomSwiftPick.h"
-    #else
-        #import "Picker-Swift.h"
-    #endif
-
-#endif