marinofaggiana 6 سال پیش
والد
کامیت
6b5e36a236
3فایلهای تغییر یافته به همراه37 افزوده شده و 30 حذف شده
  1. 14 14
      iOSClient/Imagemeter/IMImagemeter.swift
  2. 1 1
      iOSClient/Main/CCDetail.m
  3. 22 15
      iOSClient/Viewer/NCViewerImagemeter.swift

+ 14 - 14
iOSClient/Imagemeter/IMImagemeter.swift

@@ -45,11 +45,11 @@ class IMImagemeterCodable: NSObject {
         }
         
         struct style: Codable {
-            let color: color
-            let line_width: CGFloat
-            let text_outline_width: CGFloat
-            let font_base_size: CGFloat
-            let font_magnification: CGFloat
+            let color: color?
+            let line_width: CGFloat?
+            let text_outline_width: CGFloat?
+            let font_base_size: CGFloat?
+            let font_magnification: CGFloat?
             
             enum CodingKeys : String, CodingKey {
                 case color
@@ -115,14 +115,14 @@ class IMImagemeterCodable: NSObject {
             let id: Int
             let class_: String
             let center: coordinates
-            let width: CGFloat
-            let arrows: [end_pt]
-            let text: String
-            let audio_recording: audio_recording
-            let show_border: Bool
-            let show_arrows: Bool
-            let fill_background: Bool
-            let style: style
+            let width: CGFloat?
+            let arrows: [end_pt]?
+            let text: String?
+            let audio_recording: audio_recording?
+            let show_border: Bool?
+            let show_arrows: Bool?
+            let fill_background: Bool?
+            let style: style?
             
             enum CodingKeys : String, CodingKey {
                 case id
@@ -150,7 +150,7 @@ class IMImagemeterCodable: NSObject {
         let capture_timestamp: capture_timestamp
         let image: image
         let export_image_cache: [export_image_cache]
-        let elements: [elements]
+        let elements: [elements]?
         let id: String
         let thumbnails: [thumbnails]
         let last_modification: Int

+ 1 - 1
iOSClient/Main/CCDetail.m

@@ -147,7 +147,7 @@
     [coordinator animateAlongsideTransition:nil completion:^(id<UIViewControllerTransitionCoordinatorContext> context) {
         
         if (self.imagemeter) {
-            [self.imagemeter audioImagemeter];
+//            [self.imagemeter audioImagemeter];
         }
     }];
 }

+ 22 - 15
iOSClient/Viewer/NCViewerImagemeter.swift

@@ -116,19 +116,26 @@ class NCViewerImagemeter: NSObject {
             view.removeFromSuperview()
         }
         
-        for element in annotation.elements {
-            
-            let coordinateNormalize =  IMImagemeterCodable.sharedInstance.convertCoordinate(x: element.center.x, y: element.center.y, width: imagemeterView.bounds.width, height: imagemeterView.imageHeightConstraint.constant)            
-            let x = coordinateNormalize.x
-            let y = coordinateNormalize.y
-            
-            let button = UIButton()
-            button.frame = CGRect(x: x, y: y, width: 30, height: 30)
-            button.setImage(UIImage(named: "audioPlay"), for: .normal)
-            button.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
-            button.tag = element.id
-    
-            imagemeterView.image.addSubview(button)
+        if annotation.elements != nil {
+            for element in annotation.elements! {
+                
+                if element.audio_recording == nil {
+                    continue
+                }
+                
+                let coordinateNormalize =  IMImagemeterCodable.sharedInstance.convertCoordinate(x: element.center.x, y: element.center.y, width: imagemeterView.bounds.width, height: imagemeterView.imageHeightConstraint.constant)
+                
+                let x = coordinateNormalize.x - 15
+                let y = coordinateNormalize.y - 15
+                
+                let button = UIButton()
+                button.frame = CGRect(x: x, y: y, width: 30, height: 30)
+                button.setImage(UIImage(named: "audioPlay"), for: .normal)
+                button.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
+                button.tag = element.id
+        
+                imagemeterView.image.addSubview(button)
+            }
         }
     }
     
@@ -138,11 +145,11 @@ class NCViewerImagemeter: NSObject {
             return
         }
         
-        for element in annotation.elements {
+        for element in annotation.elements! {
             if element.id == sender.tag {
                 do {
 
-                    let fileNamePath =  pathArchiveImagemeter + "/" + element.audio_recording.recording_filename
+                    let fileNamePath =  pathArchiveImagemeter + "/" + element.audio_recording!.recording_filename
                     try audioPlayer = AVAudioPlayer(contentsOf: URL(fileURLWithPath: fileNamePath))
                     audioPlayer.delegate = self
                     audioPlayer.prepareToPlay()