mirror of
https://github.com/twonlyapp/twonly-app.git
synced 2026-03-03 13:36:47 +00:00
fix analyzer
This commit is contained in:
parent
8c3ea92b85
commit
4c06bcc751
10 changed files with 24 additions and 20 deletions
|
|
@ -148,8 +148,11 @@ Future<void> handleIntentMediaFile(
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> handleIntentSharedFile(BuildContext context,
|
Future<void> handleIntentSharedFile(
|
||||||
List<SharedFile> files, void Function(Uri) onUrlCallBack) async {
|
BuildContext context,
|
||||||
|
List<SharedFile> files,
|
||||||
|
void Function(Uri) onUrlCallBack,
|
||||||
|
) async {
|
||||||
for (final file in files) {
|
for (final file in files) {
|
||||||
if (file.value == null) {
|
if (file.value == null) {
|
||||||
Log.error(
|
Log.error(
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,6 @@ class MainCameraPreview extends StatelessWidget {
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
border: Border.all(
|
border: Border.all(
|
||||||
width: 1,
|
|
||||||
color: Colors.white.withAlpha(150),
|
color: Colors.white.withAlpha(150),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
// ignore_for_file: comment_references
|
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:hand_signature/signature.dart';
|
import 'package:hand_signature/signature.dart';
|
||||||
import 'package:twonly/src/views/camera/share_image_editor/image_item.dart';
|
import 'package:twonly/src/views/camera/share_image_editor/image_item.dart';
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,10 @@ class JsonLdParser with BaseMetaInfo {
|
||||||
String? get siteName => OpenGraphParser(document).siteName;
|
String? get siteName => OpenGraphParser(document).siteName;
|
||||||
|
|
||||||
String? _imgResultToStr(dynamic result) {
|
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;
|
if (result is String) return result;
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,11 @@ import 'base.dart';
|
||||||
import 'util.dart';
|
import 'util.dart';
|
||||||
|
|
||||||
class YoutubeParser with BaseMetaInfo {
|
class YoutubeParser with BaseMetaInfo {
|
||||||
YoutubeParser(this.document, this.url) {
|
YoutubeParser(this.document, this._url) {
|
||||||
_jsonData = _parseToJson(document);
|
_jsonData = _parseToJson(document);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
final String _url;
|
||||||
String url;
|
|
||||||
|
|
||||||
Document? document;
|
Document? document;
|
||||||
dynamic _jsonData;
|
dynamic _jsonData;
|
||||||
|
|
@ -44,7 +43,7 @@ class YoutubeParser with BaseMetaInfo {
|
||||||
@override
|
@override
|
||||||
String? get image {
|
String? get image {
|
||||||
final data = _jsonData;
|
final data = _jsonData;
|
||||||
if (data is List && data.isNotEmpty) {
|
if (data is List<Map<String, dynamic>> && data.isNotEmpty) {
|
||||||
return _imgResultToStr(data.first['thumbnail_url']);
|
return _imgResultToStr(data.first['thumbnail_url']);
|
||||||
} else if (data is Map) {
|
} else if (data is Map) {
|
||||||
return _imgResultToStr(data.getDynamic('thumbnail_url'));
|
return _imgResultToStr(data.getDynamic('thumbnail_url'));
|
||||||
|
|
@ -64,12 +63,15 @@ class YoutubeParser with BaseMetaInfo {
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Vendor? get vendor => (Uri.parse(url).host.contains('youtube.com'))
|
Vendor? get vendor => (Uri.parse(_url).host.contains('youtube.com'))
|
||||||
? Vendor.youtubeVideo
|
? Vendor.youtubeVideo
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
String? _imgResultToStr(dynamic result) {
|
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;
|
if (result is String) return result;
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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/services/mediafiles/mediafile.service.dart';
|
||||||
import 'package:twonly/src/utils/misc.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/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/chats/message_info.view.dart';
|
||||||
import 'package:twonly/src/views/components/alert_dialog.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/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';
|
import 'package:twonly/src/views/memories/memories_photo_slider.view.dart';
|
||||||
|
|
||||||
class MessageContextMenu extends StatelessWidget {
|
class MessageContextMenu extends StatelessWidget {
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,15 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/scheduler.dart';
|
import 'package:flutter/scheduler.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:twonly/globals.dart';
|
import 'package:twonly/globals.dart';
|
||||||
import 'package:twonly/src/utils/misc.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/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/chats/media_viewer_components/emoji_reactions_row.component.dart';
|
||||||
import 'package:twonly/src/views/components/animate_icon.dart';
|
import 'package:twonly/src/views/components/animate_icon.dart';
|
||||||
|
import 'package:twonly/src/views/components/emoji_picker.bottom.dart';
|
||||||
|
|
||||||
class ReactionButtons extends StatefulWidget {
|
class ReactionButtons extends StatefulWidget {
|
||||||
const ReactionButtons({
|
const ReactionButtons({
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
// ignore_for_file: avoid_dynamic_calls
|
|
||||||
|
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,7 @@ class _UserStudyQuestionnaireState extends State<UserStudyQuestionnaire> {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(title: const Text('Befragung')),
|
appBar: AppBar(title: const Text('Befragung')),
|
||||||
body: SingleChildScrollView(
|
body: SingleChildScrollView(
|
||||||
padding: const EdgeInsets.all(16.0),
|
padding: const EdgeInsets.all(16),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
|
|
@ -181,7 +181,7 @@ class _UserStudyQuestionnaireState extends State<UserStudyQuestionnaire> {
|
||||||
..._messengerOptions.map(
|
..._messengerOptions.map(
|
||||||
(m) => CheckboxListTile(
|
(m) => CheckboxListTile(
|
||||||
title: Text(m),
|
title: Text(m),
|
||||||
visualDensity: const VisualDensity(horizontal: 0, vertical: -4),
|
visualDensity: const VisualDensity(vertical: -4),
|
||||||
value: (_responses['messengers'] as List<dynamic>).contains(m),
|
value: (_responses['messengers'] as List<dynamic>).contains(m),
|
||||||
onChanged: (bool? value) {
|
onChanged: (bool? value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
|
|
@ -232,7 +232,7 @@ class _UserStudyQuestionnaireState extends State<UserStudyQuestionnaire> {
|
||||||
|
|
||||||
Widget _buildRadioList(List<String> options, String key) {
|
Widget _buildRadioList(List<String> options, String key) {
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 8.0),
|
padding: const EdgeInsets.symmetric(vertical: 8),
|
||||||
child: DropdownButtonFormField<String>(
|
child: DropdownButtonFormField<String>(
|
||||||
decoration: const InputDecoration(
|
decoration: const InputDecoration(
|
||||||
border: OutlineInputBorder(),
|
border: OutlineInputBorder(),
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,7 @@ void main() {
|
||||||
'https://t.co/MQZ7ulHakF',
|
'https://t.co/MQZ7ulHakF',
|
||||||
image: 'https://pbs.twimg.com/media/ECF8Z5KWwAIBZ6o.jpg:large',
|
image: 'https://pbs.twimg.com/media/ECF8Z5KWwAIBZ6o.jpg:large',
|
||||||
vendor: Vendor.twitterPosting,
|
vendor: Vendor.twitterPosting,
|
||||||
)
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
for (final testCase in testCases) {
|
for (final testCase in testCases) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue