From b7d645bb74602f11d74ed5485cffa03f39e74c72 Mon Sep 17 00:00:00 2001 From: "benoit.martins" Date: Thu, 1 Jun 2023 00:07:29 +0200 Subject: [PATCH] Add emojis picker --- .../Views/ChatConversationViewSwift.swift | 7 +++++++ Classes/Swift/Chat/Views/MessageView.swift | 20 ++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/Classes/Swift/Chat/Views/ChatConversationViewSwift.swift b/Classes/Swift/Chat/Views/ChatConversationViewSwift.swift index a3440403e..8ef643685 100644 --- a/Classes/Swift/Chat/Views/ChatConversationViewSwift.swift +++ b/Classes/Swift/Chat/Views/ChatConversationViewSwift.swift @@ -1338,6 +1338,7 @@ class ChatConversationViewSwift: BackActionsNavigationView, PHPickerViewControll } func onVrStart() { + /* self.recordingWaveImageMask.isHidden = false recordingWaveView.progress = 0.0 recordingWaveView.setProgress(recordingWaveView.progress, animated: false) @@ -1347,6 +1348,12 @@ class ChatConversationViewSwift: BackActionsNavigationView, PHPickerViewControll } else { startVoiceRecording() } + */ + + messageView.messageText.emojiPIcker = true + messageView.messageText.becomeFirstResponder() + //messageView.messageText.emojiPIcker = false + } func startVoiceRecording() { diff --git a/Classes/Swift/Chat/Views/MessageView.swift b/Classes/Swift/Chat/Views/MessageView.swift index 901ae7f8f..fb725b70c 100644 --- a/Classes/Swift/Chat/Views/MessageView.swift +++ b/Classes/Swift/Chat/Views/MessageView.swift @@ -33,7 +33,7 @@ class MessageView: UIView, UITextViewDelegate { let voiceRecordButton = CallControlButton(buttonTheme:VoipTheme.nav_button("vr_off")) let sendButton = CallControlButton(buttonTheme:VoipTheme.nav_button("")) let messageTextView = UIView() - let messageText = UITextView() + let messageText = EmojiTextField() let ephemeralIndicator = UIImageView(image: UIImage(named: "ephemeral_messages_color_A.png")) var fileContext = false var isComposing = false @@ -106,3 +106,21 @@ class MessageView: UIView, UITextViewDelegate { } } } + +class EmojiTextField: UITextView { + var emojiPIcker = false + + // required for iOS 13 + override var textInputContextIdentifier: String? { "" } // return non-nil to show the Emoji keyboard ¯\_(ツ)_/¯ + + override var textInputMode: UITextInputMode? { + for mode in UITextInputMode.activeInputModes { + if !emojiPIcker { + return mode + } else if mode.primaryLanguage == "emoji" { + return mode + } + } + return nil + } +}