From 4c06bcc751db820eef0cfa11807067de78ae487e Mon Sep 17 00:00:00 2001 From: otsmr Date: Thu, 22 Jan 2026 20:14:05 +0100 Subject: [PATCH] fix analyzer --- lib/src/services/intent/links.intent.dart | 7 +++++-- .../camera_preview_components/camera_preview.dart | 1 - .../camera/share_image_editor/layer_data.dart | 2 -- .../layers/link_preview/parser/json_ld.parser.dart | 5 ++++- .../layers/link_preview/parser/youtube.parser.dart | 14 ++++++++------ .../message_context_menu.dart | 2 +- .../reaction_buttons.component.dart | 3 ++- .../user_study/user_study_data_collection.dart | 2 -- .../user_study/user_study_questionnaire.view.dart | 6 +++--- test/features/link_parser_test.dart | 2 +- 10 files changed, 24 insertions(+), 20 deletions(-) diff --git a/lib/src/services/intent/links.intent.dart b/lib/src/services/intent/links.intent.dart index 305ae93..cf4e7fa 100644 --- a/lib/src/services/intent/links.intent.dart +++ b/lib/src/services/intent/links.intent.dart @@ -148,8 +148,11 @@ Future handleIntentMediaFile( ); } -Future handleIntentSharedFile(BuildContext context, - List files, void Function(Uri) onUrlCallBack) async { +Future handleIntentSharedFile( + BuildContext context, + List files, + void Function(Uri) onUrlCallBack, +) async { for (final file in files) { if (file.value == null) { Log.error( diff --git a/lib/src/views/camera/camera_preview_components/camera_preview.dart b/lib/src/views/camera/camera_preview_components/camera_preview.dart index 991748d..10783db 100644 --- a/lib/src/views/camera/camera_preview_components/camera_preview.dart +++ b/lib/src/views/camera/camera_preview_components/camera_preview.dart @@ -82,7 +82,6 @@ class MainCameraPreview extends StatelessWidget { decoration: BoxDecoration( shape: BoxShape.circle, border: Border.all( - width: 1, color: Colors.white.withAlpha(150), ), ), diff --git a/lib/src/views/camera/share_image_editor/layer_data.dart b/lib/src/views/camera/share_image_editor/layer_data.dart index d28b967..504df26 100755 --- a/lib/src/views/camera/share_image_editor/layer_data.dart +++ b/lib/src/views/camera/share_image_editor/layer_data.dart @@ -1,5 +1,3 @@ -// ignore_for_file: comment_references - import 'package:flutter/material.dart'; import 'package:hand_signature/signature.dart'; import 'package:twonly/src/views/camera/share_image_editor/image_item.dart'; diff --git a/lib/src/views/camera/share_image_editor/layers/link_preview/parser/json_ld.parser.dart b/lib/src/views/camera/share_image_editor/layers/link_preview/parser/json_ld.parser.dart index e946065..beb8ef3 100644 --- a/lib/src/views/camera/share_image_editor/layers/link_preview/parser/json_ld.parser.dart +++ b/lib/src/views/camera/share_image_editor/layers/link_preview/parser/json_ld.parser.dart @@ -91,7 +91,10 @@ class JsonLdParser with BaseMetaInfo { String? get siteName => OpenGraphParser(document).siteName; String? _imgResultToStr(dynamic result) { - if (result is List && result.isNotEmpty) result = result.first; + if (result is List && result.isNotEmpty) { + final tmp = result.first; + if (tmp is String) return tmp; + } if (result is String) return result; return null; } diff --git a/lib/src/views/camera/share_image_editor/layers/link_preview/parser/youtube.parser.dart b/lib/src/views/camera/share_image_editor/layers/link_preview/parser/youtube.parser.dart index 30e976a..85ef9e2 100644 --- a/lib/src/views/camera/share_image_editor/layers/link_preview/parser/youtube.parser.dart +++ b/lib/src/views/camera/share_image_editor/layers/link_preview/parser/youtube.parser.dart @@ -4,12 +4,11 @@ import 'base.dart'; import 'util.dart'; class YoutubeParser with BaseMetaInfo { - YoutubeParser(this.document, this.url) { + YoutubeParser(this.document, this._url) { _jsonData = _parseToJson(document); } - @override - String url; + final String _url; Document? document; dynamic _jsonData; @@ -44,7 +43,7 @@ class YoutubeParser with BaseMetaInfo { @override String? get image { final data = _jsonData; - if (data is List && data.isNotEmpty) { + if (data is List> && data.isNotEmpty) { return _imgResultToStr(data.first['thumbnail_url']); } else if (data is Map) { return _imgResultToStr(data.getDynamic('thumbnail_url')); @@ -64,12 +63,15 @@ class YoutubeParser with BaseMetaInfo { } @override - Vendor? get vendor => (Uri.parse(url).host.contains('youtube.com')) + Vendor? get vendor => (Uri.parse(_url).host.contains('youtube.com')) ? Vendor.youtubeVideo : null; String? _imgResultToStr(dynamic result) { - if (result is List && result.isNotEmpty) result = result.first; + if (result is List && result.isNotEmpty) { + final tmp = result.first; + if (tmp is String) return tmp; + } if (result is String) return result; return null; } diff --git a/lib/src/views/chats/chat_messages_components/message_context_menu.dart b/lib/src/views/chats/chat_messages_components/message_context_menu.dart index 44af049..eb868e4 100644 --- a/lib/src/views/chats/chat_messages_components/message_context_menu.dart +++ b/lib/src/views/chats/chat_messages_components/message_context_menu.dart @@ -15,10 +15,10 @@ import 'package:twonly/src/services/api/messages.dart'; import 'package:twonly/src/services/mediafiles/mediafile.service.dart'; import 'package:twonly/src/utils/misc.dart'; import 'package:twonly/src/views/camera/share_image_editor/layer_data.dart'; -import 'package:twonly/src/views/components/emoji_picker.bottom.dart'; import 'package:twonly/src/views/chats/message_info.view.dart'; import 'package:twonly/src/views/components/alert_dialog.dart'; import 'package:twonly/src/views/components/context_menu.component.dart'; +import 'package:twonly/src/views/components/emoji_picker.bottom.dart'; import 'package:twonly/src/views/memories/memories_photo_slider.view.dart'; class MessageContextMenu extends StatelessWidget { diff --git a/lib/src/views/chats/media_viewer_components/reaction_buttons.component.dart b/lib/src/views/chats/media_viewer_components/reaction_buttons.component.dart index 53b12d5..108beac 100644 --- a/lib/src/views/chats/media_viewer_components/reaction_buttons.component.dart +++ b/lib/src/views/chats/media_viewer_components/reaction_buttons.component.dart @@ -1,14 +1,15 @@ import 'dart:async'; import 'dart:math'; + import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:twonly/globals.dart'; import 'package:twonly/src/utils/misc.dart'; import 'package:twonly/src/views/camera/share_image_editor/layer_data.dart'; -import 'package:twonly/src/views/components/emoji_picker.bottom.dart'; import 'package:twonly/src/views/chats/media_viewer_components/emoji_reactions_row.component.dart'; import 'package:twonly/src/views/components/animate_icon.dart'; +import 'package:twonly/src/views/components/emoji_picker.bottom.dart'; class ReactionButtons extends StatefulWidget { const ReactionButtons({ diff --git a/lib/src/views/user_study/user_study_data_collection.dart b/lib/src/views/user_study/user_study_data_collection.dart index f4efbe3..c38f213 100644 --- a/lib/src/views/user_study/user_study_data_collection.dart +++ b/lib/src/views/user_study/user_study_data_collection.dart @@ -1,5 +1,3 @@ -// ignore_for_file: avoid_dynamic_calls - import 'dart:convert'; import 'package:http/http.dart' as http; diff --git a/lib/src/views/user_study/user_study_questionnaire.view.dart b/lib/src/views/user_study/user_study_questionnaire.view.dart index a0cb9e6..bfdf4d1 100644 --- a/lib/src/views/user_study/user_study_questionnaire.view.dart +++ b/lib/src/views/user_study/user_study_questionnaire.view.dart @@ -68,7 +68,7 @@ class _UserStudyQuestionnaireState extends State { return Scaffold( appBar: AppBar(title: const Text('Befragung')), body: SingleChildScrollView( - padding: const EdgeInsets.all(16.0), + padding: const EdgeInsets.all(16), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -181,7 +181,7 @@ class _UserStudyQuestionnaireState extends State { ..._messengerOptions.map( (m) => CheckboxListTile( title: Text(m), - visualDensity: const VisualDensity(horizontal: 0, vertical: -4), + visualDensity: const VisualDensity(vertical: -4), value: (_responses['messengers'] as List).contains(m), onChanged: (bool? value) { setState(() { @@ -232,7 +232,7 @@ class _UserStudyQuestionnaireState extends State { Widget _buildRadioList(List options, String key) { return Padding( - padding: const EdgeInsets.symmetric(vertical: 8.0), + padding: const EdgeInsets.symmetric(vertical: 8), child: DropdownButtonFormField( decoration: const InputDecoration( border: OutlineInputBorder(), diff --git a/test/features/link_parser_test.dart b/test/features/link_parser_test.dart index 3361df6..53f1c9f 100644 --- a/test/features/link_parser_test.dart +++ b/test/features/link_parser_test.dart @@ -95,7 +95,7 @@ void main() { 'https://t.co/MQZ7ulHakF', image: 'https://pbs.twimg.com/media/ECF8Z5KWwAIBZ6o.jpg:large', vendor: Vendor.twitterPosting, - ) + ), ]; for (final testCase in testCases) {