Skip to content

Commit 3da70e4

Browse files
authored
Merge pull request #59 from zjc19891106/main
callkit change
2 parents 2462d27 + 6be7c5e commit 3da70e4

File tree

8 files changed

+37
-24
lines changed

8 files changed

+37
-24
lines changed

EaseChatUIKit.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
Pod::Spec.new do |s|
1010
s.name = 'EaseChatUIKit'
11-
s.version = '4.16.0'
11+
s.version = '4.16.1'
1212
s.summary = 'A easy for use ChatUIKit.'
1313

1414
# This description is used to generate tags and improve search results.

Example/EaseChatUIKit.xcodeproj/project.pbxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,11 +259,13 @@
259259
);
260260
inputPaths = (
261261
"${PODS_ROOT}/Target Support Files/Pods-EaseChatUIKit_Example/Pods-EaseChatUIKit_Example-frameworks.sh",
262+
"${BUILT_PRODUCTS_DIR}/FLAnimatedImage/FLAnimatedImage.framework",
262263
"${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraInfra_iOS/aosl.framework/aosl",
263264
"${PODS_XCFRAMEWORKS_BUILD_DIR}/HyphenateChat/HyphenateChat.framework/HyphenateChat",
264265
);
265266
name = "[CP] Embed Pods Frameworks";
266267
outputPaths = (
268+
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FLAnimatedImage.framework",
267269
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/aosl.framework",
268270
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HyphenateChat.framework",
269271
);

