diff --git a/lib/src/visual/views/camera/camera_preview_components/camera_preview_controller_view.dart b/lib/src/visual/views/camera/camera_preview_components/camera_preview_controller_view.dart index 08c37db9..deb27d62 100644 --- a/lib/src/visual/views/camera/camera_preview_components/camera_preview_controller_view.dart +++ b/lib/src/visual/views/camera/camera_preview_components/camera_preview_controller_view.dart @@ -742,9 +742,10 @@ class _CameraPreviewViewState extends State { ), if (!mc.isSharePreviewIsShown && mc.sharedLinkForPreview != null && + mc.sharedLinkForPreview!.shouldGeneratePreview && !mc.isVideoRecording) ShowTitleText( - title: mc.sharedLinkForPreview?.host ?? '', + title: mc.sharedLinkForPreview!.url.host, desc: 'Link', isLink: true, ), diff --git a/lib/src/visual/views/camera/camera_preview_components/main_camera_controller.dart b/lib/src/visual/views/camera/camera_preview_components/main_camera_controller.dart index 6020433f..ff67848c 100644 --- a/lib/src/visual/views/camera/camera_preview_components/main_camera_controller.dart +++ b/lib/src/visual/views/camera/camera_preview_components/main_camera_controller.dart @@ -28,6 +28,16 @@ import 'package:twonly/src/visual/views/camera/camera_preview_components/painter import 'package:twonly/src/visual/views/camera/camera_preview_components/painters/face_filters/dog_filter_painter.dart'; import 'package:twonly/src/visual/views/camera/camera_preview_components/painters/face_filters/face_filter_painter.dart'; +class PreviewLink { + const PreviewLink({ + required this.url, + required this.shouldGeneratePreview, + }); + + final Uri url; + final bool shouldGeneratePreview; +} + class ScannedVerifiedContact { ScannedVerifiedContact({required this.contact, required this.verificationOk}); Contact contact; @@ -58,10 +68,12 @@ class MainCameraController { bool isVideoRecording = false; DateTime? timeSharedLinkWasSetWithQr; - Uri? sharedLinkForPreview; + PreviewLink? sharedLinkForPreview; - void setSharedLinkForPreview(Uri? url) { - sharedLinkForPreview = url; + void setSharedLinkForPreview(Uri? url, {bool generatePreview = true}) { + sharedLinkForPreview = url == null + ? null + : PreviewLink(url: url, shouldGeneratePreview: generatePreview); setState?.call(); } @@ -450,7 +462,7 @@ class MainCameraController { scannedUrl = link; if (sharedLinkForPreview == null) { timeSharedLinkWasSetWithQr = clock.now(); - setSharedLinkForPreview(Uri.parse(scannedUrl!)); + setSharedLinkForPreview(Uri.parse(scannedUrl!), generatePreview: false); } } } diff --git a/lib/src/visual/views/camera/share_image_editor.view.dart b/lib/src/visual/views/camera/share_image_editor.view.dart index e3a8b436..34dbd2ed 100644 --- a/lib/src/visual/views/camera/share_image_editor.view.dart +++ b/lib/src/visual/views/camera/share_image_editor.view.dart @@ -51,7 +51,7 @@ class ShareImageEditorView extends StatefulWidget { final bool sharedFromGallery; final MediaFileService mediaFileService; final MainCameraController? mainCameraController; - final Uri? previewLink; + final PreviewLink? previewLink; @override State createState() => _ShareImageEditorView(); } @@ -81,9 +81,9 @@ class _ShareImageEditorView extends State { layers.add(FilterLayerData(key: GlobalKey())); } - if (widget.previewLink != null) { + if (widget.previewLink != null && widget.previewLink!.shouldGeneratePreview) { layers.add( - LinkPreviewLayerData(key: GlobalKey(), link: widget.previewLink!), + LinkPreviewLayerData(key: GlobalKey(), link: widget.previewLink!.url), ); } @@ -635,7 +635,7 @@ class _ShareImageEditorView extends State { if (widget.previewLink != null) { additionalData = AdditionalMessageData( type: AdditionalMessageData_Type.LINK, - link: widget.previewLink.toString(), + link: widget.previewLink!.url.toString(), ); } return additionalData;