refactor: Add more linter rules

This commit is contained in:
Christian Kußowski 2026-02-19 09:19:05 +01:00
parent 1cd3a91037
commit 7a1eded1bb
No known key found for this signature in database
GPG key ID: E067ECD60F1A0652
5 changed files with 28 additions and 11 deletions

View file

@ -28,3 +28,23 @@ dart_code_linter:
- avoid-unnecessary-type-casts - avoid-unnecessary-type-casts
- avoid-unrelated-type-assertions - avoid-unrelated-type-assertions
- no-boolean-literal-compare - no-boolean-literal-compare
- no-equal-then-else
- prefer-first
- prefer-last
- prefer-immediate-return
- prefer-enums-by-name
- avoid-unnecessary-conditionals
# TODO:
# - member-ordering
# - avoid-late-keyword
# - avoid-non-null-assertion
# - avoid-global-state
# - prefer-match-file-name
# - avoid-banned-imports:
# entries:
# - paths: ['some/folder/.*\.dart', 'another/folder/.*\.dart']
# deny: ['package:flutter/material.dart']
# message: 'Do not import Flutter Material Design library, we should not depend on it!'
# - no-magic-number:
# allowed: [-1, 0, 1,2,4,6,8,12,16,32,40,56,64]
# allow-only-once: true

View file

@ -159,7 +159,7 @@ class InputBar extends StatelessWidget {
slugify( slugify(
user.displayName!.toLowerCase(), user.displayName!.toLowerCase(),
).contains(userSearch))) || ).contains(userSearch))) ||
user.id.split(':')[0].toLowerCase().contains(userSearch)) { user.id.localpart!.toLowerCase().contains(userSearch)) {
ret.add({ ret.add({
'type': 'user', 'type': 'user',
'mxid': user.id, 'mxid': user.id,
@ -185,17 +185,14 @@ class InputBar extends StatelessWidget {
((state.content['alias'] is String && ((state.content['alias'] is String &&
state.content state.content
.tryGet<String>('alias')! .tryGet<String>('alias')!
.split(':')[0] .localpart!
.toLowerCase() .toLowerCase()
.contains(roomSearch)) || .contains(roomSearch)) ||
(state.content['alt_aliases'] is List && (state.content['alt_aliases'] is List &&
(state.content['alt_aliases'] as List).any( (state.content['alt_aliases'] as List).any(
(l) => (l) =>
l is String && l is String &&
l l.localpart!.toLowerCase().contains(roomSearch),
.split(':')[0]
.toLowerCase()
.contains(roomSearch),
)))) || )))) ||
(r.name.toLowerCase().contains(roomSearch))) { (r.name.toLowerCase().contains(roomSearch))) {
ret.add({ ret.add({

View file

@ -147,7 +147,7 @@ class MyCallingPage extends State<Calling> {
MediaStream? get remoteStream { MediaStream? get remoteStream {
if (call.getRemoteStreams.isNotEmpty) { if (call.getRemoteStreams.isNotEmpty) {
return call.getRemoteStreams[0].stream!; return call.getRemoteStreams.first.stream!;
} }
return null; return null;
} }
@ -327,7 +327,7 @@ class MyCallingPage extends State<Calling> {
void _switchCamera() async { void _switchCamera() async {
if (call.localUserMediaStream != null) { if (call.localUserMediaStream != null) {
await Helper.switchCamera( await Helper.switchCamera(
call.localUserMediaStream!.stream!.getVideoTracks()[0], call.localUserMediaStream!.stream!.getVideoTracks().first,
); );
} }
setState(() {}); setState(() {});

View file

@ -248,7 +248,7 @@ class KeyVerificationPageState extends State<KeyVerificationDialog> {
} else { } else {
title = Text(L10n.of(context).compareNumbersMatch); title = Text(L10n.of(context).compareNumbersMatch);
final numbers = widget.request.sasNumbers; final numbers = widget.request.sasNumbers;
final numbstr = '${numbers[0]}-${numbers[1]}-${numbers[2]}'; final numbstr = '${numbers.first}-${numbers[1]}-${numbers[2]}';
compareWidget = TextSpan( compareWidget = TextSpan(
text: numbstr, text: numbstr,
style: const TextStyle(fontSize: 40), style: const TextStyle(fontSize: 40),

View file

@ -340,7 +340,7 @@ class FluffyChatPushPayload {
if (parts.length != 3) { if (parts.length != 3) {
return FluffyChatPushPayload(null, null, null); return FluffyChatPushPayload(null, null, null);
} }
return FluffyChatPushPayload(parts[0], parts[1], parts[2]); return FluffyChatPushPayload(parts.first, parts[1], parts[2]);
} }
@override @override