|
@@ -30,6 +30,11 @@ extension ChatViewController: MediaPickerDelegate {
|
|
func onVoiceMessageRecorded(url: NSURL) {
|
|
func onVoiceMessageRecorded(url: NSURL) {
|
|
sendVoiceMessage(url: url)
|
|
sendVoiceMessage(url: url)
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ func onDocumentSelected(url: NSURL) {
|
|
|
|
+ sendDocumentMessage(url: url)
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
class ChatViewController: MessagesViewController {
|
|
class ChatViewController: MessagesViewController {
|
|
@@ -883,6 +888,14 @@ extension ChatViewController: MessagesDataSource {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private func sendDocumentMessage(url: NSURL) {
|
|
|
|
+ DispatchQueue.global().async {
|
|
|
|
+ let msg = DcMsg(viewType: DC_MSG_FILE)
|
|
|
|
+ msg.setFile(filepath: url.relativePath, mimeType: nil)
|
|
|
|
+ msg.sendInChat(id: self.chatId)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
private func sendVoiceMessage(url: NSURL) {
|
|
private func sendVoiceMessage(url: NSURL) {
|
|
DispatchQueue.global().async {
|
|
DispatchQueue.global().async {
|
|
let msg = DcMsg(viewType: DC_MSG_VOICE)
|
|
let msg = DcMsg(viewType: DC_MSG_VOICE)
|
|
@@ -1047,15 +1060,21 @@ extension ChatViewController: MessagesLayoutDelegate {
|
|
let alert = UIAlertController(title: nil, message: nil, preferredStyle: .safeActionSheet)
|
|
let alert = UIAlertController(title: nil, message: nil, preferredStyle: .safeActionSheet)
|
|
let galleryAction = PhotoPickerAlertAction(title: String.localized("gallery"), style: .default, handler: galleryButtonPressed(_:))
|
|
let galleryAction = PhotoPickerAlertAction(title: String.localized("gallery"), style: .default, handler: galleryButtonPressed(_:))
|
|
let cameraAction = PhotoPickerAlertAction(title: String.localized("camera"), style: .default, handler: cameraButtonPressed(_:))
|
|
let cameraAction = PhotoPickerAlertAction(title: String.localized("camera"), style: .default, handler: cameraButtonPressed(_:))
|
|
|
|
+ let documentAction = UIAlertAction(title: String.localized("documents"), style: .default, handler: documentActionPressed(_:))
|
|
let voiceMessageAction = UIAlertAction(title: String.localized("voice_message"), style: .default, handler: voiceMessageButtonPressed(_:))
|
|
let voiceMessageAction = UIAlertAction(title: String.localized("voice_message"), style: .default, handler: voiceMessageButtonPressed(_:))
|
|
|
|
|
|
alert.addAction(cameraAction)
|
|
alert.addAction(cameraAction)
|
|
alert.addAction(galleryAction)
|
|
alert.addAction(galleryAction)
|
|
|
|
+ alert.addAction(documentAction)
|
|
alert.addAction(voiceMessageAction)
|
|
alert.addAction(voiceMessageAction)
|
|
alert.addAction(UIAlertAction(title: String.localized("cancel"), style: .cancel, handler: nil))
|
|
alert.addAction(UIAlertAction(title: String.localized("cancel"), style: .cancel, handler: nil))
|
|
self.present(alert, animated: true, completion: nil)
|
|
self.present(alert, animated: true, completion: nil)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private func documentActionPressed(_ action: UIAlertAction) {
|
|
|
|
+ coordinator?.showDocumentLibrary(delegate: self)
|
|
|
|
+ }
|
|
|
|
+
|
|
private func voiceMessageButtonPressed(_ action: UIAlertAction) {
|
|
private func voiceMessageButtonPressed(_ action: UIAlertAction) {
|
|
coordinator?.showVoiceMessageRecorder(delegate: self)
|
|
coordinator?.showVoiceMessageRecorder(delegate: self)
|
|
}
|
|
}
|