From 2395db50bea9f4be0141ac73294666027749e364 Mon Sep 17 00:00:00 2001 From: Bernd Steckmeister Date: Fri, 3 Jul 2026 06:32:50 +0200 Subject: [PATCH] style: weitere flutter-analyze Infos beheben MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ungenutzte Imports (dart:typed_data, flutter/services.dart), unnötige String-Interpolations-Klammern, führender Unterstrich bei lokaler Funktion, fehlende Blockklammern bei if-Statements und SCREAMING_CASE-Konstanten in clipboard_image.dart auf lowerCamelCase umbenannt. Rein mechanisch, keine Verhaltensänderung. Co-Authored-By: Claude Sonnet 5 --- CHANGES.md | 7 ++++ lib/features/call/voice_channel.dart | 6 +-- lib/features/chat/attachment_dialog.dart | 2 +- lib/features/chat/chat_composer.dart | 1 - lib/utils/clipboard_image.dart | 6 +-- lib/widgets/create_join_dialog.dart | 13 ++++--- lib/widgets/settings_modal.dart | 49 ++++++++++++++---------- 7 files changed, 49 insertions(+), 35 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 6636c4c..24b847b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1101,3 +1101,10 @@ 2026-07-03 06:29 [Edit] /home/steggi/pyramid/lib/core/background_push.dart 2026-07-03 06:29 [Edit] /home/steggi/pyramid/lib/core/background_push.dart 2026-07-03 06:29 [Edit] /home/steggi/pyramid/lib/core/voip_manager.dart +2026-07-03 06:31 [Edit] /home/steggi/pyramid/lib/features/chat/chat_composer.dart +2026-07-03 06:31 [Edit] /home/steggi/pyramid/lib/widgets/settings_modal.dart +2026-07-03 06:31 [Edit] /home/steggi/pyramid/lib/widgets/create_join_dialog.dart +2026-07-03 06:31 [Edit] /home/steggi/pyramid/lib/features/chat/attachment_dialog.dart +2026-07-03 06:31 [Edit] /home/steggi/pyramid/lib/widgets/create_join_dialog.dart +2026-07-03 06:32 [Edit] /home/steggi/pyramid/lib/widgets/settings_modal.dart +2026-07-03 06:32 [Edit] /home/steggi/pyramid/lib/widgets/settings_modal.dart diff --git a/lib/features/call/voice_channel.dart b/lib/features/call/voice_channel.dart index fb8e475..9cce6cc 100644 --- a/lib/features/call/voice_channel.dart +++ b/lib/features/call/voice_channel.dart @@ -145,7 +145,7 @@ class VoiceChannelView extends ConsumerWidget { List<_ParticipantData> _getVoipParticipants(PyramidVoipManager voip) { final participants = <_ParticipantData>[]; - double _ar(rtc.RTCVideoRenderer r) { + double ar(rtc.RTCVideoRenderer r) { final w = r.videoWidth.toDouble(); final h = r.videoHeight.toDouble(); return (w > 0 && h > 0) ? w / h : 16.0 / 9.0; @@ -162,7 +162,7 @@ class VoiceChannelView extends ConsumerWidget { hasVideo: hasRemoteVideo, isScreenShare: isRemoteScreen, avatarColor: _avatarColors[1], - aspectRatio: hasRemoteVideo ? _ar(voip.remoteRenderer) : 16.0 / 9.0, + aspectRatio: hasRemoteVideo ? ar(voip.remoteRenderer) : 16.0 / 9.0, )); // Local @@ -176,7 +176,7 @@ class VoiceChannelView extends ConsumerWidget { hasVideo: hasLocalVideo, isScreenShare: isLocalScreen, avatarColor: _avatarColors[0], - aspectRatio: hasLocalVideo ? _ar(voip.localRenderer) : 16.0 / 9.0, + aspectRatio: hasLocalVideo ? ar(voip.localRenderer) : 16.0 / 9.0, )); return participants; diff --git a/lib/features/chat/attachment_dialog.dart b/lib/features/chat/attachment_dialog.dart index 7dd48ab..bd95af2 100644 --- a/lib/features/chat/attachment_dialog.dart +++ b/lib/features/chat/attachment_dialog.dart @@ -321,7 +321,7 @@ class _FilePreviewState extends State<_FilePreview> { } String _formatSize(int bytes) { - if (bytes < 1024) return '${bytes} B'; + if (bytes < 1024) return '$bytes B'; if (bytes < 1024 * 1024) return '${(bytes / 1024).toStringAsFixed(1)} KB'; return '${(bytes / (1024 * 1024)).toStringAsFixed(1)} MB'; } diff --git a/lib/features/chat/chat_composer.dart b/lib/features/chat/chat_composer.dart index b65bcee..a834014 100644 --- a/lib/features/chat/chat_composer.dart +++ b/lib/features/chat/chat_composer.dart @@ -1,6 +1,5 @@ import 'dart:async'; import 'dart:io'; -import 'dart:typed_data'; import 'package:file_picker/file_picker.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; diff --git a/lib/utils/clipboard_image.dart b/lib/utils/clipboard_image.dart index df00b9d..96b927b 100644 --- a/lib/utils/clipboard_image.dart +++ b/lib/utils/clipboard_image.dart @@ -7,8 +7,8 @@ import 'package:image/image.dart' as img; // ── Windows constants ──────────────────────────────────────────────────────── -const _CF_DIB = 8; -const _CF_DIBV4 = 20; +const _cfDib = 8; +const _cfDibV4 = 20; // ── Native function typedefs ───────────────────────────────────────────────── @@ -94,7 +94,7 @@ Uint8List? _readClipboardImage() { } // 2. Try CF_DIBV4 then CF_DIB — convert DIB to PNG via the image package - for (final fmt in [_CF_DIBV4, _CF_DIB]) { + for (final fmt in [_cfDibV4, _cfDib]) { if (isFormatAvailable(fmt) != 0) { final dibBytes = _readGlobalBytes( getClipboardData(fmt), globalSize, globalLock, globalUnlock); diff --git a/lib/widgets/create_join_dialog.dart b/lib/widgets/create_join_dialog.dart index b13f4a8..3474312 100644 --- a/lib/widgets/create_join_dialog.dart +++ b/lib/widgets/create_join_dialog.dart @@ -1,7 +1,6 @@ import 'dart:async'; import 'package:flutter/material.dart' hide Visibility; -import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:matrix/matrix.dart'; import 'package:pyramid/core/app_state.dart'; @@ -189,11 +188,13 @@ class _CreateJoinDialogState extends ConsumerState { }); } } catch (e) { - if (mounted) setState(() { - _discoverLoading = false; - _discoverLoadingMore = false; - _discoverError = e.toString().split('\n').first; - }); + if (mounted) { + setState(() { + _discoverLoading = false; + _discoverLoadingMore = false; + _discoverError = e.toString().split('\n').first; + }); + } } } diff --git a/lib/widgets/settings_modal.dart b/lib/widgets/settings_modal.dart index 36c478e..f3a12bd 100644 --- a/lib/widgets/settings_modal.dart +++ b/lib/widgets/settings_modal.dart @@ -2,7 +2,6 @@ import 'dart:async'; import 'dart:convert'; import 'dart:io'; import 'dart:math'; -import 'dart:typed_data'; import 'package:crypto/crypto.dart' as mcrypto; import 'package:pyramid/core/fcm_push_service.dart'; @@ -3666,17 +3665,21 @@ class _EncryptionSectionState extends ConsumerState<_EncryptionSection> { final file = File('${dir.path}/pyramid_keys_$stamp.txt'); await file.writeAsString(encrypted); - if (mounted) setState(() { - _exportLoading = false; - _keyFileMsgIsError = false; - _keyFileMsg = '${sessions.length} Schlüssel exportiert → ${file.path}'; - }); + if (mounted) { + setState(() { + _exportLoading = false; + _keyFileMsgIsError = false; + _keyFileMsg = '${sessions.length} Schlüssel exportiert → ${file.path}'; + }); + } } catch (e) { - if (mounted) setState(() { - _exportLoading = false; - _keyFileMsgIsError = true; - _keyFileMsg = 'Export fehlgeschlagen: ${e.toString().split('\n').first}'; - }); + if (mounted) { + setState(() { + _exportLoading = false; + _keyFileMsgIsError = true; + _keyFileMsg = 'Export fehlgeschlagen: ${e.toString().split('\n').first}'; + }); + } } } @@ -3753,17 +3756,21 @@ class _EncryptionSectionState extends ConsumerState<_EncryptionSection> { } catch (_) { continue; } } - if (mounted) setState(() { - _importLoading = false; - _keyFileMsgIsError = false; - _keyFileMsg = '$imported von ${sessions.length} Schlüssel importiert.'; - }); + if (mounted) { + setState(() { + _importLoading = false; + _keyFileMsgIsError = false; + _keyFileMsg = '$imported von ${sessions.length} Schlüssel importiert.'; + }); + } } catch (e) { - if (mounted) setState(() { - _importLoading = false; - _keyFileMsgIsError = true; - _keyFileMsg = 'Import fehlgeschlagen: ${e.toString().split('\n').first}'; - }); + if (mounted) { + setState(() { + _importLoading = false; + _keyFileMsgIsError = true; + _keyFileMsg = 'Import fehlgeschlagen: ${e.toString().split('\n').first}'; + }); + } } }