diff --git a/analysis_options.yaml b/analysis_options.yaml index 36171e35e..98832a780 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -17,6 +17,8 @@ linter: - unnecessary_statements - avoid_bool_literals_in_conditional_expressions - prefer_single_quotes + - prefer_const_declarations + - unnecessary_lambdas analyzer: plugins: diff --git a/lib/pages/chat/chat_event_list.dart b/lib/pages/chat/chat_event_list.dart index a1e3e9530..c05230431 100644 --- a/lib/pages/chat/chat_event_list.dart +++ b/lib/pages/chat/chat_event_list.dart @@ -155,8 +155,7 @@ class ChatEventList extends StatelessWidget { highlightMarker: controller.scrollToEventIdMarker == event.eventId, onSelect: controller.onSelectMessage, - scrollToEventId: (String eventId) => - controller.scrollToEventId(eventId), + scrollToEventId: controller.scrollToEventId, longPressSelect: controller.selectedEvents.isNotEmpty, selected: controller.selectedEvents.any( (e) => e.eventId == event.eventId, @@ -164,7 +163,7 @@ class ChatEventList extends StatelessWidget { singleSelected: controller.selectedEvents.singleOrNull?.eventId == event.eventId, - onEdit: () => controller.editSelectedEventAction(), + onEdit: controller.editSelectedEventAction, timeline: timeline, displayReadMarker: i > 0 && controller.readMarkerEventId == event.eventId, diff --git a/lib/pages/chat/events/message_content.dart b/lib/pages/chat/events/message_content.dart index ad406e55b..cf1f07f4f 100644 --- a/lib/pages/chat/events/message_content.dart +++ b/lib/pages/chat/events/message_content.dart @@ -207,7 +207,7 @@ class MessageContent extends StatelessWidget { .split(';') .first .split(',') - .map((s) => double.tryParse(s)) + .map(double.tryParse) .toList(); if (latlong.length == 2 && latlong.first != null && diff --git a/lib/pages/chat/events/message_reactions.dart b/lib/pages/chat/events/message_reactions.dart index 86d8ade6a..4bafaa6f3 100644 --- a/lib/pages/chat/events/message_reactions.dart +++ b/lib/pages/chat/events/message_reactions.dart @@ -66,7 +66,7 @@ class MessageReactions extends StatelessWidget { if (evt != null) { showFutureLoadingDialog( context: context, - future: () => evt.redactEvent(), + future: evt.redactEvent, ); } } else { diff --git a/lib/pages/chat/events/poll.dart b/lib/pages/chat/events/poll.dart index 7cc57dc78..d4506602d 100644 --- a/lib/pages/chat/events/poll.dart +++ b/lib/pages/chat/events/poll.dart @@ -25,7 +25,7 @@ class PollWidget extends StatelessWidget { }); void _endPoll(BuildContext context) => - showFutureLoadingDialog(context: context, future: () => event.endPoll()); + showFutureLoadingDialog(context: context, future: event.endPoll); void _toggleVote(BuildContext context, String answerId, int maxSelection) { final userId = event.room.client.userID!; diff --git a/lib/pages/chat/recording_view_model.dart b/lib/pages/chat/recording_view_model.dart index 815d8b113..40a4320fc 100644 --- a/lib/pages/chat/recording_view_model.dart +++ b/lib/pages/chat/recording_view_model.dart @@ -145,9 +145,7 @@ class RecordingViewModelState extends State { } void cancel() { - setState(() { - _reset(); - }); + setState(_reset); } void pause() { diff --git a/lib/pages/chat_access_settings/chat_access_settings_page.dart b/lib/pages/chat_access_settings/chat_access_settings_page.dart index a2f040799..5c1c55c66 100644 --- a/lib/pages/chat_access_settings/chat_access_settings_page.dart +++ b/lib/pages/chat_access_settings/chat_access_settings_page.dart @@ -181,9 +181,7 @@ class ChatAccessSettingsPageView extends StatelessWidget { return const SizedBox.shrink(); } localAddresses.remove(room.canonicalAlias); - localAddresses.removeWhere( - (alias) => altAliases.contains(alias), - ); + localAddresses.removeWhere(altAliases.contains); return Column( mainAxisSize: .min, children: localAddresses diff --git a/lib/pages/chat_list/chat_list_body.dart b/lib/pages/chat_list/chat_list_body.dart index 38253d059..ba1fee31d 100644 --- a/lib/pages/chat_list/chat_list_body.dart +++ b/lib/pages/chat_list/chat_list_body.dart @@ -35,7 +35,7 @@ class ChatListViewBody extends StatelessWidget { key: ValueKey(activeSpace), spaceId: activeSpace, onBack: controller.clearActiveSpace, - onChatTab: (room) => controller.onChatTap(room), + onChatTab: controller.onChatTap, activeChat: controller.activeChat, ); } @@ -123,7 +123,7 @@ class ChatListViewBody extends StatelessWidget { if (!controller.isSearchMode && AppSettings.showPresences.value) GestureDetector( - onLongPress: () => controller.dismissStatusList(), + onLongPress: controller.dismissStatusList, child: StatusMessageList( onStatusEdit: controller.setStatus, ), diff --git a/lib/pages/dialer/dialer.dart b/lib/pages/dialer/dialer.dart index 006ef3d53..ae2d56552 100644 --- a/lib/pages/dialer/dialer.dart +++ b/lib/pages/dialer/dialer.dart @@ -194,9 +194,7 @@ class MyCallingPage extends State { call.onCallStateChanged.stream.listen(_handleCallState); call.onCallEventChanged.stream.listen((event) { if (event == CallStateChange.kFeedsChanged) { - setState(() { - call.tryRemoveStopedStreams(); - }); + setState(call.tryRemoveStopedStreams); } else if (event == CallStateChange.kLocalHoldUnhold || event == CallStateChange.kRemoteHoldUnhold) { setState(() {}); diff --git a/lib/utils/matrix_sdk_extensions/device_extension.dart b/lib/utils/matrix_sdk_extensions/device_extension.dart index 3872309ca..6f8ec4ed6 100644 --- a/lib/utils/matrix_sdk_extensions/device_extension.dart +++ b/lib/utils/matrix_sdk_extensions/device_extension.dart @@ -4,10 +4,10 @@ import 'package:matrix/matrix.dart'; IconData _getIconFromName(String displayname) { final name = displayname.toLowerCase(); - if ({'android'}.any((s) => name.contains(s))) { + if ({'android'}.any(name.contains)) { return Icons.phone_android_outlined; } - if ({'ios', 'ipad', 'iphone', 'ipod'}.any((s) => name.contains(s))) { + if ({'ios', 'ipad', 'iphone', 'ipod'}.any(name.contains)) { return Icons.phone_iphone_outlined; } if ({ @@ -19,16 +19,10 @@ IconData _getIconFromName(String displayname) { '/_matrix', 'safari', 'opera', - }.any((s) => name.contains(s))) { + }.any(name.contains)) { return Icons.web_outlined; } - if ({ - 'desktop', - 'windows', - 'macos', - 'linux', - 'ubuntu', - }.any((s) => name.contains(s))) { + if ({'desktop', 'windows', 'macos', 'linux', 'ubuntu'}.any(name.contains)) { return Icons.desktop_mac_outlined; } return Icons.device_unknown_outlined; diff --git a/lib/utils/stream_extension.dart b/lib/utils/stream_extension.dart index 66e840fce..80983b50f 100644 --- a/lib/utils/stream_extension.dart +++ b/lib/utils/stream_extension.dart @@ -35,7 +35,7 @@ extension StreamExtension on Stream { }; final subscription = listen( (_) => onMessage?.call(), - onDone: () => controller.close(), + onDone: controller.close, onError: (e, s) => controller.addError(e, s), ); // add proper cleanup to the subscription and the controller, to not memory leak diff --git a/lib/utils/uia_request_manager.dart b/lib/utils/uia_request_manager.dart index 34a51b1cf..e422f966c 100644 --- a/lib/utils/uia_request_manager.dart +++ b/lib/utils/uia_request_manager.dart @@ -105,9 +105,7 @@ extension UiaRequestManager on MatrixState { launchUrl(url, mode: LaunchMode.inAppBrowserView); final completer = Completer(); - final listener = AppLifecycleListener( - onResume: () => completer.complete(), - ); + final listener = AppLifecycleListener(onResume: completer.complete); await completer.future; listener.dispose(); diff --git a/lib/utils/url_launcher.dart b/lib/utils/url_launcher.dart index 47613e5d4..994d40c45 100644 --- a/lib/utils/url_launcher.dart +++ b/lib/utils/url_launcher.dart @@ -66,7 +66,7 @@ class UrlLauncher { .split(';') .first .split(',') - .map((s) => double.tryParse(s)) + .map(double.tryParse) .toList(); if (latlong.length == 2 && latlong.first != null &&