From afac1794430f27b925b43e43856f20376a58f804 Mon Sep 17 00:00:00 2001 From: Decoder07 Date: Tue, 2 Jul 2024 16:04:02 +0530 Subject: [PATCH 1/4] Updated DateTime parsing --- .../kotlin/live/hms/hmssdk_flutter/HMSMessageExtension.kt | 3 +-- .../hms/hmssdk_flutter/hls_player/HMSHLSCueExtension.kt | 8 ++++---- .../ios/Classes/HLSPlayer/HMSHLSCueExtension.swift | 4 ++-- .../ios/Classes/Models/HMSMessageExtension.swift | 2 +- .../lib/src/model/hls_player/hms_hls_cue.dart | 6 +++--- .../hmssdk_flutter/lib/src/model/hms_date_extension.dart | 5 ----- packages/hmssdk_flutter/lib/src/model/hms_message.dart | 4 ++-- 7 files changed, 13 insertions(+), 19 deletions(-) diff --git a/packages/hmssdk_flutter/android/src/main/kotlin/live/hms/hmssdk_flutter/HMSMessageExtension.kt b/packages/hmssdk_flutter/android/src/main/kotlin/live/hms/hmssdk_flutter/HMSMessageExtension.kt index 0436770e2..2decbdcd2 100644 --- a/packages/hmssdk_flutter/android/src/main/kotlin/live/hms/hmssdk_flutter/HMSMessageExtension.kt +++ b/packages/hmssdk_flutter/android/src/main/kotlin/live/hms/hmssdk_flutter/HMSMessageExtension.kt @@ -10,8 +10,7 @@ class HMSMessageExtension { if (message == null)return null args["message_id"] = message.messageId args["message"] = message.message - args["time"] = - SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(message.serverReceiveTime).toString() + args["time"] = message.serverReceiveTime args["type"] = message.type if (message.sender != null) { args["sender"] = HMSPeerExtension.toDictionary(message.sender)!! diff --git a/packages/hmssdk_flutter/android/src/main/kotlin/live/hms/hmssdk_flutter/hls_player/HMSHLSCueExtension.kt b/packages/hmssdk_flutter/android/src/main/kotlin/live/hms/hmssdk_flutter/hls_player/HMSHLSCueExtension.kt index f64c1b8a5..45356f2da 100644 --- a/packages/hmssdk_flutter/android/src/main/kotlin/live/hms/hmssdk_flutter/hls_player/HMSHLSCueExtension.kt +++ b/packages/hmssdk_flutter/android/src/main/kotlin/live/hms/hmssdk_flutter/hls_player/HMSHLSCueExtension.kt @@ -5,12 +5,12 @@ import java.text.SimpleDateFormat class HMSHLSCueExtension { companion object { - fun toDictionary(hmsHlsCue: HmsHlsCue): HashMap { - val args = HashMap() + fun toDictionary(hmsHlsCue: HmsHlsCue): HashMap { + val args = HashMap() args["id"] = hmsHlsCue.id - args["start_date"] = SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(hmsHlsCue.startDate).toString() - args["end_date"] = SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(hmsHlsCue.endDate).toString() + args["start_date"] = hmsHlsCue.startDate + args["end_date"] = hmsHlsCue.endDate args["payload"] = hmsHlsCue.payloadval return args diff --git a/packages/hmssdk_flutter/ios/Classes/HLSPlayer/HMSHLSCueExtension.swift b/packages/hmssdk_flutter/ios/Classes/HLSPlayer/HMSHLSCueExtension.swift index 5267f5d19..dcda74bac 100644 --- a/packages/hmssdk_flutter/ios/Classes/HLSPlayer/HMSHLSCueExtension.swift +++ b/packages/hmssdk_flutter/ios/Classes/HLSPlayer/HMSHLSCueExtension.swift @@ -15,9 +15,9 @@ class HMSHLSCueExtension { var dict = [String: Any?]() dict["id"] = hmsHlsCue.id - dict["start_date"] = "\(hmsHlsCue.startDate)" + dict["start_date"] = (hmsHlsCue.startDate.timeIntervalSince1970 * 1000) if let endDate = hmsHlsCue.endDate { - dict["end_date"] = "\(endDate)" + dict["end_date"] = (endDate.timeIntervalSince1970 * 1000) } dict["payload"] = hmsHlsCue.payload diff --git a/packages/hmssdk_flutter/ios/Classes/Models/HMSMessageExtension.swift b/packages/hmssdk_flutter/ios/Classes/Models/HMSMessageExtension.swift index d384b3a28..668b4affe 100644 --- a/packages/hmssdk_flutter/ios/Classes/Models/HMSMessageExtension.swift +++ b/packages/hmssdk_flutter/ios/Classes/Models/HMSMessageExtension.swift @@ -20,7 +20,7 @@ class HMSMessageExtension { dict["type"] = message.type - dict["time"] = "\(message.time)" + dict["time"] = Int(message.time.timeIntervalSince1970 * 1000) dict["hms_message_recipient"] = HMSMessageRecipientExtension.toDictionary(message.recipient) diff --git a/packages/hmssdk_flutter/lib/src/model/hls_player/hms_hls_cue.dart b/packages/hmssdk_flutter/lib/src/model/hls_player/hms_hls_cue.dart index 1ffd1408f..cfed56ff0 100644 --- a/packages/hmssdk_flutter/lib/src/model/hls_player/hms_hls_cue.dart +++ b/packages/hmssdk_flutter/lib/src/model/hls_player/hms_hls_cue.dart @@ -10,7 +10,7 @@ class HMSHLSCue { final String? id; // startDate of the timed event - final DateTime startDate; + final DateTime? startDate; // endDate of the timed event final DateTime? endDate; @@ -22,10 +22,10 @@ class HMSHLSCue { factory HMSHLSCue.fromMap(Map map) { return HMSHLSCue( - startDate: HMSDateExtension.convertDateFromString(map["start_date"]), + startDate: HMSDateExtension.convertDateFromEpoch(map["start_date"]), endDate: map["end_date"] == null ? null - : HMSDateExtension.convertDateFromString(map["end_date"]), + : HMSDateExtension.convertDateFromEpoch(map["end_date"]), id: map["id"], payload: map["payload"]); } diff --git a/packages/hmssdk_flutter/lib/src/model/hms_date_extension.dart b/packages/hmssdk_flutter/lib/src/model/hms_date_extension.dart index caf3f96c0..16c193e5d 100644 --- a/packages/hmssdk_flutter/lib/src/model/hms_date_extension.dart +++ b/packages/hmssdk_flutter/lib/src/model/hms_date_extension.dart @@ -7,11 +7,6 @@ import 'dart:developer'; class HMSDateExtension { - ///Returns DateTime object from String - static DateTime convertDateFromString(String date) { - DateTime _dateTime = DateTime.parse(date).toLocal(); - return _dateTime; - } ///Returns optional DateTime object from epoch in milliseconds static DateTime? convertDateFromEpoch(int date) { diff --git a/packages/hmssdk_flutter/lib/src/model/hms_message.dart b/packages/hmssdk_flutter/lib/src/model/hms_message.dart index a7093063b..2367ff0e3 100644 --- a/packages/hmssdk_flutter/lib/src/model/hms_message.dart +++ b/packages/hmssdk_flutter/lib/src/model/hms_message.dart @@ -31,7 +31,7 @@ class HMSMessage { final String type; ///[time] at which [sender] sent the [message] - final DateTime time; + final DateTime? time; HMSMessageRecipient? hmsMessageRecipient; HMSMessage( @@ -56,7 +56,7 @@ class HMSMessage { sender: sender, message: messageMap['message'] as String, type: messageMap['type'] as String, - time: HMSDateExtension.convertDateFromString(messageMap['time']), + time: HMSDateExtension.convertDateFromEpoch(messageMap['time']), hmsMessageRecipient: recipient); } From f07ed760b052accdfeaab40748348a8f07531335 Mon Sep 17 00:00:00 2001 From: Decoder07 Date: Tue, 2 Jul 2024 10:36:42 +0000 Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=A4=96=20Automated=20Format=20and=20F?= =?UTF-8?q?ix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/hmssdk_flutter/lib/src/model/hms_date_extension.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/hmssdk_flutter/lib/src/model/hms_date_extension.dart b/packages/hmssdk_flutter/lib/src/model/hms_date_extension.dart index 16c193e5d..f4e3c0572 100644 --- a/packages/hmssdk_flutter/lib/src/model/hms_date_extension.dart +++ b/packages/hmssdk_flutter/lib/src/model/hms_date_extension.dart @@ -7,7 +7,6 @@ import 'dart:developer'; class HMSDateExtension { - ///Returns optional DateTime object from epoch in milliseconds static DateTime? convertDateFromEpoch(int date) { try { From 43c2e859216bba40b0531d74bb94cc72b69dfdcf Mon Sep 17 00:00:00 2001 From: Decoder07 Date: Tue, 2 Jul 2024 16:58:56 +0530 Subject: [PATCH 3/4] Fixed chat ui issue without pinned messages --- .../widgets/bottom_sheets/chat_bottom_sheet.dart | 16 +++++++++++++--- .../common_widgets/message_container.dart | 2 +- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/hms_room_kit/lib/src/widgets/bottom_sheets/chat_bottom_sheet.dart b/packages/hms_room_kit/lib/src/widgets/bottom_sheets/chat_bottom_sheet.dart index 553f835af..d000273b5 100644 --- a/packages/hms_room_kit/lib/src/widgets/bottom_sheets/chat_bottom_sheet.dart +++ b/packages/hms_room_kit/lib/src/widgets/bottom_sheets/chat_bottom_sheet.dart @@ -153,9 +153,19 @@ class _ChatBottomSheetState extends State { child: const HMSEmptyChatWidget()))) : Expanded( child: Column(children: [ - Expanded( - flex: 1, - child: const PinChatWidget()), + Selector( + selector: (_, meetingStore) => + meetingStore + .pinnedMessages.length, + builder: + (_, pinnedMessageLength, __) { + return pinnedMessageLength > 0 + ? Expanded( + flex: 1, + child: + const PinChatWidget()) + : const SizedBox(); + }), /// List containing chats Expanded( diff --git a/packages/hms_room_kit/lib/src/widgets/common_widgets/message_container.dart b/packages/hms_room_kit/lib/src/widgets/common_widgets/message_container.dart index d3753bba5..06556b920 100644 --- a/packages/hms_room_kit/lib/src/widgets/common_widgets/message_container.dart +++ b/packages/hms_room_kit/lib/src/widgets/common_widgets/message_container.dart @@ -97,7 +97,7 @@ class MessageContainer extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.end, children: [ HMSSubtitleText( - text: formatter.format(message.time), + text: message.time==null?"":formatter.format(message.time!), textColor: HMSThemeColors.onSurfaceMediumEmphasis, ), const SizedBox( From 0fb3388aa6503fde5ae8e2ccfe5452883eaeb97d Mon Sep 17 00:00:00 2001 From: Decoder07 Date: Thu, 25 Jul 2024 10:14:50 +0000 Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=A4=96=20Automated=20Format=20and=20F?= =?UTF-8?q?ix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/src/widgets/common_widgets/message_container.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/hms_room_kit/lib/src/widgets/common_widgets/message_container.dart b/packages/hms_room_kit/lib/src/widgets/common_widgets/message_container.dart index 06556b920..86c44e56c 100644 --- a/packages/hms_room_kit/lib/src/widgets/common_widgets/message_container.dart +++ b/packages/hms_room_kit/lib/src/widgets/common_widgets/message_container.dart @@ -97,7 +97,9 @@ class MessageContainer extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.end, children: [ HMSSubtitleText( - text: message.time==null?"":formatter.format(message.time!), + text: message.time == null + ? "" + : formatter.format(message.time!), textColor: HMSThemeColors.onSurfaceMediumEmphasis, ), const SizedBox(