getReplyImageHolder function
dynamic
getReplyImageHolder(
- BuildContext context,
- ChatMessageModel chatMessageModel,
- MediaChatMessage? mediaChatMessage,
- double size,
- bool isNotChatItem,
- LocationChatMessage? locationChatMessage,
- IconStyle iconStyle,
- BorderRadius borderRadius,
Implementation
getReplyImageHolder(
BuildContext context,
ChatMessageModel chatMessageModel,
MediaChatMessage? mediaChatMessage,
double size,
bool isNotChatItem,
LocationChatMessage? locationChatMessage,
IconStyle iconStyle,
BorderRadius borderRadius) {
var isReply = false;
if (mediaChatMessage != null || locationChatMessage != null) {
isReply = true;
}
var condition = !isNotChatItem
? chatMessageModel.replyParentChatMessage
?.messageType //(mediaChatMessage == null ? Constants.mLocation : mediaChatMessage.messageType)
: chatMessageModel.messageType;
LogMessage.d("isReply", isReply);
LogMessage.d("condition", condition);
LogMessage.d("chatMessageModel.messageType", chatMessageModel.messageType);
switch (condition) {
case Constants.mImage:
debugPrint("reply header--> IMAGE");
return ClipRRect(
borderRadius:
borderRadius, //const BorderRadius.only(topRight: Radius.circular(5), bottomRight: Radius.circular(5)),
child: SizedBox(
width: size,
height: size,
child: ImageCacheManager.getImage(
isReply
? mediaChatMessage!.mediaThumbImage
: chatMessageModel.mediaChatMessage!.mediaThumbImage
.checkNull(),
chatMessageModel.messageId,
size,
size),
),
);
case Constants.mLocation:
return ClipRRect(
borderRadius:
borderRadius, //const BorderRadius.only(topRight: Radius.circular(5), bottomRight: Radius.circular(5)),
child: getLocationImage(
isReply
? locationChatMessage
: chatMessageModel.locationChatMessage,
size,
size,
isSelected: true));
case Constants.mVideo:
return ClipRRect(
borderRadius:
borderRadius, //const BorderRadius.only(topRight: Radius.circular(5), bottomRight: Radius.circular(5)),
child: SizedBox(
width: size,
height: size,
child: ImageCacheManager.getImage(
isReply
? mediaChatMessage!.mediaThumbImage
: chatMessageModel.mediaChatMessage!.mediaThumbImage,
chatMessageModel.messageId,
size,
size),
),
);
case Constants.mDocument:
debugPrint("isNotChatItem--> $isNotChatItem");
debugPrint("Document --> $isReply");
return isNotChatItem
? SizedBox(height: size)
: Container(
width: size,
height: size,
decoration: BoxDecoration(
borderRadius:
borderRadius, //const BorderRadius.only(topRight: Radius.circular(10), bottomRight: Radius.circular(10)),
color: iconStyle.bgColor,
),
child: Center(
child: MessageUtils.getDocumentTypeIcon(
isReply
? mediaChatMessage!.mediaFileName
: chatMessageModel.mediaChatMessage!.mediaFileName,
30),
));
case Constants.mAudio:
return isNotChatItem
? SizedBox(height: size)
: ClipRRect(
borderRadius:
borderRadius, //const BorderRadius.only(topRight: Radius.circular(5), bottomRight: Radius.circular(5)),
child: Container(
height: size,
width: size,
color: iconStyle.bgColor,
child: Center(
child: AppUtils.svgIcon(
icon: mediaChatMessage!.isAudioRecorded.checkNull()
? mAudioRecordIcon
: mAudioIcon,
fit: BoxFit.contain,
colorFilter:
ColorFilter.mode(iconStyle.iconColor, BlendMode.srcIn),
height: 18,
),
),
),
);
default:
debugPrint("reply header--> DEFAULT");
return SizedBox(
height: size,
);
}
}