getImageOverlay function
Widget
getImageOverlay(
- BuildContext context,
- ChatMessageModel chatMessage, {
- dynamic onAudio()?,
- dynamic onVideo()?,
Implementation
Widget getImageOverlay(BuildContext context,ChatMessageModel chatMessage,
{Function()? onAudio, Function()? onVideo}) {
// debugPrint(
// "getImageOverlay checkFile ${checkFile(chatMessage.mediaChatMessage!.mediaLocalStoragePath)}");
// debugPrint("getImageOverlay messageStatus ${chatMessage.messageStatus}");
// debugPrint(
// "getImageOverlay ${(checkFile(chatMessage.mediaChatMessage!.mediaLocalStoragePath) && chatMessage.messageStatus != 'N')}");
if (checkFile(chatMessage.mediaChatMessage!.mediaLocalStoragePath) &&
chatMessage.messageStatus.value != 'N') {
if (chatMessage.messageType.toUpperCase() == Constants.mVideo) {
return FloatingActionButton.small(
onPressed: onVideo,
backgroundColor: MirrorflyUikit.getTheme?.primaryColor,
child: Icon(
Icons.play_arrow_rounded,
color: MirrorflyUikit.getTheme?.colorOnPrimary,
),
);
} else if (chatMessage.messageType.toUpperCase() == Constants.mAudio) {
return InkWell(
onTap: onAudio,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: chatMessage.mediaChatMessage!.isPlaying
? SvgPicture.asset(
pauseIcon,package: package,
colorFilter: ColorFilter.mode(chatMessage.isMessageSentByMe ? MirrorflyUikit.getTheme!.chatBubblePrimaryColor.textSecondaryColor : MirrorflyUikit.getTheme!.chatBubbleSecondaryColor.textSecondaryColor, BlendMode.srcIn),
height: 17,
) //const Icon(Icons.pause)
: SvgPicture.asset(
playIcon,package: package,
colorFilter: ColorFilter.mode(chatMessage.isMessageSentByMe ? MirrorflyUikit.getTheme!.chatBubblePrimaryColor.textSecondaryColor : MirrorflyUikit.getTheme!.chatBubbleSecondaryColor.textSecondaryColor, BlendMode.srcIn),
height: 17,
),
),
); //const Icon(Icons.play_arrow_sharp);
} else {
return const SizedBox.shrink();
}
} else {
// debugPrint(
// "overlay status-->${chatMessage.isMessageSentByMe ? chatMessage.mediaChatMessage!.mediaUploadStatus : chatMessage.mediaChatMessage!.mediaDownloadStatus}");
switch (chatMessage.isMessageSentByMe
? chatMessage.mediaChatMessage!.mediaUploadStatus
: chatMessage.mediaChatMessage!.mediaDownloadStatus) {
case Constants.mediaDownloaded:
case Constants.mediaUploaded:
case Constants.mediaDownloadedNotAvailable:
case Constants.mediaUploadedNotAvailable:
return const SizedBox.shrink();
case Constants.mediaNotDownloaded:
return InkWell(
child: downloadView(
chatMessage.mediaChatMessage!.mediaDownloadStatus,
chatMessage.mediaChatMessage!.mediaFileSize,
chatMessage.messageType.toUpperCase(),chatMessage.isMessageSentByMe),
onTap: () {
downloadMedia(context,chatMessage.messageId);
},
);
case Constants.mediaNotUploaded:
return InkWell(
onTap: () {
uploadMedia(chatMessage.messageId);
},
child: uploadView(
chatMessage.mediaChatMessage!.mediaDownloadStatus,
chatMessage.mediaChatMessage!.mediaFileSize,
chatMessage.messageType.toUpperCase(),chatMessage.isMessageSentByMe));
case Constants.mediaDownloading:
case Constants.mediaUploading:
return InkWell(
onTap: () {
cancelMediaUploadOrDownload(chatMessage.messageId);
},
child: Obx(() {
return downloadingOrUploadingView(chatMessage.messageType,
chatMessage.mediaChatMessage!.mediaProgressStatus.value,chatMessage.isMessageSentByMe);
}));
default:
return const SizedBox.shrink();
}
}
}