shareAppWithMediaItem static method
Future<void>
shareAppWithMediaItem(
- AppMediaItem mediaItem
)
Implementation
static Future<void> shareAppWithMediaItem(AppMediaItem mediaItem) async {
String thumbnailLocalPath = "";
if(mediaItem.imgUrl.isNotEmpty || (mediaItem.allImgs?.isNotEmpty ?? false) ) {
String imgUrl = mediaItem.imgUrl.isNotEmpty ? mediaItem.imgUrl : mediaItem.allImgs?.first ?? "";
if(imgUrl.isNotEmpty) {
thumbnailLocalPath = await FileDownloader.downloadImage(imgUrl, imgName: "${mediaItem.artist}_${mediaItem.name}");
}
}
ShareResult? shareResult;
String caption = mediaItem.name;
if(mediaItem.type == MediaItemType.song) {
if(caption.contains(CoreConstants.titleTextDivider)) {
caption = caption.replaceAll(CoreConstants.titleTextDivider, "\n\n");
}
String dotsLine = "";
for(int i = 0; i < mediaItem.artist.length; i++) {
dotsLine = "$dotsLine.";
}
caption = "$caption\n\n${mediaItem.artist}\n$dotsLine";
}
String sharedText = '$caption${caption.isNotEmpty ? "\n\n" : ""}'
'${MessageTranslationConstants.shareAppMsg.tr}\n'
'\n${AppProperties.getLinksUrl()}\n';
List<XFile> sharedFiles = [];
if(thumbnailLocalPath.isNotEmpty) {
}
if(thumbnailLocalPath.isNotEmpty) {
sharedFiles.add(XFile(thumbnailLocalPath));
sharedText = '$caption${caption.isNotEmpty ? "\n\n" : ""}'
'${MessageTranslationConstants.shareMediaItem.tr}\n'
'\n${AppProperties.getLinksUrl()}\n';
} else {
sharedText = '$caption${caption.isNotEmpty ? "\n\n" : ""}'
'${MessageTranslationConstants.shareMediaItemMsg.tr}\n'
'\n${AppProperties.getLinksUrl()}\n';
}
shareResult = await SharePlus.instance.share(
ShareParams(text: sharedText, files: sharedFiles)
);
if(shareResult.status == ShareResultStatus.success && shareResult.raw != "null") {
Get.snackbar(MessageTranslationConstants.sharedMediaItem.tr,
MessageTranslationConstants.sharedMediaItemMsg.tr,
snackPosition: SnackPosition.bottom);
}
}