forked from mirrors/linphone-iphone
Revert "UI changes in conversation view"
This reverts commit 9741c844f2.
This commit is contained in:
parent
2789c59c6b
commit
194ddcabf8
4 changed files with 47 additions and 129 deletions
|
|
@ -476,7 +476,7 @@ class ChatConversationTableViewSwift: UIViewController, UICollectionViewDataSour
|
|||
|
||||
func replyMessage(message: ChatMessage){
|
||||
let view: ChatConversationViewSwift = self.VIEW(ChatConversationViewSwift.compositeViewDescription())
|
||||
if (view.messageView.messageText.textColor == UIColor.lightGray && view.stackView.arrangedSubviews[3].isHidden && view.stackView.arrangedSubviews[4].isHidden){
|
||||
if (view.messageView.messageText.text == "" && view.stackView.arrangedSubviews[3].isHidden && view.stackView.arrangedSubviews[4].isHidden){
|
||||
view.messageView.messageText.becomeFirstResponder()
|
||||
}
|
||||
view.initiateReplyView(forMessage: message.getCobject)
|
||||
|
|
|
|||
|
|
@ -792,9 +792,7 @@ class ChatConversationViewSwift: BackActionsNavigationView, PHPickerViewControll
|
|||
|
||||
func sendMessageInMessageField(rootMessage: ChatMessage?) {
|
||||
if ChatConversationViewModel.sharedModel.sendMessage(message: messageView.messageText.text.trimmingCharacters(in: .whitespacesAndNewlines), withExterlBodyUrl: nil, rootMessage: rootMessage) {
|
||||
//messageView.messageText.textColor = UIColor.lightGray
|
||||
messageView.messageText.text = ""
|
||||
messageView.emojisButton.isHidden = false
|
||||
messageView.isComposing = false
|
||||
}
|
||||
}
|
||||
|
|
@ -814,7 +812,7 @@ class ChatConversationViewSwift: BackActionsNavigationView, PHPickerViewControll
|
|||
if (linphone_chat_room_get_capabilities(ChatConversationViewModel.sharedModel.chatRoom?.getCobject) != 0) && conference {
|
||||
linphone_chat_message_add_content(rootMessage, voiceContent)
|
||||
}else{
|
||||
if messageView.messageText.textColor != UIColor.lightGray {
|
||||
if messageView.messageText.text != "" {
|
||||
let rootMessageText = !replyBubble.isHidden ? linphone_chat_room_create_reply_message(ChatConversationViewModel.sharedModel.chatRoom?.getCobject, ChatConversationViewModel.sharedModel.replyMessage) : linphone_chat_room_create_empty_message(ChatConversationViewModel.sharedModel.chatRoom?.getCobject)
|
||||
let result = ChatMessage.getSwiftObject(cObject: rootMessageText!)
|
||||
sendMessageInMessageField(rootMessage: result)
|
||||
|
|
@ -834,7 +832,7 @@ class ChatConversationViewSwift: BackActionsNavigationView, PHPickerViewControll
|
|||
for i in 0..<(ChatConversationViewModel.sharedModel.fileContext.count) {
|
||||
startUploadData(ChatConversationViewModel.sharedModel.fileContext[i], withType: FileType.init(ChatConversationViewModel.sharedModel.mediaURLCollection[i].pathExtension)?.getGroupTypeFromFile(), withName: ChatConversationViewModel.sharedModel.mediaURLCollection[i].lastPathComponent, andMessage: nil, rootMessage: nil)
|
||||
}
|
||||
if messageView.messageText.textColor != UIColor.lightGray {
|
||||
if messageView.messageText.text != "" {
|
||||
let result = ChatMessage.getSwiftObject(cObject: rootMessage!)
|
||||
sendMessageInMessageField(rootMessage: result)
|
||||
}
|
||||
|
|
@ -864,21 +862,9 @@ class ChatConversationViewSwift: BackActionsNavigationView, PHPickerViewControll
|
|||
|
||||
func startMultiFilesUpload(_ rootMessage: ChatMessage?) -> Bool {
|
||||
let fileTransfer = FileTransferDelegate()
|
||||
if messageView.messageText.textColor != UIColor.lightGray {
|
||||
fileTransfer.text = messageView.messageText.text
|
||||
} else {
|
||||
fileTransfer.text = ""
|
||||
}
|
||||
fileTransfer.text = messageView.messageText.text
|
||||
fileTransfer.uploadFileContent(forSwift: ChatConversationViewModel.sharedModel.fileContext, urlList: ChatConversationViewModel.sharedModel.mediaURLCollection, for: ChatConversationViewModel.sharedModel.chatRoom?.getCobject, rootMessage: rootMessage?.getCobject)
|
||||
if fileTransfer.text.isEmpty {
|
||||
messageView.messageText.textColor = UIColor.lightGray
|
||||
messageView.messageText.text = "Message"
|
||||
messageView.emojisButton.isHidden = false
|
||||
} else {
|
||||
messageView.messageText.text = ""
|
||||
messageView.emojisButton.isHidden = false
|
||||
}
|
||||
|
||||
messageView.messageText.text = ""
|
||||
tableControllerSwift.refreshData(isOutgoing: true)
|
||||
return true
|
||||
}
|
||||
|
|
@ -1374,7 +1360,7 @@ class ChatConversationViewSwift: BackActionsNavigationView, PHPickerViewControll
|
|||
sheet!.addButton(
|
||||
withTitle: NSLocalizedString("Send to this conversation", comment: "")) { [self] in
|
||||
do{
|
||||
if messageView.messageText.textColor != UIColor.lightGray {
|
||||
if messageView.messageText.text != "" {
|
||||
try sendMessageInMessageField(rootMessage: ChatConversationViewModel.sharedModel.chatRoom?.createEmptyMessage())
|
||||
}
|
||||
if let sUrl = url {
|
||||
|
|
@ -1445,12 +1431,7 @@ class ChatConversationViewSwift: BackActionsNavigationView, PHPickerViewControll
|
|||
}
|
||||
|
||||
func didGetEmoji(emoji: String) {
|
||||
if messageView.messageText.textColor != UIColor.lightGray {
|
||||
messageView.messageText.text = messageView.messageText.text + emoji
|
||||
} else {
|
||||
messageView.messageText.textColor = UIColor.black
|
||||
messageView.messageText.text = emoji
|
||||
}
|
||||
messageView.messageText.text = messageView.messageText.text + emoji
|
||||
}
|
||||
|
||||
func startVoiceRecording() {
|
||||
|
|
|
|||
|
|
@ -82,9 +82,7 @@ class MessageView: UIView, UITextViewDelegate {
|
|||
messageText.matchParentHeight().alignParentLeft().alignParentRight(withMargin: 40).done()
|
||||
messageText.font = UIFont.systemFont(ofSize: 18)
|
||||
messageText.delegate = self
|
||||
messageText.textColor = UIColor.lightGray
|
||||
messageText.text = "Message"
|
||||
messageText.inputAccessoryView = UIView()
|
||||
|
||||
messageWithEmojiView.addArrangedSubview(emojisButton)
|
||||
emojisButton.alignParentRight().matchParentHeight().done()
|
||||
|
||||
|
|
@ -95,59 +93,43 @@ class MessageView: UIView, UITextViewDelegate {
|
|||
}
|
||||
|
||||
func textViewDidChangeSelection(_ textView: UITextView) {
|
||||
if messageText.textColor != UIColor.lightGray {
|
||||
let chatRoom = ChatRoom.getSwiftObject(cObject: PhoneMainView.instance().currentRoom)
|
||||
if ((messageText.text.isEmpty && !fileContext) || isLoading) {
|
||||
sendButton.isEnabled = false
|
||||
emojisButton.isHidden = false
|
||||
NotificationCenter.default.post(name: Notification.Name("LinphoneResetTextViewSize"), object: self)
|
||||
lastNumLines = 0
|
||||
} else {
|
||||
if (messageText.text.trimmingCharacters(in: .whitespacesAndNewlines).unicodeScalars.first?.properties.isEmojiPresentation == true){
|
||||
var onlyEmojis = true
|
||||
messageText.text.trimmingCharacters(in: .whitespacesAndNewlines).unicodeScalars.forEach { emoji in
|
||||
if !emoji.properties.isEmojiPresentation && !emoji.properties.isWhitespace{
|
||||
onlyEmojis = false
|
||||
}
|
||||
}
|
||||
if onlyEmojis {
|
||||
emojisButton.isHidden = false
|
||||
} else {
|
||||
emojisButton.isHidden = true
|
||||
let chatRoom = ChatRoom.getSwiftObject(cObject: PhoneMainView.instance().currentRoom)
|
||||
if ((messageText.text.isEmpty && !fileContext) || isLoading) {
|
||||
sendButton.isEnabled = false
|
||||
emojisButton.isHidden = false
|
||||
NotificationCenter.default.post(name: Notification.Name("LinphoneResetTextViewSize"), object: self)
|
||||
lastNumLines = 0
|
||||
} else {
|
||||
if (messageText.text.trimmingCharacters(in: .whitespacesAndNewlines).unicodeScalars.first?.properties.isEmojiPresentation == true){
|
||||
var onlyEmojis = true
|
||||
messageText.text.trimmingCharacters(in: .whitespacesAndNewlines).unicodeScalars.forEach { emoji in
|
||||
if !emoji.properties.isEmojiPresentation && !emoji.properties.isWhitespace{
|
||||
onlyEmojis = false
|
||||
}
|
||||
}
|
||||
if onlyEmojis {
|
||||
emojisButton.isHidden = false
|
||||
} else {
|
||||
emojisButton.isHidden = true
|
||||
}
|
||||
if !isComposing {
|
||||
chatRoom.compose()
|
||||
let timer = Timer.scheduledTimer(withTimeInterval: 10.0, repeats: false) { timer in
|
||||
self.isComposing = false
|
||||
}
|
||||
}
|
||||
isComposing = true
|
||||
|
||||
sendButton.isEnabled = true
|
||||
|
||||
let numLines = (messageText.contentSize.height / messageText.font!.lineHeight)
|
||||
if(Int(numLines) != Int(lastNumLines)){
|
||||
NotificationCenter.default.post(name: Notification.Name("LinphoneTextViewSize"), object: self)
|
||||
}
|
||||
lastNumLines = numLines
|
||||
} else {
|
||||
emojisButton.isHidden = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func textViewDidBeginEditing(_ textView: UITextView) {
|
||||
if messageText.textColor == UIColor.lightGray {
|
||||
messageText.text = nil
|
||||
messageText.textColor = UIColor.black
|
||||
}
|
||||
}
|
||||
|
||||
func textViewDidEndEditing(_ textView: UITextView) {
|
||||
if messageText.text.isEmpty {
|
||||
messageText.textColor = UIColor.lightGray
|
||||
messageText.text = "Message"
|
||||
if !isComposing {
|
||||
chatRoom.compose()
|
||||
let timer = Timer.scheduledTimer(withTimeInterval: 10.0, repeats: false) { timer in
|
||||
self.isComposing = false
|
||||
}
|
||||
}
|
||||
isComposing = true
|
||||
|
||||
sendButton.isEnabled = true
|
||||
|
||||
let numLines = (messageText.contentSize.height / messageText.font!.lineHeight)
|
||||
if(Int(numLines) != Int(lastNumLines)){
|
||||
NotificationCenter.default.post(name: Notification.Name("LinphoneTextViewSize"), object: self)
|
||||
}
|
||||
lastNumLines = numLines
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@ class BackActionsNavigationView: UIViewController {
|
|||
|
||||
|
||||
let top_bar_height = 66.0
|
||||
var message_height = 66.0
|
||||
let side_buttons_margin = 5
|
||||
|
||||
let titleLabel = StyledLabel(VoipTheme.chat_conversation_title)
|
||||
|
|
@ -158,8 +157,6 @@ class BackActionsNavigationView: UIViewController {
|
|||
|
||||
super.viewDidLoad()
|
||||
|
||||
view.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get()
|
||||
|
||||
stackView.axis = .vertical;
|
||||
stackView.distribution = .fill;
|
||||
stackView.alignment = .center;
|
||||
|
|
@ -169,12 +166,7 @@ class BackActionsNavigationView: UIViewController {
|
|||
view.addSubview(stackView)
|
||||
|
||||
//stackView.alignParentTop().alignParentBottom().matchParentSideBorders().done()
|
||||
let keyWindow = UIApplication.shared.windows.filter {$0.isKeyWindow}.first
|
||||
if keyWindow != nil {
|
||||
stackView.alignParentTop().alignParentBottom(withMargin: keyWindow!.safeAreaInsets.top/3).done()
|
||||
}else{
|
||||
stackView.alignParentTop().alignParentBottom().done()
|
||||
}
|
||||
stackView.alignParentTop().alignParentBottom().done()
|
||||
stackView.leftAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leftAnchor).isActive = true
|
||||
stackView.rightAnchor.constraint(equalTo: view.safeAreaLayoutGuide.rightAnchor).isActive = true
|
||||
|
||||
|
|
@ -248,11 +240,7 @@ class BackActionsNavigationView: UIViewController {
|
|||
mediaSelector.isHidden = true
|
||||
|
||||
stackView.addArrangedSubview(messageView)
|
||||
if keyWindow != nil {
|
||||
message_height = 66 - ((keyWindow!.safeAreaInsets.top/3)/2)
|
||||
}
|
||||
|
||||
messageView.alignParentBottom().height(message_height).matchParentSideBorders().done()
|
||||
messageView.alignParentBottom().height(66).matchParentSideBorders().done()
|
||||
|
||||
stackView.translatesAutoresizingMaskIntoConstraints = false;
|
||||
view.addSubview(stackView)
|
||||
|
|
@ -276,8 +264,6 @@ class BackActionsNavigationView: UIViewController {
|
|||
|
||||
view.bringSubviewToFront(topBar)
|
||||
|
||||
self.dismissKeyboard()
|
||||
|
||||
UIDeviceBridge.displayModeSwitched.readCurrentAndObserve { _ in
|
||||
self.topBar.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get()
|
||||
self.titleParticipants.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get()
|
||||
|
|
@ -292,8 +278,6 @@ class BackActionsNavigationView: UIViewController {
|
|||
NotificationCenter.default.addObserver(self, selector: #selector(self.rotated), name: UIDevice.orientationDidChangeNotification, object: nil)
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(self.changeSizeOfTextView), name: Notification.Name("LinphoneTextViewSize"), object: nil)
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(self.resetSizeOfTextView), name: Notification.Name("LinphoneResetTextViewSize"), object: nil)
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow), name: UIResponder.keyboardWillShowNotification, object: nil)
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide), name: UIResponder.keyboardWillHideNotification, object: nil)
|
||||
}
|
||||
|
||||
func resetRecordingProgressBar(){
|
||||
|
|
@ -417,44 +401,15 @@ class BackActionsNavigationView: UIViewController {
|
|||
|
||||
@objc func changeSizeOfTextView(){
|
||||
let numLines = (messageView.messageText.contentSize.height / messageView.messageText.font!.lineHeight)
|
||||
if numLines >= 2 && numLines <= 6 {
|
||||
messageView.setHeight((message_height * numLines)/2)
|
||||
} else if numLines < 2 {
|
||||
messageView.setHeight(message_height)
|
||||
if numLines >= 3 && numLines <= 6 {
|
||||
messageView.setHeight(33*numLines - 33)
|
||||
} else if numLines < 3 {
|
||||
messageView.setHeight(66)
|
||||
}
|
||||
}
|
||||
|
||||
@objc func resetSizeOfTextView(){
|
||||
messageView.setHeight(message_height)
|
||||
}
|
||||
|
||||
func dismissKeyboard() {
|
||||
let tap: UITapGestureRecognizer = UITapGestureRecognizer( target: self, action: #selector(self.dismissKeyboardTouchOutside))
|
||||
tap.cancelsTouchesInView = false
|
||||
view.addGestureRecognizer(tap)
|
||||
}
|
||||
|
||||
@objc private func dismissKeyboardTouchOutside() {
|
||||
view.endEditing(true)
|
||||
}
|
||||
|
||||
@objc func keyboardWillShow(notification: NSNotification) {
|
||||
if let keyboardSize = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue {
|
||||
if topBar.frame.origin.y == 0 {
|
||||
let keyWindow = UIApplication.shared.windows.filter {$0.isKeyWindow}.first
|
||||
if keyWindow != nil {
|
||||
topBar.frame.origin.y += keyboardSize.height - keyWindow!.safeAreaInsets.top/3
|
||||
}else{
|
||||
topBar.frame.origin.y += keyboardSize.height
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@objc func keyboardWillHide(notification: NSNotification) {
|
||||
if topBar.frame.origin.y != 0 {
|
||||
topBar.frame.origin.y = 0
|
||||
}
|
||||
messageView.setHeight(66)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue