Commit 3bff6dba by Anand.suthar

Implement audio in chat

parent 1a3bb3d0
...@@ -87,6 +87,7 @@ ...@@ -87,6 +87,7 @@
B098116C212C524900BD7407 /* DrawTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = B098116B212C524900BD7407 /* DrawTextField.swift */; }; B098116C212C524900BD7407 /* DrawTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = B098116B212C524900BD7407 /* DrawTextField.swift */; };
B09A64BF20F7877E00222611 /* NavigationBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B09A64BE20F7877E00222611 /* NavigationBarView.swift */; }; B09A64BF20F7877E00222611 /* NavigationBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B09A64BE20F7877E00222611 /* NavigationBarView.swift */; };
B0A0827920EF924100F78AEC /* UserSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0A0827820EF924100F78AEC /* UserSettings.swift */; }; B0A0827920EF924100F78AEC /* UserSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0A0827820EF924100F78AEC /* UserSettings.swift */; };
B0A1F215213AB9F600E17558 /* UploadAudio.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0A1F214213AB9F600E17558 /* UploadAudio.swift */; };
B0B57165212BFE3700593801 /* ScienceOfNamingContainerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0B57164212BFE3700593801 /* ScienceOfNamingContainerViewController.swift */; }; B0B57165212BFE3700593801 /* ScienceOfNamingContainerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0B57164212BFE3700593801 /* ScienceOfNamingContainerViewController.swift */; };
B0B5716F212BFE4E00593801 /* IndividualNamingServiceViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0B5716E212BFE4D00593801 /* IndividualNamingServiceViewController.swift */; }; B0B5716F212BFE4E00593801 /* IndividualNamingServiceViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0B5716E212BFE4D00593801 /* IndividualNamingServiceViewController.swift */; };
B0B57171212BFE6100593801 /* IndividualReNamingServiceViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0B57170212BFE6100593801 /* IndividualReNamingServiceViewController.swift */; }; B0B57171212BFE6100593801 /* IndividualReNamingServiceViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0B57170212BFE6100593801 /* IndividualReNamingServiceViewController.swift */; };
...@@ -619,6 +620,7 @@ ...@@ -619,6 +620,7 @@
B098116B212C524900BD7407 /* DrawTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DrawTextField.swift; sourceTree = "<group>"; }; B098116B212C524900BD7407 /* DrawTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DrawTextField.swift; sourceTree = "<group>"; };
B09A64BE20F7877E00222611 /* NavigationBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationBarView.swift; sourceTree = "<group>"; }; B09A64BE20F7877E00222611 /* NavigationBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationBarView.swift; sourceTree = "<group>"; };
B0A0827820EF924100F78AEC /* UserSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserSettings.swift; sourceTree = "<group>"; }; B0A0827820EF924100F78AEC /* UserSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserSettings.swift; sourceTree = "<group>"; };
B0A1F214213AB9F600E17558 /* UploadAudio.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadAudio.swift; sourceTree = "<group>"; };
B0B57164212BFE3700593801 /* ScienceOfNamingContainerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScienceOfNamingContainerViewController.swift; sourceTree = "<group>"; }; B0B57164212BFE3700593801 /* ScienceOfNamingContainerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScienceOfNamingContainerViewController.swift; sourceTree = "<group>"; };
B0B5716E212BFE4D00593801 /* IndividualNamingServiceViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IndividualNamingServiceViewController.swift; sourceTree = "<group>"; }; B0B5716E212BFE4D00593801 /* IndividualNamingServiceViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IndividualNamingServiceViewController.swift; sourceTree = "<group>"; };
B0B57170212BFE6100593801 /* IndividualReNamingServiceViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IndividualReNamingServiceViewController.swift; sourceTree = "<group>"; }; B0B57170212BFE6100593801 /* IndividualReNamingServiceViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IndividualReNamingServiceViewController.swift; sourceTree = "<group>"; };
...@@ -1005,14 +1007,15 @@ ...@@ -1005,14 +1007,15 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
B0BD88CC212EE7AC00188279 /* Notifications */, B0BD88CC212EE7AC00188279 /* Notifications */,
B04824602128342100B088C0 /* UpdateOrder.swift */,
B091CD672119A43F00E270BF /* FireBaseChat */, B091CD672119A43F00E270BF /* FireBaseChat */,
B038371420F37F2F00B68870 /* Appointment */, B038371420F37F2F00B68870 /* Appointment */,
B0F371E320EFB08D000F92D2 /* Home */, B0F371E320EFB08D000F92D2 /* Home */,
B08BEE7920F0933600E972D3 /* Me */, B08BEE7920F0933600E972D3 /* Me */,
B04824602128342100B088C0 /* UpdateOrder.swift */,
B01B217B20EF87E9002AC8D5 /* User.swift */, B01B217B20EF87E9002AC8D5 /* User.swift */,
B01B217620EF878A002AC8D5 /* UserExt.swift */, B01B217620EF878A002AC8D5 /* UserExt.swift */,
B0A0827820EF924100F78AEC /* UserSettings.swift */, B0A0827820EF924100F78AEC /* UserSettings.swift */,
B0A1F214213AB9F600E17558 /* UploadAudio.swift */,
); );
path = Model; path = Model;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -2582,6 +2585,7 @@ ...@@ -2582,6 +2585,7 @@
EC04CFD32052CF2A00B425BB /* PasswordToggleVisibilityView.swift in Sources */, EC04CFD32052CF2A00B425BB /* PasswordToggleVisibilityView.swift in Sources */,
EC04CE1A2052CDA300B425BB /* SellerDashBoardController.swift in Sources */, EC04CE1A2052CDA300B425BB /* SellerDashBoardController.swift in Sources */,
B024388B20B53D5D007D12AE /* HomePageViewController.swift in Sources */, B024388B20B53D5D007D12AE /* HomePageViewController.swift in Sources */,
B0A1F215213AB9F600E17558 /* UploadAudio.swift in Sources */,
EC04CEDF2052CE6700B425BB /* MyOrderTableViewCell.swift in Sources */, EC04CEDF2052CE6700B425BB /* MyOrderTableViewCell.swift in Sources */,
EC04CFBA2052CF2A00B425BB /* CHILayer.swift in Sources */, EC04CFBA2052CF2A00B425BB /* CHILayer.swift in Sources */,
EC04CDAD2052CD3500B425BB /* SellerListViewCell.swift in Sources */, EC04CDAD2052CD3500B425BB /* SellerListViewCell.swift in Sources */,
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Model/Appointment/EditResult.swift" filePath = "Bhagyashree/Sunarc/Model/Appointment/EditResult.swift"
timestampString = "556699185.727886" timestampString = "557500375.461725"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "74" startingLineNumber = "74"
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Model/Appointment/EditResult.swift" filePath = "Bhagyashree/Sunarc/Model/Appointment/EditResult.swift"
timestampString = "556699185.7279789" timestampString = "557500375.461798"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "51" startingLineNumber = "51"
...@@ -106,12 +106,28 @@ ...@@ -106,12 +106,28 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Model/UserExt.swift" filePath = "Bhagyashree/Sunarc/Model/UserExt.swift"
timestampString = "557228254.156836" timestampString = "557488994.463275"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "236" startingLineNumber = "242"
endingLineNumber = "236" endingLineNumber = "242"
landmarkName = "callAPI(oldPassword:newPassword:success:failure:)" landmarkName = "changePassword(oldPassword:newPassword:success:failure:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Model/UserExt.swift"
timestampString = "557488994.463385"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "244"
endingLineNumber = "244"
landmarkName = "changePassword(oldPassword:newPassword:success:failure:)"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
...@@ -122,13 +138,13 @@ ...@@ -122,13 +138,13 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Controller/Me/ChangePasswordViewController.swift" filePath = "Bhagyashree/Sunarc/Controller/Me/ChangePasswordViewController.swift"
timestampString = "557228596.9233069" timestampString = "557239644.4572099"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "32" startingLineNumber = "35"
endingLineNumber = "32" endingLineNumber = "35"
landmarkName = "unknown" landmarkName = "confirm()"
landmarkType = "0"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
<BreakpointProxy <BreakpointProxy
...@@ -138,13 +154,45 @@ ...@@ -138,13 +154,45 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Controller/Me/ChangePasswordViewController.swift" filePath = "Bhagyashree/Sunarc/Controller/Me/ChangePasswordViewController.swift"
timestampString = "557228598.131186" timestampString = "557239644.457275"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "30" startingLineNumber = "37"
endingLineNumber = "30" endingLineNumber = "37"
landmarkName = "unknown" landmarkName = "confirm()"
landmarkType = "0"> landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Other/HTTP/HTTP.swift"
timestampString = "557657330.042726"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "182"
endingLineNumber = "182"
landmarkName = "connectWithoutRequestObject(api:parameters:method:contentType:indicator:success:failure:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Other/HTTP/HTTP.swift"
timestampString = "557657330.0428081"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "92"
endingLineNumber = "92"
landmarkName = "connectWithRequestObject(api:parameters:method:contentType:indicator:success:failure:)"
landmarkType = "7">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
<BreakpointProxy <BreakpointProxy
...@@ -154,12 +202,172 @@ ...@@ -154,12 +202,172 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Model/UserExt.swift" filePath = "Bhagyashree/Sunarc/Model/UserExt.swift"
timestampString = "557228607.042542" timestampString = "557488994.46451"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "238" startingLineNumber = "59"
endingLineNumber = "238" endingLineNumber = "59"
landmarkName = "changePassword(oldPassword:newPassword:success:failure:)" landmarkName = "login(email:password:success:failure:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Model/UserExt.swift"
timestampString = "557488994.464582"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "114"
endingLineNumber = "114"
landmarkName = "getMagentoToken(_:password:success:failur:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Model/Home/Income/IncomeExt.swift"
timestampString = "557488392.706923"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "22"
endingLineNumber = "22"
landmarkName = "nextPage(success:failuer:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Controller/Me/IncomeHistoryViewController.swift"
timestampString = "557488994.4646699"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "60"
endingLineNumber = "60"
landmarkName = "income(nextPage:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Controller/Appointment/EditResultViewController.swift"
timestampString = "557492849.897043"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "253"
endingLineNumber = "253"
landmarkName = "recordedAudio(filePath:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Other/HTTP/HTTP.swift"
timestampString = "557657330.04295"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "301"
endingLineNumber = "301"
landmarkName = "uploadFile(withThumbNail:api:filePath:type:result:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Other/HTTP/HTTP.swift"
timestampString = "557657330.043007"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "288"
endingLineNumber = "288"
landmarkName = "uploadFile(withThumbNail:api:filePath:type:result:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Other/HTTP/HTTP.swift"
timestampString = "557657330.043063"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "291"
endingLineNumber = "291"
landmarkName = "uploadFile(withThumbNail:api:filePath:type:result:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Other/HTTP/HTTP.swift"
timestampString = "557657330.043118"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "297"
endingLineNumber = "297"
landmarkName = "uploadFile(withThumbNail:api:filePath:type:result:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Other/HTTP/HTTP.swift"
timestampString = "557657330.043171"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "281"
endingLineNumber = "281"
landmarkName = "uploadFile(withThumbNail:api:filePath:type:result:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Other/HTTP/HTTP.swift"
timestampString = "557657330.043225"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "277"
endingLineNumber = "277"
landmarkName = "uploadFile(withThumbNail:api:filePath:type:result:)"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
......
...@@ -15,8 +15,8 @@ var DEFAULT_WEBSITE_ID = "1" ...@@ -15,8 +15,8 @@ var DEFAULT_WEBSITE_ID = "1"
var BASE_DOMAIN = "http://18.136.9.203" // test //var BASE_DOMAIN = "http://18.136.9.203" // test
//var BASE_DOMAIN = "http://54.251.144.17" // dev var BASE_DOMAIN = "http://54.251.144.17" // dev
//var BASE_DOMAIN = "http://13.251.93.24" //var BASE_DOMAIN = "http://13.251.93.24"
var HOST_NAME = BASE_DOMAIN+"/index.php/" var HOST_NAME = BASE_DOMAIN+"/index.php/"
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.0</string> <string>1.0</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>9</string> <string>10</string>
<key>Fabric</key> <key>Fabric</key>
<dict> <dict>
<key>APIKey</key> <key>APIKey</key>
......
...@@ -18,6 +18,7 @@ class CompletedServicesViewController: BaseViewController { ...@@ -18,6 +18,7 @@ class CompletedServicesViewController: BaseViewController {
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
service.isBooking = true
self.setupRefreshHeaderFooter() self.setupRefreshHeaderFooter()
} }
......
...@@ -130,7 +130,7 @@ extension EditResultViewController: UITableViewDelegate, UITableViewDataSource { ...@@ -130,7 +130,7 @@ extension EditResultViewController: UITableViewDelegate, UITableViewDataSource {
case 3: case 3:
return 1 return 1
case 4: case 4:
return 0 return 1
case 5: case 5:
return audioRecordings.count return audioRecordings.count
default: default:
...@@ -249,6 +249,9 @@ extension EditResultViewController: EditResultProductCellDelegate { ...@@ -249,6 +249,9 @@ extension EditResultViewController: EditResultProductCellDelegate {
extension EditResultViewController: AudioRecordingCellDelegate { extension EditResultViewController: AudioRecordingCellDelegate {
func recordedAudio(filePath: String) { func recordedAudio(filePath: String) {
print(filePath)
let audioRecording = AudioRecording(audioPath: filePath) let audioRecording = AudioRecording(audioPath: filePath)
self.audioRecordings.append(audioRecording) self.audioRecordings.append(audioRecording)
tblresult.reloadData() tblresult.reloadData()
......
...@@ -24,6 +24,7 @@ class OnGoingServicesViewController: BaseViewController { ...@@ -24,6 +24,7 @@ class OnGoingServicesViewController: BaseViewController {
override func viewDidAppear(_ animated: Bool) { override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated) super.viewDidAppear(animated)
service.isBooking = true
if service.services.count == 0 { if service.services.count == 0 {
tblOnGoingNotices.mj_header.beginRefreshing() tblOnGoingNotices.mj_header.beginRefreshing()
} }
......
...@@ -18,6 +18,7 @@ class ProcessingViewController: BaseViewController { ...@@ -18,6 +18,7 @@ class ProcessingViewController: BaseViewController {
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
service.isBooking = true
self.setupRefreshHeaderFooter() self.setupRefreshHeaderFooter()
} }
......
...@@ -152,10 +152,17 @@ extension HomePageViewController: UITableViewDelegate, UITableViewDataSource { ...@@ -152,10 +152,17 @@ extension HomePageViewController: UITableViewDelegate, UITableViewDataSource {
} else if order.products.first?.serviceType == .FORM{ } else if order.products.first?.serviceType == .FORM{
if order.status == .COMPLETE {
let appointmentdetails = Utils.viewController(storyboardName: "Appointment", ofType: ServiceDetailViewController.self)
appointmentdetails.serviceStatus = .tbc
appointmentdetails.incrementId = order.incrementId
appointmentdetails.orderId = order.orderId
self.navigationController?.pushViewController(appointmentdetails, animated: true)
} else {
if let form = Form.VC(with: order.incrementId!, orderId: order.orderId!, categoryType: order.products.first!.categoryType){ if let form = Form.VC(with: order.incrementId!, orderId: order.orderId!, categoryType: order.products.first!.categoryType){
self.navigationController?.pushViewController(form, animated: true) self.navigationController?.pushViewController(form, animated: true)
} }
}
} else { } else {
self.view.showToast("Unknown service", position: .bottom, popTime: 2.0, dismissOnTap: false) self.view.showToast("Unknown service", position: .bottom, popTime: 2.0, dismissOnTap: false)
......
...@@ -99,6 +99,7 @@ extension OnlineEnquiryViewController { ...@@ -99,6 +99,7 @@ extension OnlineEnquiryViewController {
ref.childByAutoId().setValue(["msg": txtComment.text, ref.childByAutoId().setValue(["msg": txtComment.text,
"name": "Seller", "name": "Seller",
"status": "unread", "status": "unread",
"chatType": "Text",
"timestamp": ServerValue.timestamp() "timestamp": ServerValue.timestamp()
]) ])
...@@ -132,6 +133,38 @@ extension OnlineEnquiryViewController { ...@@ -132,6 +133,38 @@ extension OnlineEnquiryViewController {
@IBAction func back() { @IBAction func back() {
self.navigationController?.popViewController(animated: true) self.navigationController?.popViewController(animated: true)
} }
@IBAction func startRecordAudio() {
Audio.startRecording(success: {
print("recording started")
}) { (errorMessage) in
self.view.showToast(errorMessage, position: .bottom, popTime: 2.0, dismissOnTap: false)
}
}
@IBAction func endRecordAudio() {
Audio.stopRecording(success: { (filePath) in
UploadAudio.upload(file: filePath, success: { (webPath) in
self.ref.childByAutoId().setValue(["msg": webPath,
"name": "Seller",
"status": "unread",
"chatType": "Audio",
"timestamp": ServerValue.timestamp()
])
}, failur: { (errorMessage) in
self.view.showToast(errorMessage, position: .bottom, popTime: 2.0, dismissOnTap: false)
})
}) { (errorMessage) in
print(errorMessage)
}
}
} }
...@@ -148,6 +181,7 @@ extension OnlineEnquiryViewController: UITableViewDelegate, UITableViewDataSourc ...@@ -148,6 +181,7 @@ extension OnlineEnquiryViewController: UITableViewDelegate, UITableViewDataSourc
let chat = chats[indexPath.row] let chat = chats[indexPath.row]
if chat.chatType == .text {
if chat.name == "Seller" { if chat.name == "Seller" {
let masterCell = tableView.dequeueReusableCell(withIdentifier: "master") as! OnlineEnquiryMasterCell let masterCell = tableView.dequeueReusableCell(withIdentifier: "master") as! OnlineEnquiryMasterCell
masterCell.lblMessage.text = chat.msg masterCell.lblMessage.text = chat.msg
...@@ -158,8 +192,20 @@ extension OnlineEnquiryViewController: UITableViewDelegate, UITableViewDataSourc ...@@ -158,8 +192,20 @@ extension OnlineEnquiryViewController: UITableViewDelegate, UITableViewDataSourc
customerCell.customerProfileImage = customerProfileImage customerCell.customerProfileImage = customerProfileImage
return customerCell return customerCell
} }
} else if chat.chatType == .audio {
if chat.name == "Seller" {
let masterAudioCell = tableView.dequeueReusableCell(withIdentifier: "masterAudio") as! OnlineEnquiryMasterAudioCell
masterAudioCell.audioPath = chat.msg
return masterAudioCell
} else {
let customerAudioCell = tableView.dequeueReusableCell(withIdentifier: "customerAudio") as! OnlineEnquiryCustomerAudioCell
customerAudioCell.audioPath = chat.msg
customerAudioCell.customerProfileImage = customerProfileImage
return customerAudioCell
}
}
return UITableViewCell()
} }
} }
...@@ -224,3 +270,73 @@ class OnlineEnquiryCustomerCell: UITableViewCell { ...@@ -224,3 +270,73 @@ class OnlineEnquiryCustomerCell: UITableViewCell {
} }
} }
class OnlineEnquiryMasterAudioCell: UITableViewCell {
@IBOutlet var btnPlay: UIButton!
var audioPath: String?
@IBOutlet var imgMaster: UIImageView!
@IBAction func play() {
if let audioPath = audioPath {
Audio.playAudio(audioPath: audioPath, success: {
}) { (errorMesssage) in
self.viewController()?.view.showToast(errorMesssage, position: .bottom, popTime: 2.0, dismissOnTap: false)
}
} else {
self.viewController()?.view.showToast("Audio missing", position: .bottom, popTime: 2.0, dismissOnTap: false)
}
}
override func layoutIfNeeded() {
imgMaster.layer.cornerRadius = imgMaster.frame.size.width/2
if let profileImage = User.profileImage {
let url = URL(string: profileImage)
self.imgMaster.kf.setImage(with: url, placeholder: UIImage(named: "placeholder"), options: [.transition(ImageTransition.fade(1)), .scaleFactor(1.0)], progressBlock: nil, completionHandler: nil)
}
}
}
class OnlineEnquiryCustomerAudioCell: UITableViewCell {
@IBOutlet var btnPlay: UIButton!
var audioPath: String?
var customerProfileImage: String?
@IBOutlet var imgCostomer: UIImageView!
@IBAction func play() {
if let audioPath = audioPath {
Audio.playAudio(audioPath: audioPath, success: {
}) { (errorMesssage) in
self.viewController()?.view.showToast(errorMesssage, position: .bottom, popTime: 2.0, dismissOnTap: false)
}
} else {
self.viewController()?.view.showToast("Audio missing", position: .bottom, popTime: 2.0, dismissOnTap: false)
}
}
override func layoutIfNeeded() {
imgCostomer.layer.cornerRadius = imgCostomer.frame.size.width/2
if let customerProfileImage = customerProfileImage {
let url = URL(string: customerProfileImage)
self.imgCostomer.kf.setImage(with: url, placeholder: UIImage(named: "placeholder"), options: [.transition(ImageTransition.fade(1)), .scaleFactor(1.0)], progressBlock: nil, completionHandler: nil)
}
}
}
...@@ -55,7 +55,7 @@ class ChangePasswordViewController: UIViewController { ...@@ -55,7 +55,7 @@ class ChangePasswordViewController: UIViewController {
} }
if txtCurrentPassword.text != txtConfirmPassword.text { if txtNewPassword.text != txtConfirmPassword.text {
self.view.showToast("New password and current password should be same", position: .bottom, popTime: 2.0, dismissOnTap: false) self.view.showToast("New password and current password should be same", position: .bottom, popTime: 2.0, dismissOnTap: false)
return false return false
} }
...@@ -66,3 +66,28 @@ class ChangePasswordViewController: UIViewController { ...@@ -66,3 +66,28 @@ class ChangePasswordViewController: UIViewController {
} }
extension ChangePasswordViewController: UITextFieldDelegate {
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
if textField == txtCurrentPassword {
txtNewPassword.becomeFirstResponder()
} else if textField == txtNewPassword {
txtConfirmPassword.becomeFirstResponder()
} else if textField == txtConfirmPassword {
self.confirm()
}
return true
}
}
...@@ -57,7 +57,6 @@ class IncomeHistoryViewController: BaseViewController { ...@@ -57,7 +57,6 @@ class IncomeHistoryViewController: BaseViewController {
self.tblIncome.reloadData() self.tblIncome.reloadData()
self.tblIncome.mj_footer.endRefreshing() self.tblIncome.mj_footer.endRefreshing()
}) { (errorMessage) in }) { (errorMessage) in
self.tblIncome.reloadData()
self.tblIncome.mj_footer.endRefreshing() self.tblIncome.mj_footer.endRefreshing()
self.view.showToast(errorMessage, position: .bottom, popTime: 2.0, dismissOnTap: false) self.view.showToast(errorMessage, position: .bottom, popTime: 2.0, dismissOnTap: false)
} }
......
...@@ -127,7 +127,7 @@ extension SellerProfileViewController { ...@@ -127,7 +127,7 @@ extension SellerProfileViewController {
@IBAction func logout() { @IBAction func logout() {
// User.logout(success: { // User.logout(success: {
User.isLoggedIn = false User.clearData()
let loginVc = Utils.viewController(storyboardName: "Fengshui", ofType: LoginViewController.self) let loginVc = Utils.viewController(storyboardName: "Fengshui", ofType: LoginViewController.self)
self.present(loginVc, animated: true, completion: nil) self.present(loginVc, animated: true, completion: nil)
// }) { (errorMessage) in // }) { (errorMessage) in
......
...@@ -14,10 +14,11 @@ class LoginViewController: BaseViewController { ...@@ -14,10 +14,11 @@ class LoginViewController: BaseViewController {
@IBOutlet var txtPassword: UITextField! @IBOutlet var txtPassword: UITextField!
@IBOutlet var imgCheckUncheck: UIImageView! @IBOutlet var imgCheckUncheck: UIImageView!
var isRemember = false // var isRemember = false
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
UserSettings.rememberPassword = true
} }
} }
...@@ -27,17 +28,17 @@ class LoginViewController: BaseViewController { ...@@ -27,17 +28,17 @@ class LoginViewController: BaseViewController {
extension LoginViewController { extension LoginViewController {
@IBAction func rememberPassword() { // @IBAction func rememberPassword() {
if isRemember == false { // if isRemember == false {
isRemember = true // isRemember = true
imgCheckUncheck.image = UIImage(named: "check") // imgCheckUncheck.image = UIImage(named: "check")
UserSettings.rememberPassword = true // UserSettings.rememberPassword = true
} else { // } else {
isRemember = false // isRemember = false
imgCheckUncheck.image = UIImage(named: "uncheck") // imgCheckUncheck.image = UIImage(named: "uncheck")
UserSettings.rememberPassword = false // UserSettings.rememberPassword = false
} // }
} // }
@IBAction func forgetPassword() { @IBAction func forgetPassword() {
......
...@@ -9,6 +9,11 @@ ...@@ -9,6 +9,11 @@
import Foundation import Foundation
import FirebaseDatabase import FirebaseDatabase
enum ChatType: String {
case audio = "Audio"
case text = "Text"
}
class Chat { class Chat {
let msg: String! let msg: String!
...@@ -16,6 +21,7 @@ class Chat { ...@@ -16,6 +21,7 @@ class Chat {
let readStatus: String! let readStatus: String!
var timeStamp: TimeInterval = 0 var timeStamp: TimeInterval = 0
let chatId: String! let chatId: String!
var chatType = ChatType.text
init(json: [String: Any], chatId: String) { init(json: [String: Any], chatId: String) {
...@@ -27,6 +33,9 @@ class Chat { ...@@ -27,6 +33,9 @@ class Chat {
if let timeStamp = json["timestamp"] as? Int64 { if let timeStamp = json["timestamp"] as? Int64 {
self.timeStamp = TimeInterval(exactly: timeStamp)! self.timeStamp = TimeInterval(exactly: timeStamp)!
} }
if let fileType_ = json["chatType"] as? String {
self.chatType = ChatType(rawValue: fileType_)!
}
} }
......
...@@ -40,6 +40,7 @@ class Service { ...@@ -40,6 +40,7 @@ class Service {
var currentPage = 1 var currentPage = 1
var maxPageNo = 0 var maxPageNo = 0
var isBooking = false
var services = [Service]() var services = [Service]()
......
...@@ -49,13 +49,13 @@ extension Service { ...@@ -49,13 +49,13 @@ extension Service {
"storeId": UserDefaults.standard.value(forKey: "storeId") as! String, "storeId": UserDefaults.standard.value(forKey: "storeId") as! String,
"status": statusParameter, "status": statusParameter,
"pageNumber": self.currentPage, "pageNumber": self.currentPage,
"type": "booking" "type": isBooking == true ? "booking" : ""
] ]
} else { } else {
parameters = ["customerId": User.customerId, parameters = ["customerId": User.customerId,
"storeId": UserDefaults.standard.value(forKey: "storeId") as! String, "storeId": UserDefaults.standard.value(forKey: "storeId") as! String,
"pageNumber": self.currentPage, "pageNumber": self.currentPage,
"type": "booking" "type": isBooking == true ? "booking" : ""
] ]
} }
......
//
// UploadAudio.swift
// Bhagyashree
//
// Created by SunarcMAC on 01/09/18.
// Copyright © 2018 Sunarc. All rights reserved.
//
import Foundation
import SVProgressHUD
class UploadAudio {
class func upload(file: String, success:@escaping (_ webPath: String) -> Void, failur:@escaping (_ errorMessage: String) -> Void) {
let url = URL(fileURLWithPath: file)
SVProgressHUD.show()
HTTP().uploadFileTmp(withThumbNail: nil, api: API.REPLY_AUDIO, filePath: url, type: "reply_audio") { (response, error) in
if error == nil {
if response!.count > 0 {
if let data = response![0]["data"] as? [[String: Any]] {
if data.count > 0 {
var webPath = ""
if let relativePath = data[0]["relative_path"] as? String {
webPath += relativePath
}
if let file = data[0]["file"] as? String {
webPath += file
}
SVProgressHUD.dismiss()
success(webPath)
} else {
SVProgressHUD.dismiss()
failur("Try again")
}
} else {
SVProgressHUD.dismiss()
failur("Try again")
}
} else {
SVProgressHUD.dismiss()
failur("Try again")
}
} else {
SVProgressHUD.dismiss()
failur(error!.localizedDescription)
}
}
}
}
...@@ -147,5 +147,24 @@ class User { ...@@ -147,5 +147,24 @@ class User {
} }
class func clearData() {
User.speciality = nil
User.bearerToken = nil
User.gender = nil
User.professionalLevel = nil
User.isOnline = false
User.isLoggedIn = false
User.title = nil
User.profileImage = nil
User.message = nil
User.isSeller = false
User.customerFullName = nil
User.customerId = 0
User.customerEmail = nil
User.cartCount = 0
User.bannerImage = nil
}
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// //
// Created by SunarcMAC on 06/07/18. // Created by SunarcMAC on 06/07/18.
// Copyright © 2018 Sunarc. All rights reserved. // Copyright © 2018 Sunarc. All rights reserved.
// // nervous
import Foundation import Foundation
...@@ -55,6 +55,9 @@ extension User { ...@@ -55,6 +55,9 @@ extension User {
] ]
HTTP().connectionWithRequestObjectFormUrl(api: API.LOGIN, parameters: parameters, method: .post, indicator: true, success: { (response) in HTTP().connectionWithRequestObjectFormUrl(api: API.LOGIN, parameters: parameters, method: .post, indicator: true, success: { (response) in
print(response)
if let response = response as? [String: Any] { if let response = response as? [String: Any] {
User.message = response["message"] as? String User.message = response["message"] as? String
...@@ -107,6 +110,9 @@ extension User { ...@@ -107,6 +110,9 @@ extension User {
let paramenters = ["username": email, "password": password] let paramenters = ["username": email, "password": password]
HTTP().connectionWithRequestObject(api: API.MAGENTO_TOKEN, parameters: paramenters, method: .post, indicator: true, success: { (successToken) in HTTP().connectionWithRequestObject(api: API.MAGENTO_TOKEN, parameters: paramenters, method: .post, indicator: true, success: { (successToken) in
print(successToken)
User.bearerToken = successToken as? String User.bearerToken = successToken as? String
success() success()
}, failure: { (errorMessage) in }, failure: { (errorMessage) in
......
...@@ -13,7 +13,7 @@ import AVFoundation ...@@ -13,7 +13,7 @@ import AVFoundation
class Audio { class Audio {
var audioRecorder:AVAudioRecorder! var audioRecorder:AVAudioRecorder!
var audioPlayer: AVAudioPlayer? var audioPlayer: AVPlayer?
var currentRecordingPath: String? var currentRecordingPath: String?
static let shared = Audio() static let shared = Audio()
...@@ -35,16 +35,13 @@ class Audio { ...@@ -35,16 +35,13 @@ class Audio {
try audioSession.setCategory(AVAudioSessionCategoryRecord) try audioSession.setCategory(AVAudioSessionCategoryRecord)
try audioSession.setActive(true) try audioSession.setActive(true)
Audio.shared.currentRecordingPath = NSTemporaryDirectory() + "\(Audio.shared.Timestamp).caf" Audio.shared.currentRecordingPath = NSTemporaryDirectory() + "\(Audio.shared.Timestamp).m4a"
let url = URL(fileURLWithPath: Audio.shared.currentRecordingPath!) let url = URL(fileURLWithPath: Audio.shared.currentRecordingPath!)
let recordSettings: [String: Any] = [AVFormatIDKey: kAudioFormatMPEG4AAC,
let recordSettings: [String: Any] = [AVFormatIDKey: kAudioFormatAppleIMA4, AVSampleRateKey: 12000.0,
AVSampleRateKey: 44100.0, AVNumberOfChannelsKey: 1,
AVNumberOfChannelsKey: 2, AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
AVEncoderBitRateKey: 12800,
AVLinearPCMBitDepthKey: 16,
AVEncoderAudioQualityKey: AVAudioQuality.max.rawValue
] ]
Audio.shared.audioRecorder = try AVAudioRecorder(url: url, settings: recordSettings) Audio.shared.audioRecorder = try AVAudioRecorder(url: url, settings: recordSettings)
...@@ -67,14 +64,27 @@ class Audio { ...@@ -67,14 +64,27 @@ class Audio {
class func playAudio(audioPath: String, success:() -> Void, failure: (_ message: String) -> Void) { class func playAudio(audioPath: String, success:() -> Void, failure: (_ message: String) -> Void) {
let audioURL = URL(fileURLWithPath: audioPath) // let audioURL = URL(fileURLWithPath: audioPath)
do { do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try AVAudioSession.sharedInstance().setActive(true)
try Audio.shared.audioPlayer = AVAudioPlayer(contentsOf: audioURL) let url = URL(string: audioPath)
Audio.shared.audioPlayer!.prepareToPlay() // let playerItem:AVPlayerItem = AVPlayerItem(url: url!)
Audio.shared.audioPlayer!.play() // Audio.shared.audioPlayer = AVPlayer(playerItem: playerItem)
//
Audio.shared.audioPlayer = AVPlayer(url: url!)
Audio.shared.audioPlayer?.play()
// if Audio.shared.audioPlayer?.rate == 0 {
// Audio.shared.audioPlayer?.play()
// } else {
// Audio.shared.audioPlayer?.pause()
// }
// try Audio.shared.audioPlayer = AVAudioPlayer(contentsOf: audioURL)
// Audio.shared.audioPlayer!.prepareToPlay()
// Audio.shared.audioPlayer!.play()
success() success()
} catch { } catch {
failure(error.localizedDescription) failure(error.localizedDescription)
......
...@@ -44,6 +44,9 @@ class API { ...@@ -44,6 +44,9 @@ class API {
// Notification // Notification
static let NOTIFICATION = "mobikulhttp/extra/notificationList" static let NOTIFICATION = "mobikulhttp/extra/notificationList"
// Other
static let AUDIO_UPLOAD = "/rest/V1/service/uploadAudio"
} }
......
...@@ -103,12 +103,14 @@ class HTTP: NSObject { ...@@ -103,12 +103,14 @@ class HTTP: NSObject {
} else { } else {
User.regenerateToken { // generate magento token User.regenerateToken { // generate magento token
if api == API.MAGENTO_TOKEN {
if contentType == "application/x-www-form-urlencoded" { if contentType == "application/x-www-form-urlencoded" {
HTTP().connectionWithRequestObjectFormUrl(api: api, parameters: parameters, method: method, indicator: indicator, success: success, failure: failure) HTTP().connectionWithRequestObjectFormUrl(api: api, parameters: parameters, method: method, indicator: indicator, success: success, failure: failure)
} else { } else {
HTTP().connectionWithRequestObject(api: api, parameters: parameters, method: method, indicator: indicator, success: success, failure: failure) HTTP().connectionWithRequestObject(api: api, parameters: parameters, method: method, indicator: indicator, success: success, failure: failure)
} }
} }
}
} }
} else { } else {
...@@ -255,6 +257,10 @@ extension HTTP { ...@@ -255,6 +257,10 @@ extension HTTP {
if let token = User.bearerToken { if let token = User.bearerToken {
headers["Authorization"] = "Bearer \(token)" headers["Authorization"] = "Bearer \(token)"
} }
if let authKey: String = UserDefaults.standard.value(forKey: "authKey") as? String {
headers["authKey"] = authKey
}
Alamofire.upload(multipartFormData: { (multipartFormData: MultipartFormData) in Alamofire.upload(multipartFormData: { (multipartFormData: MultipartFormData) in
...@@ -268,6 +274,16 @@ extension HTTP { ...@@ -268,6 +274,16 @@ extension HTTP {
upload.responseJSON(completionHandler: { (dataResponse: DataResponse) in upload.responseJSON(completionHandler: { (dataResponse: DataResponse) in
do { do {
if let data = dataResponse.data { if let data = dataResponse.data {
let str = String(data: data, encoding: String.Encoding.utf8) as String!
print(str)
if let respo = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions()) as? String {
print(respo)
}
if let arrayResponse = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions()) as? [[String: Any]] { if let arrayResponse = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions()) as? [[String: Any]] {
if arrayResponse.count > 0 { if arrayResponse.count > 0 {
...@@ -298,6 +314,15 @@ extension HTTP { ...@@ -298,6 +314,15 @@ extension HTTP {
if let token = User.bearerToken { if let token = User.bearerToken {
headers["Authorization"] = "Bearer \(token)" headers["Authorization"] = "Bearer \(token)"
} }
if let authKey: String = UserDefaults.standard.value(forKey: "authKey") as? String {
headers["authKey"] = authKey
}
print(HOST_NAME + api)
print(headers)
print(type)
Alamofire.upload(multipartFormData: { (multipartFormData: MultipartFormData) in Alamofire.upload(multipartFormData: { (multipartFormData: MultipartFormData) in
...@@ -310,6 +335,7 @@ extension HTTP { ...@@ -310,6 +335,7 @@ extension HTTP {
case .success(let upload, _, _): case .success(let upload, _, _):
upload.responseJSON(completionHandler: { (dataResponse: DataResponse) in upload.responseJSON(completionHandler: { (dataResponse: DataResponse) in
do { do {
if let data = dataResponse.data { if let data = dataResponse.data {
if let arrayResponse = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions()) as? [[String: Any]] { if let arrayResponse = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions()) as? [[String: Any]] {
result(arrayResponse, nil) result(arrayResponse, nil)
......
...@@ -616,14 +616,14 @@ ...@@ -616,14 +616,14 @@
</userDefinedRuntimeAttribute> </userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes> </userDefinedRuntimeAttributes>
</view> </view>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="ezQ-U5-oO1"> <imageView hidden="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="ezQ-U5-oO1">
<rect key="frame" x="53" y="193" width="15" height="15"/> <rect key="frame" x="53" y="193" width="15" height="15"/>
<constraints> <constraints>
<constraint firstAttribute="width" constant="15" id="5gl-Ac-tD7"/> <constraint firstAttribute="width" constant="15" id="5gl-Ac-tD7"/>
<constraint firstAttribute="height" constant="15" id="xDC-bd-fQ4"/> <constraint firstAttribute="height" constant="15" id="xDC-bd-fQ4"/>
</constraints> </constraints>
</imageView> </imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zCh-an-KAU"> <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zCh-an-KAU">
<rect key="frame" x="71" y="184" width="128" height="34"/> <rect key="frame" x="71" y="184" width="128" height="34"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="34" id="1bF-Ga-12O"/> <constraint firstAttribute="height" constant="34" id="1bF-Ga-12O"/>
...@@ -728,7 +728,7 @@ ...@@ -728,7 +728,7 @@
<constraint firstAttribute="bottom" secondItem="r0e-ef-PUj" secondAttribute="bottom" constant="-1" id="wXq-0W-2YS"/> <constraint firstAttribute="bottom" secondItem="r0e-ef-PUj" secondAttribute="bottom" constant="-1" id="wXq-0W-2YS"/>
</constraints> </constraints>
</scrollView> </scrollView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="u1o-98-HT4"> <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="u1o-98-HT4">
<rect key="frame" x="8" y="436" width="359" height="211"/> <rect key="frame" x="8" y="436" width="359" height="211"/>
<subviews> <subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="wJF-Z0-5PM"> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="wJF-Z0-5PM">
......
...@@ -350,28 +350,6 @@ ...@@ -350,28 +350,6 @@
</userDefinedRuntimeAttribute> </userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes> </userDefinedRuntimeAttributes>
</textView> </textView>
<button opaque="NO" tag="2" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="aim-ke-KyC">
<rect key="frame" x="280" y="757" width="76" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="76" id="kcR-5W-C0c"/>
<constraint firstAttribute="height" constant="30" id="lGv-vH-2Od"/>
</constraints>
<state key="normal" title="Take Piture"/>
<connections>
<action selector="takePhotoWithBtn:" destination="zhu-Ue-WYE" eventType="touchUpInside" id="0oj-Cu-aAM"/>
</connections>
</button>
<button opaque="NO" tag="1" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ig9-fx-7WX">
<rect key="frame" x="280" y="619" width="76" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="76" id="hgA-CL-7kA"/>
<constraint firstAttribute="height" constant="30" id="xgB-GD-VW2"/>
</constraints>
<state key="normal" title="Take Piture"/>
<connections>
<action selector="takePhotoWithBtn:" destination="zhu-Ue-WYE" eventType="touchUpInside" id="4tE-1k-N6F"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="JU5-Fr-HgQ" customClass="DrawButton" customModule="Bhagyashree" customModuleProvider="target"> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="JU5-Fr-HgQ" customClass="DrawButton" customModule="Bhagyashree" customModuleProvider="target">
<rect key="frame" x="83" y="856" width="210" height="36"/> <rect key="frame" x="83" y="856" width="210" height="36"/>
<color key="backgroundColor" red="0.0" green="0.42745098040000001" blue="0.56078431370000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="backgroundColor" red="0.0" green="0.42745098040000001" blue="0.56078431370000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
...@@ -430,7 +408,6 @@ ...@@ -430,7 +408,6 @@
<constraint firstItem="CGG-SI-m0E" firstAttribute="top" secondItem="JU5-Fr-HgQ" secondAttribute="bottom" constant="14" id="IJs-xw-L2F"/> <constraint firstItem="CGG-SI-m0E" firstAttribute="top" secondItem="JU5-Fr-HgQ" secondAttribute="bottom" constant="14" id="IJs-xw-L2F"/>
<constraint firstItem="qUd-bh-MaQ" firstAttribute="top" secondItem="nCb-mZ-4Kn" secondAttribute="bottom" constant="21" id="IRt-G9-NTe"/> <constraint firstItem="qUd-bh-MaQ" firstAttribute="top" secondItem="nCb-mZ-4Kn" secondAttribute="bottom" constant="21" id="IRt-G9-NTe"/>
<constraint firstItem="ccy-UX-cXf" firstAttribute="top" secondItem="YHC-d9-7fJ" secondAttribute="bottom" constant="31" id="Jb8-2C-Qwk"/> <constraint firstItem="ccy-UX-cXf" firstAttribute="top" secondItem="YHC-d9-7fJ" secondAttribute="bottom" constant="31" id="Jb8-2C-Qwk"/>
<constraint firstAttribute="trailing" secondItem="ig9-fx-7WX" secondAttribute="trailing" constant="19" id="Jc2-Lm-sVt"/>
<constraint firstAttribute="trailing" secondItem="EuR-Ly-5IJ" secondAttribute="trailing" constant="8" id="LLH-HQ-ak5"/> <constraint firstAttribute="trailing" secondItem="EuR-Ly-5IJ" secondAttribute="trailing" constant="8" id="LLH-HQ-ak5"/>
<constraint firstItem="T0e-su-JX9" firstAttribute="leading" secondItem="gSe-e2-Qxw" secondAttribute="trailing" constant="6" id="Lb3-XJ-9sZ"/> <constraint firstItem="T0e-su-JX9" firstAttribute="leading" secondItem="gSe-e2-Qxw" secondAttribute="trailing" constant="6" id="Lb3-XJ-9sZ"/>
<constraint firstItem="7we-kl-2AX" firstAttribute="centerY" secondItem="nCb-mZ-4Kn" secondAttribute="centerY" id="Mwc-KI-iC8"/> <constraint firstItem="7we-kl-2AX" firstAttribute="centerY" secondItem="nCb-mZ-4Kn" secondAttribute="centerY" id="Mwc-KI-iC8"/>
...@@ -444,7 +421,6 @@ ...@@ -444,7 +421,6 @@
<constraint firstItem="gSe-e2-Qxw" firstAttribute="centerY" secondItem="H0L-nU-qbv" secondAttribute="centerY" id="XBe-tZ-8sJ"/> <constraint firstItem="gSe-e2-Qxw" firstAttribute="centerY" secondItem="H0L-nU-qbv" secondAttribute="centerY" id="XBe-tZ-8sJ"/>
<constraint firstAttribute="trailing" secondItem="QQT-o7-axf" secondAttribute="trailing" constant="7" id="Xvy-7S-tkn"/> <constraint firstAttribute="trailing" secondItem="QQT-o7-axf" secondAttribute="trailing" constant="7" id="Xvy-7S-tkn"/>
<constraint firstItem="t92-bJ-nme" firstAttribute="top" secondItem="qUd-bh-MaQ" secondAttribute="bottom" constant="35" id="YVp-XM-3xv"/> <constraint firstItem="t92-bJ-nme" firstAttribute="top" secondItem="qUd-bh-MaQ" secondAttribute="bottom" constant="35" id="YVp-XM-3xv"/>
<constraint firstItem="aim-ke-KyC" firstAttribute="top" secondItem="TXy-Qw-urq" secondAttribute="bottom" constant="54" id="acV-HA-OGm"/>
<constraint firstItem="RzE-WI-C5J" firstAttribute="leading" secondItem="7we-kl-2AX" secondAttribute="trailing" constant="5" id="bbe-fq-mBJ"/> <constraint firstItem="RzE-WI-C5J" firstAttribute="leading" secondItem="7we-kl-2AX" secondAttribute="trailing" constant="5" id="bbe-fq-mBJ"/>
<constraint firstItem="020-VN-qc4" firstAttribute="leading" secondItem="vHx-fe-nbC" secondAttribute="leading" constant="8" id="bgd-D3-rcB"/> <constraint firstItem="020-VN-qc4" firstAttribute="leading" secondItem="vHx-fe-nbC" secondAttribute="leading" constant="8" id="bgd-D3-rcB"/>
<constraint firstItem="YHC-d9-7fJ" firstAttribute="top" secondItem="t92-bJ-nme" secondAttribute="bottom" constant="8" id="dr1-Um-5gz"/> <constraint firstItem="YHC-d9-7fJ" firstAttribute="top" secondItem="t92-bJ-nme" secondAttribute="bottom" constant="8" id="dr1-Um-5gz"/>
...@@ -457,11 +433,9 @@ ...@@ -457,11 +433,9 @@
<constraint firstItem="EuR-Ly-5IJ" firstAttribute="top" secondItem="TXy-Qw-urq" secondAttribute="bottom" constant="8" id="kQz-95-MCn"/> <constraint firstItem="EuR-Ly-5IJ" firstAttribute="top" secondItem="TXy-Qw-urq" secondAttribute="bottom" constant="8" id="kQz-95-MCn"/>
<constraint firstItem="ccy-UX-cXf" firstAttribute="leading" secondItem="vHx-fe-nbC" secondAttribute="leading" constant="9" id="lnm-ma-NZ1"/> <constraint firstItem="ccy-UX-cXf" firstAttribute="leading" secondItem="vHx-fe-nbC" secondAttribute="leading" constant="9" id="lnm-ma-NZ1"/>
<constraint firstAttribute="trailing" secondItem="ccy-UX-cXf" secondAttribute="trailing" constant="8" id="mOq-A4-Ks4"/> <constraint firstAttribute="trailing" secondItem="ccy-UX-cXf" secondAttribute="trailing" constant="8" id="mOq-A4-Ks4"/>
<constraint firstItem="ig9-fx-7WX" firstAttribute="top" secondItem="Ywz-l1-Adc" secondAttribute="bottom" constant="3" id="mVY-MJ-XUS"/>
<constraint firstAttribute="trailing" secondItem="K1J-os-jv9" secondAttribute="trailing" constant="8" id="nV6-Da-sfD"/> <constraint firstAttribute="trailing" secondItem="K1J-os-jv9" secondAttribute="trailing" constant="8" id="nV6-Da-sfD"/>
<constraint firstItem="H0L-nU-qbv" firstAttribute="leading" secondItem="qUd-bh-MaQ" secondAttribute="trailing" constant="23" id="peZ-8I-syB"/> <constraint firstItem="H0L-nU-qbv" firstAttribute="leading" secondItem="qUd-bh-MaQ" secondAttribute="trailing" constant="23" id="peZ-8I-syB"/>
<constraint firstAttribute="height" constant="1000" id="rlm-VI-vg6"/> <constraint firstAttribute="height" constant="1000" id="rlm-VI-vg6"/>
<constraint firstAttribute="trailing" secondItem="aim-ke-KyC" secondAttribute="trailing" constant="19" id="rz7-Oz-FBa"/>
<constraint firstAttribute="trailing" secondItem="So9-hL-qh7" secondAttribute="trailing" constant="8" id="tF2-y5-JtX"/> <constraint firstAttribute="trailing" secondItem="So9-hL-qh7" secondAttribute="trailing" constant="8" id="tF2-y5-JtX"/>
<constraint firstItem="YHC-d9-7fJ" firstAttribute="leading" secondItem="vHx-fe-nbC" secondAttribute="leading" constant="8" id="w12-my-FJm"/> <constraint firstItem="YHC-d9-7fJ" firstAttribute="leading" secondItem="vHx-fe-nbC" secondAttribute="leading" constant="8" id="w12-my-FJm"/>
<constraint firstAttribute="trailing" secondItem="t92-bJ-nme" secondAttribute="trailing" constant="7" id="xaN-Zb-8yf"/> <constraint firstAttribute="trailing" secondItem="t92-bJ-nme" secondAttribute="trailing" constant="7" id="xaN-Zb-8yf"/>
......
...@@ -1490,7 +1490,7 @@ ...@@ -1490,7 +1490,7 @@
</userDefinedRuntimeAttribute> </userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes> </userDefinedRuntimeAttributes>
</view> </view>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="redraw" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="profile_image1" translatesAutoresizingMaskIntoConstraints="NO" id="Mgn-Bk-ZnK" customClass="DrawImage" customModule="Bhagyashree" customModuleProvider="target"> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="redraw" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Mgn-Bk-ZnK" customClass="DrawImage" customModule="Bhagyashree" customModuleProvider="target">
<rect key="frame" x="8" y="8" width="45" height="45"/> <rect key="frame" x="8" y="8" width="45" height="45"/>
<color key="backgroundColor" red="0.80000000000000004" green="0.80000000000000004" blue="0.80000000000000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="backgroundColor" red="0.80000000000000004" green="0.80000000000000004" blue="0.80000000000000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints> <constraints>
...@@ -1553,7 +1553,7 @@ ...@@ -1553,7 +1553,7 @@
</userDefinedRuntimeAttribute> </userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes> </userDefinedRuntimeAttributes>
</view> </view>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="redraw" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="profile_image1" translatesAutoresizingMaskIntoConstraints="NO" id="W3J-nz-ZzT" customClass="DrawImage" customModule="Bhagyashree" customModuleProvider="target"> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="redraw" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="W3J-nz-ZzT" customClass="DrawImage" customModule="Bhagyashree" customModuleProvider="target">
<rect key="frame" x="322" y="8" width="45" height="45"/> <rect key="frame" x="322" y="8" width="45" height="45"/>
<color key="backgroundColor" red="0.80000000000000004" green="0.80000000000000004" blue="0.80000000000000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="backgroundColor" red="0.80000000000000004" green="0.80000000000000004" blue="0.80000000000000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints> <constraints>
...@@ -1582,6 +1582,99 @@ ...@@ -1582,6 +1582,99 @@
<outlet property="lblMessage" destination="tho-QS-me4" id="WSI-Vg-6Ja"/> <outlet property="lblMessage" destination="tho-QS-me4" id="WSI-Vg-6Ja"/>
</connections> </connections>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" reuseIdentifier="customerAudio" rowHeight="61" id="o1g-bv-fBp" customClass="OnlineEnquiryCustomerAudioCell" customModule="Bhagyashree" customModuleProvider="target">
<rect key="frame" x="0.0" y="172" width="375" height="61"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="o1g-bv-fBp" id="fsO-Dn-hfR">
<rect key="frame" x="0.0" y="0.0" width="375" height="61"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="redraw" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="uUj-A8-ON8" customClass="DrawImage" customModule="Bhagyashree" customModuleProvider="target">
<rect key="frame" x="8" y="8" width="45" height="45"/>
<color key="backgroundColor" red="0.80000000000000004" green="0.80000000000000004" blue="0.80000000000000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="width" constant="45" id="aw4-MD-OxL"/>
<constraint firstAttribute="height" constant="45" id="hUZ-CW-Qt8"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="22.5"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Yv0-Ls-SuI">
<rect key="frame" x="69" y="8" width="45" height="45"/>
<constraints>
<constraint firstAttribute="width" constant="45" id="H2u-OT-Ea0"/>
<constraint firstAttribute="height" constant="45" id="WWu-VI-2Ku"/>
</constraints>
<state key="normal" title="play"/>
<connections>
<action selector="play" destination="o1g-bv-fBp" eventType="touchUpInside" id="Lr2-We-MK3"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="uUj-A8-ON8" firstAttribute="top" secondItem="fsO-Dn-hfR" secondAttribute="top" constant="8" id="ACl-fp-79Z"/>
<constraint firstItem="uUj-A8-ON8" firstAttribute="leading" secondItem="fsO-Dn-hfR" secondAttribute="leading" constant="8" id="CWW-To-llp"/>
<constraint firstItem="Yv0-Ls-SuI" firstAttribute="top" secondItem="fsO-Dn-hfR" secondAttribute="top" constant="8" id="RvO-Ap-0wm"/>
<constraint firstItem="Yv0-Ls-SuI" firstAttribute="leading" secondItem="uUj-A8-ON8" secondAttribute="trailing" constant="16" id="Vkm-rq-IG4"/>
<constraint firstAttribute="bottom" secondItem="uUj-A8-ON8" secondAttribute="bottom" constant="8" id="c6Y-zW-VFJ"/>
<constraint firstAttribute="bottom" secondItem="Yv0-Ls-SuI" secondAttribute="bottom" constant="8" id="sr5-7J-OjO"/>
</constraints>
</tableViewCellContentView>
<connections>
<outlet property="btnPlay" destination="Yv0-Ls-SuI" id="z8X-dt-3hz"/>
<outlet property="imgCostomer" destination="uUj-A8-ON8" id="aB2-uK-84T"/>
</connections>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" reuseIdentifier="masterAudio" rowHeight="61" id="Jpr-96-NaU" customClass="OnlineEnquiryMasterAudioCell" customModule="Bhagyashree" customModuleProvider="target">
<rect key="frame" x="0.0" y="233" width="375" height="61"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Jpr-96-NaU" id="96A-xb-nLp">
<rect key="frame" x="0.0" y="0.0" width="375" height="61"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="redraw" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="ZeJ-0C-KBp" customClass="DrawImage" customModule="Bhagyashree" customModuleProvider="target">
<rect key="frame" x="322" y="8" width="45" height="45"/>
<color key="backgroundColor" red="0.80000000000000004" green="0.80000000000000004" blue="0.80000000000000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="45" id="Giy-8a-es5"/>
<constraint firstAttribute="width" constant="45" id="Yly-eu-xGE"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="22.5"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5iO-aw-rRo">
<rect key="frame" x="263" y="8" width="45" height="45"/>
<constraints>
<constraint firstAttribute="width" constant="45" id="Gms-nh-Jxy"/>
<constraint firstAttribute="height" constant="45" id="bsn-Ba-jPA"/>
</constraints>
<state key="normal" title="play"/>
<connections>
<action selector="play" destination="Jpr-96-NaU" eventType="touchUpInside" id="Nmf-Xb-Pzo"/>
</connections>
</button>
</subviews>
<constraints>
<constraint firstAttribute="bottom" secondItem="5iO-aw-rRo" secondAttribute="bottom" constant="8" id="bP6-zU-bwU"/>
<constraint firstItem="ZeJ-0C-KBp" firstAttribute="top" secondItem="96A-xb-nLp" secondAttribute="top" constant="8" id="d4a-5t-a75"/>
<constraint firstAttribute="trailing" secondItem="ZeJ-0C-KBp" secondAttribute="trailing" constant="8" id="mf8-Bv-nNA"/>
<constraint firstItem="5iO-aw-rRo" firstAttribute="top" secondItem="96A-xb-nLp" secondAttribute="top" constant="8" id="pYe-iX-lDR"/>
<constraint firstAttribute="bottom" secondItem="ZeJ-0C-KBp" secondAttribute="bottom" constant="8" id="rIJ-dG-LgZ"/>
<constraint firstItem="ZeJ-0C-KBp" firstAttribute="leading" secondItem="5iO-aw-rRo" secondAttribute="trailing" constant="14" id="uKK-LI-YYn"/>
</constraints>
</tableViewCellContentView>
<connections>
<outlet property="btnPlay" destination="5iO-aw-rRo" id="opK-LU-VAH"/>
<outlet property="imgMaster" destination="ZeJ-0C-KBp" id="WUH-Pj-W2C"/>
</connections>
</tableViewCell>
</prototypes> </prototypes>
<connections> <connections>
<outlet property="dataSource" destination="Psj-7u-2hR" id="uUJ-UY-a35"/> <outlet property="dataSource" destination="Psj-7u-2hR" id="uUJ-UY-a35"/>
...@@ -1605,6 +1698,10 @@ ...@@ -1605,6 +1698,10 @@
<constraint firstAttribute="width" constant="30" id="u9Q-h8-dBL"/> <constraint firstAttribute="width" constant="30" id="u9Q-h8-dBL"/>
</constraints> </constraints>
<state key="normal" image="speech"/> <state key="normal" image="speech"/>
<connections>
<action selector="endRecordAudio" destination="Psj-7u-2hR" eventType="touchUpInside" id="COx-x0-XIp"/>
<action selector="startRecordAudio" destination="Psj-7u-2hR" eventType="touchDown" id="hr3-ci-S7i"/>
</connections>
</button> </button>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="aYB-vl-13h"> <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="aYB-vl-13h">
<rect key="frame" x="47" y="4" width="264" height="37"/> <rect key="frame" x="47" y="4" width="264" height="37"/>
...@@ -1723,7 +1820,6 @@ ...@@ -1723,7 +1820,6 @@
<image name="home" width="25" height="25"/> <image name="home" width="25" height="25"/>
<image name="placeholder" width="140" height="144"/> <image name="placeholder" width="140" height="144"/>
<image name="profile_icon" width="120" height="120"/> <image name="profile_icon" width="120" height="120"/>
<image name="profile_image1" width="160" height="160"/>
<image name="shadow" width="720" height="10"/> <image name="shadow" width="720" height="10"/>
<image name="speech" width="64" height="64"/> <image name="speech" width="64" height="64"/>
<image name="tbc" width="50" height="50"/> <image name="tbc" width="50" height="50"/>
......
...@@ -1764,7 +1764,10 @@ ...@@ -1764,7 +1764,10 @@
<rect key="frame" x="46" y="6" width="269" height="30"/> <rect key="frame" x="46" y="6" width="269" height="30"/>
<nil key="textColor"/> <nil key="textColor"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/> <fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits" returnKeyType="done" secureTextEntry="YES"/> <textInputTraits key="textInputTraits" returnKeyType="next" secureTextEntry="YES"/>
<connections>
<outlet property="delegate" destination="17r-tI-H77" id="MzH-tj-cGF"/>
</connections>
</textField> </textField>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="security_icon" translatesAutoresizingMaskIntoConstraints="NO" id="4qQ-Ft-8gD"> <imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="security_icon" translatesAutoresizingMaskIntoConstraints="NO" id="4qQ-Ft-8gD">
<rect key="frame" x="13" y="10" width="20" height="20"/> <rect key="frame" x="13" y="10" width="20" height="20"/>
...@@ -1805,7 +1808,10 @@ ...@@ -1805,7 +1808,10 @@
<rect key="frame" x="46" y="6" width="269" height="30"/> <rect key="frame" x="46" y="6" width="269" height="30"/>
<nil key="textColor"/> <nil key="textColor"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/> <fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits" returnKeyType="done" secureTextEntry="YES"/> <textInputTraits key="textInputTraits" returnKeyType="next" secureTextEntry="YES"/>
<connections>
<outlet property="delegate" destination="17r-tI-H77" id="fVk-S7-5zG"/>
</connections>
</textField> </textField>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="security_icon" translatesAutoresizingMaskIntoConstraints="NO" id="DGK-rD-8vn"> <imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="security_icon" translatesAutoresizingMaskIntoConstraints="NO" id="DGK-rD-8vn">
<rect key="frame" x="13" y="10" width="20" height="20"/> <rect key="frame" x="13" y="10" width="20" height="20"/>
...@@ -1847,6 +1853,9 @@ ...@@ -1847,6 +1853,9 @@
<nil key="textColor"/> <nil key="textColor"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/> <fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits" returnKeyType="done" secureTextEntry="YES"/> <textInputTraits key="textInputTraits" returnKeyType="done" secureTextEntry="YES"/>
<connections>
<outlet property="delegate" destination="17r-tI-H77" id="yMm-tK-8qQ"/>
</connections>
</textField> </textField>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jJb-Hn-AJy"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jJb-Hn-AJy">
<rect key="frame" x="0.0" y="43" width="318" height="0.5"/> <rect key="frame" x="0.0" y="43" width="318" height="0.5"/>
...@@ -1880,10 +1889,13 @@ ...@@ -1880,10 +1889,13 @@
<constraint firstItem="jJb-Hn-AJy" firstAttribute="top" secondItem="VFb-zZ-plw" secondAttribute="bottom" constant="8" id="qFU-ZW-PIJ"/> <constraint firstItem="jJb-Hn-AJy" firstAttribute="top" secondItem="VFb-zZ-plw" secondAttribute="bottom" constant="8" id="qFU-ZW-PIJ"/>
</constraints> </constraints>
</view> </view>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="2RO-1S-qkH" customClass="DrawButton" customModule="Bhagyashree" customModuleProvider="target"> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="2RO-1S-qkH" customClass="DrawButton" customModule="Bhagyashree" customModuleProvider="target">
<rect key="frame" x="82" y="292" width="210" height="36"/> <rect key="frame" x="82" y="292" width="210" height="33"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" red="0.0" green="0.42745098040000001" blue="0.56078431370000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="backgroundColor" red="0.0" green="0.42745098040000001" blue="0.56078431370000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="33" id="hri-F0-Xao"/>
<constraint firstAttribute="width" constant="210" id="tJC-QT-U6Q"/>
</constraints>
<fontDescription key="fontDescription" type="system" weight="semibold" pointSize="14"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="14"/>
<state key="normal" title="Confirm"> <state key="normal" title="Confirm">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
...@@ -1906,6 +1918,8 @@ ...@@ -1906,6 +1918,8 @@
<constraint firstItem="Alg-cj-2sN" firstAttribute="leading" secondItem="kfl-7B-O6b" secondAttribute="leading" id="J9S-Sm-Akz"/> <constraint firstItem="Alg-cj-2sN" firstAttribute="leading" secondItem="kfl-7B-O6b" secondAttribute="leading" id="J9S-Sm-Akz"/>
<constraint firstItem="Alg-cj-2sN" firstAttribute="top" secondItem="1dz-b6-rdD" secondAttribute="top" id="TPC-xE-8xn"/> <constraint firstItem="Alg-cj-2sN" firstAttribute="top" secondItem="1dz-b6-rdD" secondAttribute="top" id="TPC-xE-8xn"/>
<constraint firstItem="jxe-cD-47o" firstAttribute="leading" secondItem="kfl-7B-O6b" secondAttribute="leading" constant="28" id="V7a-7G-J0M"/> <constraint firstItem="jxe-cD-47o" firstAttribute="leading" secondItem="kfl-7B-O6b" secondAttribute="leading" constant="28" id="V7a-7G-J0M"/>
<constraint firstItem="2RO-1S-qkH" firstAttribute="top" secondItem="jxe-cD-47o" secondAttribute="bottom" constant="40" id="ZuD-ey-pqa"/>
<constraint firstItem="2RO-1S-qkH" firstAttribute="centerX" secondItem="kfl-7B-O6b" secondAttribute="centerX" id="dxc-Wx-Rfp"/>
<constraint firstItem="IR0-vK-Y6y" firstAttribute="top" secondItem="Alg-cj-2sN" secondAttribute="bottom" constant="45" id="eIg-qR-eWo"/> <constraint firstItem="IR0-vK-Y6y" firstAttribute="top" secondItem="Alg-cj-2sN" secondAttribute="bottom" constant="45" id="eIg-qR-eWo"/>
<constraint firstItem="Alg-cj-2sN" firstAttribute="trailing" secondItem="kfl-7B-O6b" secondAttribute="trailing" id="igz-9j-Xhe"/> <constraint firstItem="Alg-cj-2sN" firstAttribute="trailing" secondItem="kfl-7B-O6b" secondAttribute="trailing" id="igz-9j-Xhe"/>
<constraint firstItem="kfl-7B-O6b" firstAttribute="trailing" secondItem="IR0-vK-Y6y" secondAttribute="trailing" constant="29" id="mRd-ip-QEE"/> <constraint firstItem="kfl-7B-O6b" firstAttribute="trailing" secondItem="IR0-vK-Y6y" secondAttribute="trailing" constant="29" id="mRd-ip-QEE"/>
...@@ -1923,7 +1937,7 @@ ...@@ -1923,7 +1937,7 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Bd5-Ua-F52" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="Bd5-Ua-F52" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="3481" y="-3018"/> <point key="canvasLocation" x="3480.8000000000002" y="-3018.440779610195"/>
</scene> </scene>
<!--Me--> <!--Me-->
<scene sceneID="ijl-tU-9Jj"> <scene sceneID="ijl-tU-9Jj">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment