fix analyzer

This commit is contained in:
otsmr 2026-01-22 20:14:05 +01:00
parent 8c3ea92b85
commit 4c06bcc751
10 changed files with 24 additions and 20 deletions

View file

@ -148,8 +148,11 @@ Future<void> handleIntentMediaFile(
);
}
Future<void> handleIntentSharedFile(BuildContext context,
List<SharedFile> files, void Function(Uri) onUrlCallBack) async {
Future<void> handleIntentSharedFile(
BuildContext context,
List<SharedFile> files,
void Function(Uri) onUrlCallBack,
) async {
for (final file in files) {
if (file.value == null) {
Log.error(

View file

@ -82,7 +82,6 @@ class MainCameraPreview extends StatelessWidget {
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(
width: 1,
color: Colors.white.withAlpha(150),
),
),

View file

@ -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';

View file

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

View file

@ -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<Map<String, dynamic>> && 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;
}

View file

@ -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 {

View file

@ -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({

View file

@ -1,5 +1,3 @@
// ignore_for_file: avoid_dynamic_calls
import 'dart:convert';
import 'package:http/http.dart' as http;

View file

@ -68,7 +68,7 @@ class _UserStudyQuestionnaireState extends State<UserStudyQuestionnaire> {
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<UserStudyQuestionnaire> {
..._messengerOptions.map(
(m) => CheckboxListTile(
title: Text(m),
visualDensity: const VisualDensity(horizontal: 0, vertical: -4),
visualDensity: const VisualDensity(vertical: -4),
value: (_responses['messengers'] as List<dynamic>).contains(m),
onChanged: (bool? value) {
setState(() {
@ -232,7 +232,7 @@ class _UserStudyQuestionnaireState extends State<UserStudyQuestionnaire> {
Widget _buildRadioList(List<String> options, String key) {
return Padding(
padding: const EdgeInsets.symmetric(vertical: 8.0),
padding: const EdgeInsets.symmetric(vertical: 8),
child: DropdownButtonFormField<String>(
decoration: const InputDecoration(
border: OutlineInputBorder(),

View file

@ -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) {