diff --git a/Classes/Swift/Chat/Views/MultilineMessageCell.swift b/Classes/Swift/Chat/Views/MultilineMessageCell.swift index 8faa19883..4bfb58c18 100644 --- a/Classes/Swift/Chat/Views/MultilineMessageCell.swift +++ b/Classes/Swift/Chat/Views/MultilineMessageCell.swift @@ -8,6 +8,7 @@ import UIKit import Foundation import linphonesw +import SDWebImage class MultilineMessageCell: UICollectionViewCell, UICollectionViewDataSource, UICollectionViewDelegate { static let reuseId = "MultilineMessageCellReuseId" @@ -45,6 +46,7 @@ class MultilineMessageCell: UICollectionViewCell, UICollectionViewDataSource, UI var recordingConstraints: [NSLayoutConstraint] = [] var recordingWaveConstraints: [NSLayoutConstraint] = [] var meetingConstraints: [NSLayoutConstraint] = [] + var downloadStackViewConstraints: [NSLayoutConstraint] = [] let eventMessageLineView: UIView = UIView(frame: .zero) let eventMessageLabelView: UIView = UIView(frame: .zero) @@ -101,8 +103,9 @@ class MultilineMessageCell: UICollectionViewCell, UICollectionViewDataSource, UI var replyCollectionView : [UIImage] = [] var replyURLCollection : [URL] = [] - var imagesGridCollectionView : [UIImage] = [] - var imagesGridURLCollection : [URL] = [] + var imagesGridCollectionView : [UIImage?] = [] + var imagesGridURLCollection : [URL?] = [] + var imagesGridContentCollection : [Content] = [] let imageViewBubble = UIImageView(image: UIImage(named: "chat_error")) let imageVideoViewBubble = UIImageView(image: UIImage(named: "file_video_default")) @@ -318,7 +321,6 @@ class MultilineMessageCell: UICollectionViewCell, UICollectionViewDataSource, UI collectionViewImagesGrid.dataSource = self collectionViewImagesGrid.delegate = self collectionViewImagesGrid.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "cellImagesGridMessage") - //collectionViewImagesGrid.size(w: 280, h: 500).done() collectionViewImagesGrid.width(280).done() collectionViewImagesGrid.isHidden = true @@ -522,6 +524,7 @@ class MultilineMessageCell: UICollectionViewCell, UICollectionViewDataSource, UI } func configure(event: EventLog) { + if event.chatMessage != nil { contentBubble.isHidden = false eventMessageView.isHidden = true @@ -674,7 +677,22 @@ class MultilineMessageCell: UICollectionViewCell, UICollectionViewDataSource, UI imageVideoViewBubble.image = nil meetingView.isHidden = true + event.chatMessage!.contents.forEach { content in + + if content.isFileTransfer { + + let indexPath = IndexPath(row: imagesGridCollectionView.count, section: 0) + imagesGridContentCollection.append(content) + imagesGridURLCollection.append(nil) + imagesGridCollectionView.append(nil) + collectionViewImagesGrid.insertItems(at: [indexPath]) + + collectionViewImagesGrid.isHidden = false + NSLayoutConstraint.activate(imagesGridConstraints) + + } + if content.type == "text"{ label.text = content.utf8Text.trimmingCharacters(in: .whitespacesAndNewlines) if event.chatMessage!.contents.count > 1 { @@ -694,6 +712,7 @@ class MultilineMessageCell: UICollectionViewCell, UICollectionViewDataSource, UI if imagesGridCollectionView.count > 1 { if(content.isFile){ let indexPath = IndexPath(row: imagesGridCollectionView.count, section: 0) + imagesGridContentCollection.append(content) imagesGridURLCollection.append(URL(string: content.filePath)!) imagesGridCollectionView.append(getImageFrom(content.getCobject, filePath: content.filePath, forReplyBubble: true)!) collectionViewImagesGrid.insertItems(at: [indexPath]) @@ -712,6 +731,7 @@ class MultilineMessageCell: UICollectionViewCell, UICollectionViewDataSource, UI if(content.isFile){ let indexPath = IndexPath(row: imagesGridCollectionView.count, section: 0) + imagesGridContentCollection.append(content) imagesGridURLCollection.append(URL(string: content.filePath)!) imagesGridCollectionView.append(getImageFrom(content.getCobject, filePath: content.filePath, forReplyBubble: true)!) collectionViewImagesGrid.insertItems(at: [indexPath]) @@ -721,11 +741,6 @@ class MultilineMessageCell: UICollectionViewCell, UICollectionViewDataSource, UI imageViewBubble.isHidden = false } - - - - - }else if content.type == "video"{ if let imageMessage = createThumbnailOfVideoFromFileURL(videoURL: content.filePath){ imageVideoViewBubble.image = resizeImage(image: imageMessage, targetSize: CGSizeMake(UIScreen.main.bounds.size.width*3/4, 300.0)) @@ -748,6 +763,9 @@ class MultilineMessageCell: UICollectionViewCell, UICollectionViewDataSource, UI if imagesGridCollectionView.count > 0 { self.collectionViewImagesGrid.layoutIfNeeded() } + if imagesGridCollectionView.count == 1 { + collectionViewImagesGrid.width(138).done() + } } }else{ contentBubble.isHidden = true @@ -929,34 +947,88 @@ class MultilineMessageCell: UICollectionViewCell, UICollectionViewDataSource, UI let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cellImagesGridMessage", for: indexPath) let viewCell: UIView = UIView(frame: cell.contentView.frame) cell.addSubview(viewCell) - let imageCell = imagesGridCollectionView[indexPath.row] - let myImageView = UIImageView() - - if(FileType.init(imagesGridURLCollection[indexPath.row].pathExtension)?.getGroupTypeFromFile() == FileType.file_picture_default.rawValue || FileType.init(imagesGridURLCollection[indexPath.row].pathExtension)?.getGroupTypeFromFile() == FileType.file_video_default.rawValue){ - myImageView.image = imageCell - }else{ - let fileNameText = imagesGridURLCollection[indexPath.row].lastPathComponent - let fileName = SwiftUtil.textToImage(drawText:fileNameText, inImage:imageCell, forReplyBubble:false) - myImageView.image = fileName - } - - myImageView.size(w: (viewCell.frame.width), h: (viewCell.frame.height)).done() - viewCell.addSubview(myImageView) - - if(FileType.init(imagesGridURLCollection[indexPath.row].pathExtension)?.getGroupTypeFromFile() == FileType.file_video_default.rawValue){ - var imagePlay = UIImage() - if #available(iOS 13.0, *) { - imagePlay = (UIImage(named: "vr_play")!.withTintColor(.white)) - } else { - imagePlay = UIImage(named: "vr_play")! - } - let myImagePlayView = UIImageView(image: imagePlay) - viewCell.addSubview(myImagePlayView) - myImagePlayView.size(w: viewCell.frame.width/4, h: viewCell.frame.height/4).done() - myImagePlayView.alignHorizontalCenterWith(viewCell).alignVerticalCenterWith(viewCell).done() - } - myImageView.contentMode = .scaleAspectFill - myImageView.clipsToBounds = true + + if imagesGridURLCollection[indexPath.row] == nil { + let downloadStackViewMulti = UIStackView() + let downloadViewMulti = UIView() + let downloadImageViewMulti = UIImageView(image: UIImage(named: "file_picture_default")) + let downloadNameLabelMulti = StyledLabel(VoipTheme.chat_conversation_download_button) + let downloadButtonLabelMulti = StyledLabel(VoipTheme.chat_conversation_download_button) + let downloadSpacingMulti = UIView() + + downloadStackViewMulti.axis = .vertical; + downloadStackViewMulti.distribution = .fill; + downloadStackViewMulti.alignment = .center; + + cell.addSubview(downloadStackViewMulti) + downloadStackViewMulti.addArrangedSubview(downloadViewMulti) + downloadViewMulti.addSubview(downloadImageViewMulti) + downloadStackViewMulti.addArrangedSubview(downloadNameLabelMulti) + downloadStackViewMulti.addArrangedSubview(downloadButtonLabelMulti) + downloadStackViewMulti.addArrangedSubview(downloadSpacingMulti) + + + downloadStackViewMulti.backgroundColor = VoipTheme.backgroundWhiteBlack.get() + + downloadStackViewMulti.size(w: 138, h: 138).done() + downloadViewMulti.size(w: 138, h: 80).done() + downloadNameLabelMulti.size(w: 130, h: 22).done() + downloadButtonLabelMulti.size(w: 130, h: 22).done() + downloadSpacingMulti.size(w: 138, h: 14).done() + downloadImageViewMulti.center = CGPoint(x: 69, y: 40) + + /* + downloadStackViewMulti.translatesAutoresizingMaskIntoConstraints = false + let downloadStackViewConstraintsMulti = [ + downloadStackViewMulti.topAnchor.constraint(equalTo: contentMediaViewBubble.topAnchor, constant: labelInset.top), + downloadStackViewMulti.bottomAnchor.constraint(equalTo: contentMediaViewBubble.bottomAnchor, constant: labelInset.bottom), + downloadStackViewMulti.leadingAnchor.constraint(equalTo: contentMediaViewBubble.leadingAnchor, constant: labelInset.left), + downloadStackViewMulti.trailingAnchor.constraint(equalTo: contentMediaViewBubble.trailingAnchor, constant: labelInset.right), + ] + + NSLayoutConstraint.activate(downloadStackViewConstraintsMulti) + */ + + downloadNameLabelMulti.text = imagesGridContentCollection[indexPath.row].name.replacingOccurrences(of: imagesGridContentCollection[indexPath.row].name.dropFirst(6).dropLast(8), with: "...") + + let underlineAttribute = [NSAttributedString.Key.underlineStyle: NSUnderlineStyle.thick.rawValue] + let underlineAttributedString = NSAttributedString(string: "\(VoipTexts.bubble_chat_download_file) (\(Float(imagesGridContentCollection[indexPath.row].fileSize / 1000000)) Mo)", attributes: underlineAttribute) + downloadButtonLabelMulti.attributedText = underlineAttributedString + downloadButtonLabelMulti.onClick { + print("ChatConversationTableViewSwift collectionview \(self.imagesGridContentCollection[indexPath.row].name) downloaded") + } + } else { + let imageCell = imagesGridCollectionView[indexPath.row] + let myImageView = UIImageView() + + if(FileType.init(imagesGridURLCollection[indexPath.row]!.pathExtension)?.getGroupTypeFromFile() == FileType.file_picture_default.rawValue || FileType.init(imagesGridURLCollection[indexPath.row]!.pathExtension)?.getGroupTypeFromFile() == FileType.file_video_default.rawValue){ + myImageView.image = imageCell + //myImageView.sd_setImage(with: imagesGridURLCollection[indexPath.row], placeholderImage: UIImage(named: "file_picture_default")) + }else{ + let fileNameText = imagesGridURLCollection[indexPath.row]!.lastPathComponent + let fileName = SwiftUtil.textToImage(drawText:fileNameText, inImage:imageCell!, forReplyBubble:false) + myImageView.image = fileName + } + + myImageView.size(w: (viewCell.frame.width), h: (viewCell.frame.height)).done() + viewCell.addSubview(myImageView) + + if(FileType.init(imagesGridURLCollection[indexPath.row]!.pathExtension)?.getGroupTypeFromFile() == FileType.file_video_default.rawValue){ + var imagePlay = UIImage() + if #available(iOS 13.0, *) { + imagePlay = (UIImage(named: "vr_play")!.withTintColor(.white)) + } else { + imagePlay = UIImage(named: "vr_play")! + } + let myImagePlayView = UIImageView(image: imagePlay) + viewCell.addSubview(myImagePlayView) + myImagePlayView.size(w: viewCell.frame.width/4, h: viewCell.frame.height/4).done() + myImagePlayView.alignHorizontalCenterWith(viewCell).alignVerticalCenterWith(viewCell).done() + } + myImageView.contentMode = .scaleAspectFill + myImageView.clipsToBounds = true + } + return cell } diff --git a/Classes/Swift/Voip/Theme/VoipTexts.swift b/Classes/Swift/Voip/Theme/VoipTexts.swift index 9897e701a..a3cce72bc 100644 --- a/Classes/Swift/Voip/Theme/VoipTexts.swift +++ b/Classes/Swift/Voip/Theme/VoipTexts.swift @@ -205,6 +205,8 @@ import UIKit @objc static let bubble_chat_event_message_lime_changed_for = NSLocalizedString("LIME identity key changed for %@",comment:"").replacingOccurrences(of: "%@", with: "") @objc static let bubble_chat_event_message_attack_detected = NSLocalizedString("Man-in-the-middle attack detected",comment:"") @objc static let bubble_chat_event_message_attack_detected_for = NSLocalizedString("Man-in-the-middle attack detected for %@",comment:"").replacingOccurrences(of: "%@", with: "") + + @objc static let bubble_chat_download_file = NSLocalizedString("Download",comment:"") // FROM ANDROID END diff --git a/Classes/Swift/Voip/Theme/VoipTheme.swift b/Classes/Swift/Voip/Theme/VoipTheme.swift index 42fd69e57..47370e199 100644 --- a/Classes/Swift/Voip/Theme/VoipTheme.swift +++ b/Classes/Swift/Voip/Theme/VoipTheme.swift @@ -152,6 +152,8 @@ import UIKit static let chat_conversation_reply_content = TextStyle(fgColor: LightDarkColor(voip_dark_gray,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 14.0) static let chat_conversation_recording_duration = TextStyle(fgColor: LightDarkColor(voip_dark_gray,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 18.0) static let chat_conversation_forward_label = TextStyle(fgColor: LightDarkColor(voip_dark_gray,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .left, font: fontName+"-Regular", size: 12.0) + + static let chat_conversation_download_button = TextStyle(fgColor: LightDarkColor(voip_dark_gray,.white), bgColor: LightDarkColor(.clear,.clear), allCaps: false, align: .center, font: fontName+"-Regular", size: 14.0) // Buttons Background (State colors) diff --git a/Classes/Utils/Utils.h b/Classes/Utils/Utils.h index 207521dc9..75614f956 100644 --- a/Classes/Utils/Utils.h +++ b/Classes/Utils/Utils.h @@ -122,11 +122,11 @@ typedef enum { @end -@interface UIImage (ForceDecode) +//@interface UIImage (ForceDecode) -+ (UIImage *)decodedImageWithImage:(UIImage *)image; +//+ (UIImage *)decodedImageWithImage:(UIImage *)image; -@end +//@end @interface UIImage (ResizeAndThumbnail) diff --git a/Podfile b/Podfile index 30226b2a4..b6017586e 100644 --- a/Podfile +++ b/Podfile @@ -33,6 +33,7 @@ target 'linphone' do pod 'SnapKit', '~> 5.6.0' pod 'DropDown' pod 'IQKeyboardManager' + pod 'SDWebImage' all_pods end diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 0c21ea7b0..f1dd99be5 100644 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -52,6 +52,7 @@ 340751971506459A00B89C47 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340751961506459A00B89C47 /* CoreTelephony.framework */; }; 340751E7150F38FD00B89C47 /* UIVideoButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 340751E6150F38FD00B89C47 /* UIVideoButton.m */; }; 344ABDF114850AE9007420B6 /* libc++.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 344ABDEF14850AE9007420B6 /* libc++.1.dylib */; settings = {ATTRIBUTES = (Weak, ); }; }; + 413DBF9C441F1A3F184A15F3 /* Pods_linphone.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 161B88520CC81C18D6C77123 /* Pods_linphone.framework */; }; 570742581D5A0691004B9C84 /* ShopView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 570742561D5A0691004B9C84 /* ShopView.xib */; }; 570742611D5A09B8004B9C84 /* ShopView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5707425F1D5A09B8004B9C84 /* ShopView.m */; }; 570742671D5A63DB004B9C84 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 570742661D5A63DB004B9C84 /* StoreKit.framework */; }; @@ -956,6 +957,7 @@ D7A7545029507038005C9D4A /* CustomAlertController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7A7544F29507038005C9D4A /* CustomAlertController.swift */; }; D7C6DE832948CF3100756E03 /* DropDownCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7C6DE812948CF3100756E03 /* DropDownCell.swift */; }; D7C6DE842948CF3100756E03 /* DropDownCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D7C6DE822948CF3100756E03 /* DropDownCell.xib */; }; + E80226E4256FA535470D9228 /* Pods_msgNotificationService.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A00219387FB1983697FE8A0 /* Pods_msgNotificationService.framework */; }; EA0007A62356008F003CC6BF /* msgNotificationService.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = EA5F25D9232BD3E200475F2E /* msgNotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; EA3650DB2330D2E30001148A /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA5F25DB232BD3E200475F2E /* NotificationService.swift */; }; EA88A405242A6216007FEC61 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBC41B6A0FF200AA16FD /* Localizable.strings */; }; @@ -967,6 +969,7 @@ EA8CB833239F96CA00C330CC /* msgNotificationContent.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = EA8CB827239F96CA00C330CC /* msgNotificationContent.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; EAE6C88423FABF690076A018 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAE6C88323FABF690076A018 /* Utils.swift */; }; EAE6C88523FABF690076A018 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAE6C88323FABF690076A018 /* Utils.swift */; }; + EB748A3A89C90B4B9F7B9274 /* Pods_msgNotificationContent.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D59A11B7EA2D725CDEB15DDF /* Pods_msgNotificationContent.framework */; }; F03CA84318C72F1A0008889D /* UITextViewNoDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = F03CA84218C72F1A0008889D /* UITextViewNoDefine.m */; }; F05BAA621A5D594E00411815 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F05BAA611A5D594E00411815 /* libz.dylib */; }; F0642EF119DAC891009DB336 /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F0642EF019DAC891009DB336 /* MainStoryboard.storyboard */; }; @@ -1030,6 +1033,9 @@ 152F22351B15E889008C0621 /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = usr/lib/libxml2.dylib; sourceTree = SDKROOT; }; 16A2F6CD56DB52094E382A98 /* Pods-linphone.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-linphone.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-linphone/Pods-linphone.distributionadhoc.xcconfig"; sourceTree = ""; }; 17F0A579D52D0A7CA1567DB3 /* Pods_msgNotificationContent.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_msgNotificationContent.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0A00219387FB1983697FE8A0 /* Pods_msgNotificationService.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_msgNotificationService.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 152F22351B15E889008C0621 /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = usr/lib/libxml2.dylib; sourceTree = SDKROOT; }; + 161B88520CC81C18D6C77123 /* Pods_linphone.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_linphone.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 1D3623240D0F684500981E51 /* LinphoneAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinphoneAppDelegate.h; sourceTree = ""; }; 1D3623250D0F684500981E51 /* LinphoneAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LinphoneAppDelegate.m; sourceTree = ""; }; @@ -1054,6 +1060,7 @@ 228697C311AC29B800E9E0CA /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; 22AA8AFF13D83F6300B30535 /* UICamSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UICamSwitch.h; sourceTree = ""; }; 22AA8B0013D83F6300B30535 /* UICamSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UICamSwitch.m; sourceTree = ""; }; + 22AAF90991F931743D9137EE /* Pods-msgNotificationContent.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationContent.release.xcconfig"; path = "Target Support Files/Pods-msgNotificationContent/Pods-msgNotificationContent.release.xcconfig"; sourceTree = ""; }; 22B5EFA210CE50BD00777D97 /* AddressBookUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBookUI.framework; path = System/Library/Frameworks/AddressBookUI.framework; sourceTree = SDKROOT; }; 22B5F03410CE6B2F00777D97 /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; }; 22D1B68012A3E0BE001AE361 /* libresolv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.dylib; path = usr/lib/libresolv.dylib; sourceTree = SDKROOT; }; @@ -1096,11 +1103,14 @@ 375068EF15A4E2A1B666B29A /* Pods-msgNotificationContent.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationContent.release.xcconfig"; path = "Target Support Files/Pods-msgNotificationContent/Pods-msgNotificationContent.release.xcconfig"; sourceTree = ""; }; 3CF41C1BEB006BD07F51482F /* Pods-msgNotificationService.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.debug.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.debug.xcconfig"; sourceTree = ""; }; 4A0F19E4B86E65D7E82416FA /* Pods-linphone.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-linphone.debug.xcconfig"; path = "Target Support Files/Pods-linphone/Pods-linphone.debug.xcconfig"; sourceTree = ""; }; + 454A7900622213ADBD8C09B1 /* Pods-linphone.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-linphone.distribution.xcconfig"; path = "Target Support Files/Pods-linphone/Pods-linphone.distribution.xcconfig"; sourceTree = ""; }; 570742571D5A0691004B9C84 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ShopView.xib; sourceTree = ""; }; 5707425F1D5A09B8004B9C84 /* ShopView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShopView.m; sourceTree = ""; }; 570742601D5A09B8004B9C84 /* ShopView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShopView.h; sourceTree = ""; }; 570742661D5A63DB004B9C84 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; }; 5DFBEEBF2EA78244849FECA7 /* Pods-msgNotificationService.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.distribution.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.distribution.xcconfig"; sourceTree = ""; }; + 5945F114D49455AB309885FD /* Pods-msgNotificationContent.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationContent.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-msgNotificationContent/Pods-msgNotificationContent.distributionadhoc.xcconfig"; sourceTree = ""; }; + 5B6BFF1B713BF84614DDDDDB /* Pods-msgNotificationService.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.distributionadhoc.xcconfig"; sourceTree = ""; }; 5E58962520DCE5700030868C /* UserNotificationsUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotificationsUI.framework; path = System/Library/Frameworks/UserNotificationsUI.framework; sourceTree = SDKROOT; }; 5EF0C33820C806A5005081B0 /* NotificationCenter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NotificationCenter.framework; path = System/Library/Frameworks/NotificationCenter.framework; sourceTree = SDKROOT; }; 6112A01B243B31A600DBD5F5 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; @@ -1760,9 +1770,13 @@ 669B140B27A29D140012220A /* FloatingScrollDownButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FloatingScrollDownButton.swift; sourceTree = ""; }; 66E399F52857869200E73456 /* menu_notifications_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_notifications_off.png; sourceTree = ""; }; 66E399F62857869200E73456 /* menu_notifications_on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_notifications_on.png; sourceTree = ""; }; + 70074A72423F5E020A68EE6F /* Pods-msgNotificationService.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.release.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.release.xcconfig"; sourceTree = ""; }; 70E542F213E147E3002BA2C0 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; 70E542F413E147EB002BA2C0 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 79CFFC86AF3507D4F97EA7BF /* Pods-msgNotificationService.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.release.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.release.xcconfig"; sourceTree = ""; }; + 75F7ADD2F4CD77DB5695E2E7 /* Pods-msgNotificationService.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.debug.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.debug.xcconfig"; sourceTree = ""; }; + 77CEA995F6CB0F3F6A423F1E /* Pods-msgNotificationContent.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationContent.distribution.xcconfig"; path = "Target Support Files/Pods-msgNotificationContent/Pods-msgNotificationContent.distribution.xcconfig"; sourceTree = ""; }; + 7D53FB38F48887F28FEBDC0C /* Pods-linphone.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-linphone.debug.xcconfig"; path = "Target Support Files/Pods-linphone/Pods-linphone.debug.xcconfig"; sourceTree = ""; }; 8C1A1F7C1FA331D40064BE00 /* libsoci_sqlite3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsoci_sqlite3.a; path = "liblinphone-sdk/apple-darwin/lib/libsoci_sqlite3.a"; sourceTree = ""; }; 8C23BCB71D82AAC3005F19BB /* linphone.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = linphone.entitlements; sourceTree = ""; }; 8C2595DE1DEDCC8E007A6424 /* CallKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CallKit.framework; path = System/Library/Frameworks/CallKit.framework; sourceTree = SDKROOT; }; @@ -1852,6 +1866,8 @@ A5ED46C59425A2077D317DE3 /* Pods-linphone.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-linphone.distribution.xcconfig"; path = "Target Support Files/Pods-linphone/Pods-linphone.distribution.xcconfig"; sourceTree = ""; }; B14A2A14E3807DA50F9F5273 /* Pods-msgNotificationService.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.distributionadhoc.xcconfig"; sourceTree = ""; }; C5026A995DD2B361187E7190 /* Pods-msgNotificationContent.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationContent.debug.xcconfig"; path = "Target Support Files/Pods-msgNotificationContent/Pods-msgNotificationContent.debug.xcconfig"; sourceTree = ""; }; + 9C63A6ED506BCAF657A5B93A /* Pods-linphone.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-linphone.release.xcconfig"; path = "Target Support Files/Pods-linphone/Pods-linphone.release.xcconfig"; sourceTree = ""; }; + 9EC3257AF2DB74BAF30435D7 /* Pods-linphone.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-linphone.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-linphone/Pods-linphone.distributionadhoc.xcconfig"; sourceTree = ""; }; C61B1BF12667D075001A4E4A /* menu_security_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_security_default.png; sourceTree = ""; }; C61B1BF32667D202001A4E4A /* more_menu_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = more_menu_default.png; sourceTree = ""; }; C61B1BF62667EC6B001A4E4A /* ephemeral_messages_color_A.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ephemeral_messages_color_A.png; sourceTree = ""; }; @@ -2187,6 +2203,8 @@ D7DA18702A02598700FABA0D /* TextViewer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextViewer.swift; sourceTree = ""; }; D7421D9D29228A5200290CAB /* DetailChatRoomFragment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailChatRoomFragment.swift; sourceTree = ""; }; D7421D9D29228A5200290CAB /* DetailChatRoomFragment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailChatRoomFragment.swift; sourceTree = ""; }; + D7421D9D29228A5200290CAB /* DetailChatRoomFragment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailChatRoomFragment.swift; sourceTree = ""; }; + D59A11B7EA2D725CDEB15DDF /* Pods_msgNotificationContent.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_msgNotificationContent.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D7013DB72940AA12004EEAAE /* MessageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageView.swift; sourceTree = ""; }; D7097B34296D684900AEF6C5 /* FileType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileType.swift; sourceTree = ""; }; D7421D9D29228A5200290CAB /* ChatConversationViewSwift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatConversationViewSwift.swift; sourceTree = ""; }; @@ -2202,6 +2220,7 @@ D7C6DE822948CF3100756E03 /* DropDownCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = DropDownCell.xib; sourceTree = ""; }; DF241FDC6C7431777AB3BD58 /* Pods-msgNotificationContent.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationContent.debug.xcconfig"; path = "Target Support Files/Pods-msgNotificationContent/Pods-msgNotificationContent.debug.xcconfig"; sourceTree = ""; }; E19FC645A566E91D4EEB9C8F /* Pods-msgNotificationService.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.distributionadhoc.xcconfig"; sourceTree = ""; }; + E1816F59B195C80A095CB5FF /* Pods-msgNotificationService.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.distribution.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.distribution.xcconfig"; sourceTree = ""; }; EA5F25D9232BD3E200475F2E /* msgNotificationService.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = msgNotificationService.appex; sourceTree = BUILT_PRODUCTS_DIR; }; EA5F25DB232BD3E200475F2E /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = ""; }; EA5F25DD232BD3E200475F2E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; @@ -2267,6 +2286,7 @@ F0BB8C4A193631B300974404 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; }; F0FF66AA1ACAEEB0008A4486 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = ../../../../Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; F1E0D09DACE908E1905B3107 /* Pods_linphone.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_linphone.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FF05777B87519E8EE51B7DE5 /* Pods-msgNotificationContent.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationContent.debug.xcconfig"; path = "Target Support Files/Pods-msgNotificationContent/Pods-msgNotificationContent.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -2277,6 +2297,7 @@ EA88F3AC241BD05200E66528 /* UserNotificationsUI.framework in Frameworks */, EA88F3AB241BD05200E66528 /* UserNotifications.framework in Frameworks */, 58D862FF5CE8DB2268E12D7A /* Pods_msgNotificationContent.framework in Frameworks */, + EB748A3A89C90B4B9F7B9274 /* Pods_msgNotificationContent.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2318,6 +2339,7 @@ 344ABDF114850AE9007420B6 /* libc++.1.dylib in Frameworks */, 22D1B68112A3E0BE001AE361 /* libresolv.dylib in Frameworks */, 23016D200216BB0B8B50F24E /* Pods_linphone.framework in Frameworks */, + 413DBF9C441F1A3F184A15F3 /* Pods_linphone.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2326,6 +2348,7 @@ buildActionMask = 2147483647; files = ( 6B371294FC9D9AF71103AB37 /* Pods_msgNotificationService.framework in Frameworks */, + E80226E4256FA535470D9228 /* Pods_msgNotificationService.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2674,6 +2697,9 @@ F1E0D09DACE908E1905B3107 /* Pods_linphone.framework */, 17F0A579D52D0A7CA1567DB3 /* Pods_msgNotificationContent.framework */, 24AF2A57C76152E50EFAB09E /* Pods_msgNotificationService.framework */, + 161B88520CC81C18D6C77123 /* Pods_linphone.framework */, + D59A11B7EA2D725CDEB15DDF /* Pods_msgNotificationContent.framework */, + 0A00219387FB1983697FE8A0 /* Pods_msgNotificationService.framework */, ); name = Frameworks; sourceTree = ""; @@ -3374,18 +3400,18 @@ 75AA7090378DBBA5417E4370 /* Pods */ = { isa = PBXGroup; children = ( - 4A0F19E4B86E65D7E82416FA /* Pods-linphone.debug.xcconfig */, - A1550C8379C551AF87DFDDFF /* Pods-linphone.release.xcconfig */, - A5ED46C59425A2077D317DE3 /* Pods-linphone.distribution.xcconfig */, - 16A2F6CD56DB52094E382A98 /* Pods-linphone.distributionadhoc.xcconfig */, - C5026A995DD2B361187E7190 /* Pods-msgNotificationContent.debug.xcconfig */, - 375068EF15A4E2A1B666B29A /* Pods-msgNotificationContent.release.xcconfig */, - 2EA9C974D0A1786B3D325B60 /* Pods-msgNotificationContent.distribution.xcconfig */, - 2B7D75CE5E1044873E1CCF70 /* Pods-msgNotificationContent.distributionadhoc.xcconfig */, - 3CF41C1BEB006BD07F51482F /* Pods-msgNotificationService.debug.xcconfig */, - 79CFFC86AF3507D4F97EA7BF /* Pods-msgNotificationService.release.xcconfig */, - 5DFBEEBF2EA78244849FECA7 /* Pods-msgNotificationService.distribution.xcconfig */, - B14A2A14E3807DA50F9F5273 /* Pods-msgNotificationService.distributionadhoc.xcconfig */, + 7D53FB38F48887F28FEBDC0C /* Pods-linphone.debug.xcconfig */, + 9C63A6ED506BCAF657A5B93A /* Pods-linphone.release.xcconfig */, + 454A7900622213ADBD8C09B1 /* Pods-linphone.distribution.xcconfig */, + 9EC3257AF2DB74BAF30435D7 /* Pods-linphone.distributionadhoc.xcconfig */, + FF05777B87519E8EE51B7DE5 /* Pods-msgNotificationContent.debug.xcconfig */, + 22AAF90991F931743D9137EE /* Pods-msgNotificationContent.release.xcconfig */, + 77CEA995F6CB0F3F6A423F1E /* Pods-msgNotificationContent.distribution.xcconfig */, + 5945F114D49455AB309885FD /* Pods-msgNotificationContent.distributionadhoc.xcconfig */, + 75F7ADD2F4CD77DB5695E2E7 /* Pods-msgNotificationService.debug.xcconfig */, + 70074A72423F5E020A68EE6F /* Pods-msgNotificationService.release.xcconfig */, + E1816F59B195C80A095CB5FF /* Pods-msgNotificationService.distribution.xcconfig */, + 5B6BFF1B713BF84614DDDDDB /* Pods-msgNotificationService.distributionadhoc.xcconfig */, ); path = Pods; sourceTree = ""; @@ -3898,7 +3924,7 @@ isa = PBXNativeTarget; buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "linphone" */; buildPhases = ( - 6E1BA6FE5505C7658260F791 /* [CP] Check Pods Manifest.lock */, + 933115D8CB765B27A96500A7 /* [CP] Check Pods Manifest.lock */, 1D60588D0D05DD3D006BFB54 /* Resources */, 63DCC71D1A07B08E00916627 /* Run Script */, 1D60588E0D05DD3D006BFB54 /* Sources */, @@ -3906,7 +3932,7 @@ 8CDC89061EAF89A8006B5652 /* Embed Frameworks */, 5EF0C35020C806A5005081B0 /* Embed App Extensions */, 614D0A1821E77F5300C43EDF /* ShellScript */, - C4DEAA6A42E03C4788CC6C77 /* [CP] Embed Pods Frameworks */, + EAA8CF7025723294822495D5 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -3941,7 +3967,7 @@ isa = PBXNativeTarget; buildConfigurationList = EA5F25E1232BD3E300475F2E /* Build configuration list for PBXNativeTarget "msgNotificationService" */; buildPhases = ( - 010B1AE5170A1A459B8546FF /* [CP] Check Pods Manifest.lock */, + 2628607DAFF49F46FA2E466F /* [CP] Check Pods Manifest.lock */, EA5F25D5232BD3E200475F2E /* Sources */, 203E6292C3E84CD13778F720 /* Frameworks */, EA88A406242A6224007FEC61 /* Resources */, @@ -3960,7 +3986,7 @@ isa = PBXNativeTarget; buildConfigurationList = EA8CB834239F96CA00C330CC /* Build configuration list for PBXNativeTarget "msgNotificationContent" */; buildPhases = ( - 960E4D6A093A42FA3831C76D /* [CP] Check Pods Manifest.lock */, + BEEB019F7DEE8A24B757A867 /* [CP] Check Pods Manifest.lock */, EA8CB823239F96CA00C330CC /* Sources */, 143EFEE2501CB14E6BB244EF /* Frameworks */, EA88F3AE241BD1ED00E66528 /* Resources */, @@ -4791,7 +4817,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 010B1AE5170A1A459B8546FF /* [CP] Check Pods Manifest.lock */ = { + 2628607DAFF49F46FA2E466F /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -4885,9 +4911,6 @@ shellPath = /bin/sh; shellScript = "$SRCROOT/Tools/git_version.sh\n"; }; -<<<<<<< HEAD - 6E1BA6FE5505C7658260F791 /* [CP] Check Pods Manifest.lock */ = { -======= 83EB0ADBEF90B8A23D6563B5 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -5002,8 +5025,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - DA65283ED87557BD0785C5D6 /* [CP] Check Pods Manifest.lock */ = { ->>>>>>> 8761179ca (New UI for messageBubble (Swift)) + 933115D8CB765B27A96500A7 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -5025,7 +5047,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 960E4D6A093A42FA3831C76D /* [CP] Check Pods Manifest.lock */ = { + BEEB019F7DEE8A24B757A867 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -5047,7 +5069,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - C4DEAA6A42E03C4788CC6C77 /* [CP] Embed Pods Frameworks */ = { + EAA8CF7025723294822495D5 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -5056,6 +5078,7 @@ "${PODS_ROOT}/Target Support Files/Pods-linphone/Pods-linphone-frameworks.sh", "${BUILT_PRODUCTS_DIR}/DropDown/DropDown.framework", "${BUILT_PRODUCTS_DIR}/IQKeyboardManager/IQKeyboardManager.framework", + "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework", "${BUILT_PRODUCTS_DIR}/SVProgressHUD/SVProgressHUD.framework", "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework", "${BUILT_PRODUCTS_DIR}/linphone-sdk/linphonesw.framework", @@ -5082,6 +5105,7 @@ outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DropDown.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardManager.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SVProgressHUD.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/linphonesw.framework", @@ -5858,7 +5882,7 @@ /* Begin XCBuildConfiguration section */ 1D6058940D05DD3E006BFB54 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4A0F19E4B86E65D7E82416FA /* Pods-linphone.debug.xcconfig */; + baseConfigurationReference = 7D53FB38F48887F28FEBDC0C /* Pods-linphone.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; ALWAYS_SEARCH_USER_PATHS = NO; @@ -5913,11 +5937,7 @@ "-DENABLE_QRCODE=TRUE", "-DENABLE_SMS_INVITE=TRUE", "$(inherited)", -<<<<<<< HEAD "-DLINPHONE_SDK_VERSION=\\\"5.2.46-pre.1+faef54e3b\\\"", -======= - "-DLINPHONE_SDK_VERSION=\\\"5.2.22\\\"", ->>>>>>> bc1cd082e (Fix Reply Bubble Chat (UI and add click)) ); OTHER_SWIFT_FLAGS = "$(inherited)"; PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone; @@ -5991,7 +6011,7 @@ }; 228B19A71302902F00F154D3 /* DistributionAdhoc */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 16A2F6CD56DB52094E382A98 /* Pods-linphone.distributionadhoc.xcconfig */; + baseConfigurationReference = 9EC3257AF2DB74BAF30435D7 /* Pods-linphone.distributionadhoc.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; ALWAYS_SEARCH_USER_PATHS = NO; @@ -6043,11 +6063,7 @@ "-DENABLE_QRCODE=TRUE", "-DENABLE_SMS_INVITE=TRUE", "$(inherited)", -<<<<<<< HEAD "-DLINPHONE_SDK_VERSION=\\\"5.2.46-pre.1+faef54e3b\\\"", -======= - "-DLINPHONE_SDK_VERSION=\\\"5.2.22\\\"", ->>>>>>> bc1cd082e (Fix Reply Bubble Chat (UI and add click)) ); OTHER_SWIFT_FLAGS = "$(inherited)"; PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone; @@ -6120,7 +6136,7 @@ }; 22F3D55613CC3C9100A0DA02 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A1550C8379C551AF87DFDDFF /* Pods-linphone.release.xcconfig */; + baseConfigurationReference = 9C63A6ED506BCAF657A5B93A /* Pods-linphone.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; ALWAYS_SEARCH_USER_PATHS = NO; @@ -6172,11 +6188,7 @@ "-DENABLE_QRCODE=TRUE", "-DENABLE_SMS_INVITE=TRUE", "$(inherited)", -<<<<<<< HEAD "-DLINPHONE_SDK_VERSION=\\\"5.2.46-pre.1+faef54e3b\\\"", -======= - "-DLINPHONE_SDK_VERSION=\\\"5.2.22\\\"", ->>>>>>> bc1cd082e (Fix Reply Bubble Chat (UI and add click)) ); OTHER_SWIFT_FLAGS = "$(inherited)"; PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone; @@ -6248,7 +6260,7 @@ }; 22F51EE8107FA53D00F98953 /* Distribution */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A5ED46C59425A2077D317DE3 /* Pods-linphone.distribution.xcconfig */; + baseConfigurationReference = 454A7900622213ADBD8C09B1 /* Pods-linphone.distribution.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; ALWAYS_SEARCH_USER_PATHS = NO; @@ -6300,11 +6312,7 @@ "-DENABLE_QRCODE=TRUE", "-DENABLE_SMS_INVITE=TRUE", "$(inherited)", -<<<<<<< HEAD "-DLINPHONE_SDK_VERSION=\\\"5.2.46-pre.1+faef54e3b\\\"", -======= - "-DLINPHONE_SDK_VERSION=\\\"5.2.22\\\"", ->>>>>>> bc1cd082e (Fix Reply Bubble Chat (UI and add click)) ); OTHER_SWIFT_FLAGS = "$(inherited)"; PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone; @@ -6545,7 +6553,7 @@ }; EA5F25E2232BD3E300475F2E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3CF41C1BEB006BD07F51482F /* Pods-msgNotificationService.debug.xcconfig */; + baseConfigurationReference = 75F7ADD2F4CD77DB5695E2E7 /* Pods-msgNotificationService.debug.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; APPLICATION_EXTENSION_API_ONLY = YES; @@ -6601,7 +6609,7 @@ }; EA5F25E3232BD3E300475F2E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 79CFFC86AF3507D4F97EA7BF /* Pods-msgNotificationService.release.xcconfig */; + baseConfigurationReference = 70074A72423F5E020A68EE6F /* Pods-msgNotificationService.release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; APPLICATION_EXTENSION_API_ONLY = YES; @@ -6653,7 +6661,7 @@ }; EA5F25E4232BD3E300475F2E /* Distribution */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5DFBEEBF2EA78244849FECA7 /* Pods-msgNotificationService.distribution.xcconfig */; + baseConfigurationReference = E1816F59B195C80A095CB5FF /* Pods-msgNotificationService.distribution.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; APPLICATION_EXTENSION_API_ONLY = YES; @@ -6705,7 +6713,7 @@ }; EA5F25E5232BD3E300475F2E /* DistributionAdhoc */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B14A2A14E3807DA50F9F5273 /* Pods-msgNotificationService.distributionadhoc.xcconfig */; + baseConfigurationReference = 5B6BFF1B713BF84614DDDDDB /* Pods-msgNotificationService.distributionadhoc.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; APPLICATION_EXTENSION_API_ONLY = YES; @@ -6757,7 +6765,7 @@ }; EA8CB835239F96CA00C330CC /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C5026A995DD2B361187E7190 /* Pods-msgNotificationContent.debug.xcconfig */; + baseConfigurationReference = FF05777B87519E8EE51B7DE5 /* Pods-msgNotificationContent.debug.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; APPLICATION_EXTENSION_API_ONLY = YES; @@ -6813,7 +6821,7 @@ }; EA8CB836239F96CA00C330CC /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 375068EF15A4E2A1B666B29A /* Pods-msgNotificationContent.release.xcconfig */; + baseConfigurationReference = 22AAF90991F931743D9137EE /* Pods-msgNotificationContent.release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; APPLICATION_EXTENSION_API_ONLY = YES; @@ -6865,7 +6873,7 @@ }; EA8CB837239F96CA00C330CC /* Distribution */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2EA9C974D0A1786B3D325B60 /* Pods-msgNotificationContent.distribution.xcconfig */; + baseConfigurationReference = 77CEA995F6CB0F3F6A423F1E /* Pods-msgNotificationContent.distribution.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; APPLICATION_EXTENSION_API_ONLY = YES; @@ -6917,7 +6925,7 @@ }; EA8CB838239F96CA00C330CC /* DistributionAdhoc */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2B7D75CE5E1044873E1CCF70 /* Pods-msgNotificationContent.distributionadhoc.xcconfig */; + baseConfigurationReference = 5945F114D49455AB309885FD /* Pods-msgNotificationContent.distributionadhoc.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; APPLICATION_EXTENSION_API_ONLY = YES;