Sources/EaseChatUIKit/Classes/Service/Implement/ChatServiceImplement.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ extension ChatServiceImplement: ChatService {
120120
if error == nil,let messages = messages {
121121
for message in messages {
122122
if let dic = message.ext?["ease_chat_uikit_user_info"] as? Dictionary<String,Any> {
123-
if let user = ChatUIKitContext.shared?.chatCache?[message.from] as? ChatUserProfile,user.modifyTime < message.timestamp {
123+
if let user = ChatUIKitContext.shared?.userCache?[message.from] as? ChatUserProfile,user.modifyTime < message.timestamp {
124124
let user = ChatUserProfile()
125125
user.setValuesForKeys(dic)
126126
if user.id.isEmpty {

Sources/EaseChatUIKit/Classes/UI/Components/Chat/ViewModel/MessageEntity.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,9 @@ public let urlPreviewImageHeight = CGFloat(137)
147147
if message.body.type != .custom {
148148
return 8+(Appearance.chat.contentStyle.contains(.withNickName) ? 28:2)+(Appearance.chat.contentStyle.contains(.withReply) ? self.replySize.height:2)+self.bubbleSize.height+(Appearance.chat.contentStyle.contains(.withDateAndTime) ? 22:6)+self.topicContentHeight()+self.reactionContentHeight()
149149
} else {
150+
if let body = self.message.body as? ChatCustomMessageBody,body.event == EaseChatUIKit_user_card_message {
151+
return 8+(Appearance.chat.contentStyle.contains(.withNickName) ? 28:2)+(Appearance.chat.contentStyle.contains(.withReply) ? self.replySize.height:2)+self.bubbleSize.height+(Appearance.chat.contentStyle.contains(.withDateAndTime) ? 22:6)+self.topicContentHeight()+self.reactionContentHeight()
152+
}
150153
return self.bubbleSize.height
151154
}
152155
}
@@ -849,6 +852,9 @@ extension ChatMessage {
849852
if chatUser?.nickname.isEmpty ?? true {
850853
chatUser?.nickname = cacheUser?.nickname ?? ""
851854
}
855+
if from == ChatClient.shared().currentUsername ?? "",let currentUser = ChatUIKitContext.shared?.currentUser {
856+
return currentUser
857+
}
852858
if chatUser == nil,cacheUser != nil {
853859
return cacheUser
854860
}

Sources/EaseChatUIKit/Classes/UI/Components/Chat/ViewModel/MessageListViewModel.swift

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -890,16 +890,11 @@ extension MessageListViewModel: ChatResponseListener {
890890
- recallInfo: The recall information containing the recalled message.
891891
*/
892892
@objc open func messageDidRecalled(recallInfo: RecallInfo) {
893-
if let recallMessage = recallInfo.recallMessage,recallMessage.conversationId == self.to {
894-
recallMessage.from = recallInfo.recallBy
895-
self.recallAction(message: recallMessage)
896-
} else {
897-
if let recall = self.constructMessage(text: "recalled a message".chat.localize, type: .alert, extensionInfo: [:]) {
898-
recall.messageId = recallInfo.recallMessageId
899-
recall.timestamp = Int64(Date().timeIntervalSince1970*1000)
900-
recall.from = recallInfo.recallBy
901-
self.driver?.processMessage(operation: .recall, message: recall)
902-
}
893+
if let recall = self.constructMessage(text: "recalled a message".chat.localize, type: .alert, extensionInfo: [:]) {
894+
recall.messageId = recallInfo.recallMessageId
895+
recall.timestamp = Int64(Date().timeIntervalSince1970*1000)
896+
recall.from = recallInfo.recallBy
897+
self.driver?.processMessage(operation: .recall, message: recall)
903898
}
904899
self.pinDriver?.refresh(entities: self.showPinnedMessages())
905900
}

Sources/EaseChatUIKit/Classes/UI/Components/Chat/Views/MessageListView.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -859,6 +859,14 @@ extension MessageListView: IMessageListViewDriver {
859859
}
860860
}
861861

862+
public func reloadCallMessage(message: ChatMessage) {
863+
if let index = self.messages.firstIndex(where: { $0.message.messageId == message.messageId }) {
864+
self.messages.replaceSubrange(index...index, with: [self.convertMessage(message: message)])
865+
self.messageList.reloadRows(at: [IndexPath(row: index, section: 0)], with: .automatic)
866+
self.messageList.scrollToRow(at: IndexPath(row: index, section: 0), at: .bottom, animated: true)
867+
}
868+
}
869+
862870
public func updateGroupMessageChatThreadChanged(message: ChatMessage) {
863871
if let index = self.messages.firstIndex(where: { $0.message.messageId == message.messageId }) {
864872
if let indexPath = self.messageList.indexPathsForVisibleRows?.first(where: { $0.row == index }),let entity = self.messages[safe: index] {

Sources/EaseChatUIKit/Classes/UI/Components/Contact/Views/ContactView.swift

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ extension ContactView: UITableViewDelegate,UITableViewDataSource {
246246
if let visiblePaths = self.contactList.indexPathsForVisibleRows {
247247
for indexPath in visiblePaths {
248248
if let item = self.contacts[safe: indexPath.section]?[safe: indexPath.row] {
249-
if item.nickname.isEmpty || item.avatarURL.isEmpty {
249+
if item.nickname.isEmpty, item.avatarURL.isEmpty {
250250
unknownInfoIds.append(item.id)
251251
}
252252
}
@@ -321,14 +321,16 @@ extension ContactView: IContactListDriver {
321321
}
322322

323323
public func refreshProfiles(infos: [ChatUserProfileProtocol]) {
324-
for info in infos {
325-
if let profile = self.rawData.first(where: { $0.id == info.id }) {
326-
profile.nickname = info.nickname.isEmpty ? info.id:info.nickname
327-
profile.avatarURL = info.avatarURL
328-
profile.remark = info.remark
324+
for sectionData in self.contacts {
325+
for item in sectionData {
326+
if let profile = infos.first(where: { $0.id == item.id }) {
327+
item.nickname = profile.nickname.isEmpty ? profile.id:profile.nickname
328+
item.avatarURL = profile.avatarURL
329+
item.remark = profile.remark
330+
item.selected = profile.selected
331+
}
329332
}
330333
}
331-
self.refreshList(infos: self.rawData)
332334
}
333335

334336
public func refreshList(infos: [ChatUserProfileProtocol]) {

Sources/EaseChatUIKit/Classes/UI/Components/Conversation/Controllers/SearchConversationsController.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,14 @@ import UIKit
9090
self.searchResults = self.datas.filter({ $0.nickname.lowercased().contains(self.searchText) || $0.id.lowercased().contains(self.searchText) || $0.remark.lowercased().contains(self.searchText)})
9191
self.searchList.reloadData()
9292
}
93-
self.searchHeader.textFieldState = { [weak self] in
94-
self?.active = $0 == .began
93+
self.searchHeader.textFieldState = { [weak self] _ in
94+
// self?.active = $0 == .began
9595
}
9696
self.searchHeader.actionClosure = { [weak self] in
97-
self?.active = false
98-
self?.searchText = ""
99-
self?.searchList.reloadData()
10097
if $0 == .cancel {
98+
self?.active = false
99+
self?.searchText = ""
100+
self?.searchList.reloadData()
101101
self?.pop()
102102
}
103103
}

0 commit comments

Comments
 (0)