hide link preview for qr codes in normal camera mode
Some checks are pending
Flutter analyze & test / flutter_analyze_and_test (push) Waiting to run

This commit is contained in:
otsmr 2026-06-15 23:10:39 +02:00
parent f8c5ba17c6
commit 52489a3a98
3 changed files with 22 additions and 9 deletions

View file

@ -742,9 +742,10 @@ class _CameraPreviewViewState extends State<CameraPreviewView> {
),
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,
),

View file

@ -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);
}
}
}

View file

@ -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<ShareImageEditorView> createState() => _ShareImageEditorView();
}
@ -81,9 +81,9 @@ class _ShareImageEditorView extends State<ShareImageEditorView> {
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<ShareImageEditorView> {
if (widget.previewLink != null) {
additionalData = AdditionalMessageData(
type: AdditionalMessageData_Type.LINK,
link: widget.previewLink.toString(),
link: widget.previewLink!.url.toString(),
);
}
return additionalData;