marinofaggiana 6 years ago
parent
commit
2ae1553114

+ 10 - 0
iOSClient/AudioRecorder/NCAudioRecorderViewController.storyboard

@@ -21,6 +21,12 @@
                         <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
+                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="tRu-33-Q2b" userLabel="buttonView">
+                                <rect key="frame" x="0.0" y="20" width="375" height="647"/>
+                                <connections>
+                                    <action selector="touchViewController" destination="9IE-bj-VJb" eventType="touchUpInside" id="Dex-dc-29L"/>
+                                </connections>
+                            </button>
                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Ztv-M0-yUI" userLabel="contentContainerView">
                                 <rect key="frame" x="87.5" y="208.5" width="200" height="250"/>
                                 <subviews>
@@ -90,7 +96,11 @@
                         <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
                         <constraints>
                             <constraint firstItem="Ztv-M0-yUI" firstAttribute="centerY" secondItem="tQN-Gk-6M1" secondAttribute="centerY" id="4ah-zH-qPv"/>
+                            <constraint firstItem="6hQ-x4-s9V" firstAttribute="top" secondItem="tRu-33-Q2b" secondAttribute="bottom" id="Iyw-Xf-NUq"/>
                             <constraint firstItem="Ztv-M0-yUI" firstAttribute="centerX" secondItem="tQN-Gk-6M1" secondAttribute="centerX" id="QMu-hw-0s3"/>
+                            <constraint firstItem="tRu-33-Q2b" firstAttribute="leading" secondItem="tQN-Gk-6M1" secondAttribute="leading" id="iDG-p5-AZP"/>
+                            <constraint firstItem="tRu-33-Q2b" firstAttribute="top" secondItem="fma-yb-dlL" secondAttribute="bottom" id="rco-z5-Lgs"/>
+                            <constraint firstAttribute="trailing" secondItem="tRu-33-Q2b" secondAttribute="trailing" id="uMJ-XD-sjl"/>
                         </constraints>
                     </view>
                     <connections>

+ 14 - 4
iOSClient/AudioRecorder/NCAudioRecorderViewController.swift

@@ -30,7 +30,7 @@ import AVFoundation
 import QuartzCore
 
 @objc protocol NCAudioRecorderViewControllerDelegate : class {
-    func didFinishRecording(_ viewController: NCAudioRecorderViewController)
+    func didFinishRecording(_ viewController: NCAudioRecorderViewController, fileName: String)
 }
 
 class NCAudioRecorderViewController: UIViewController , NCAudioRecorderDelegate {
@@ -38,6 +38,7 @@ class NCAudioRecorderViewController: UIViewController , NCAudioRecorderDelegate
     open weak var delegate: NCAudioRecorderViewControllerDelegate?
     var recording: NCAudioRecorder!
     var recordDuration = 0
+    var fileName: String = ""
     
     @IBOutlet weak var contentContainerView: UIView!
     @IBOutlet weak var durationLabel: UILabel!
@@ -48,7 +49,6 @@ class NCAudioRecorderViewController: UIViewController , NCAudioRecorderDelegate
     
     override func viewDidLoad() {
         super.viewDidLoad()
-        
     }
     
     override func viewWillAppear(_ animated: Bool) {
@@ -63,6 +63,7 @@ class NCAudioRecorderViewController: UIViewController , NCAudioRecorderDelegate
     
     func createRecorder(fileName: String) {
         
+        self.fileName = fileName
         recording = NCAudioRecorder(to: fileName)
         recording.delegate = self
 
@@ -76,11 +77,20 @@ class NCAudioRecorderViewController: UIViewController , NCAudioRecorderDelegate
         }
     }
     
+    @IBAction func touchViewController() {
+        
+        if recording.state == .record {
+            startStop()
+        } else {
+            dismiss(animated: true, completion: nil)
+        }
+    }
+    
     @IBAction func startStop() {
         
         if recording.state == .record {
             
-            delegate?.didFinishRecording(self)
+            delegate?.didFinishRecording(self, fileName: self.fileName)
             dismiss(animated: true, completion: nil)
             
             recordDuration = 0
@@ -195,7 +205,7 @@ open class NCAudioRecorder : NSObject {
             startMetering()
         }
     }
-        
+    
     open func stop() {
         switch state {
         case .record:

+ 17 - 2
iOSClient/Main/NCMainCommon.swift

@@ -1024,18 +1024,33 @@ class NCMainCommon: NSObject, PhotoEditorDelegate, NCAudioRecorderViewController
     
     func startAudioRecorder() {
     
+        let fileName = CCUtility.createFileNameDate(NSLocalizedString("_voice_memo_filename_", comment: ""), extension: "m4a")!
         let viewController = UIStoryboard(name: "NCAudioRecorderViewController", bundle: nil).instantiateInitialViewController() as! NCAudioRecorderViewController
     
         viewController.delegate = self
-        viewController.createRecorder(fileName: "xxx.m4a")
+        viewController.createRecorder(fileName: fileName)
         viewController.modalTransitionStyle = .crossDissolve
         viewController.modalPresentationStyle = UIModalPresentationStyle.overCurrentContext
     
         self.appDelegate.window.rootViewController?.present(viewController, animated: true, completion: nil)
     }
     
-    func didFinishRecording(_ viewController: NCAudioRecorderViewController) {
+    func didFinishRecording(_ viewController: NCAudioRecorderViewController, fileName: String) {
         
+        let metadata = tableMetadata()
+        
+        metadata.account = appDelegate.activeAccount
+        metadata.date = NSDate()
+        metadata.fileID = CCUtility.createMetadataID(fromAccount: appDelegate.activeAccount, serverUrl: appDelegate.activeMain.serverUrl, fileNameView: fileName, directory: false)
+        metadata.fileName = fileName
+        metadata.fileNameView = fileName
+        metadata.serverUrl = appDelegate.activeMain.serverUrl
+        metadata.session = k_upload_session
+        metadata.sessionSelector = selectorUploadFile
+        metadata.status = Int(k_metadataStatusWaitUpload)
+        
+        //CCUtility.copyFile(atPath: NSTemporaryDirectory() + fileName, toPath: CCUtility.getDirectoryProviderStorageFileID(metadata.fileID, fileNameView: fileName))
+        //_ = NCManageDatabase.sharedInstance.addMetadata(metadata)
     }
 }
     

+ 1 - 0
iOSClient/Supporting Files/en.lproj/Localizable.strings

@@ -730,3 +730,4 @@
 "_create_voice_memo_"       = "Create voice memo";
 "_voice_memo_start_"        = "tap to start";
 "_voice_memo_stop_"         = "tap to stop";
+"_voice_memo_filename_"     = "voice memo";