From a9a8b3946535bef90be76845292963b66ed6261e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Ku=C3=9Fowski?= Date: Fri, 20 Feb 2026 17:12:53 +0100 Subject: [PATCH] Revert "refactor: Avoid unnecessary bool comparison" This reverts commit 1cd3a9103790bbff0aef4cb29cb69038241fb7c4. --- analysis_options.yaml | 3 +-- lib/pages/bootstrap/bootstrap_dialog.dart | 3 ++- lib/pages/chat/chat.dart | 6 +++--- lib/pages/chat/chat_input_row.dart | 2 +- lib/pages/chat/chat_view.dart | 2 +- lib/pages/chat/events/audio_player.dart | 2 +- lib/pages/chat/recording_view_model.dart | 4 ++-- .../chat_access_settings_controller.dart | 2 +- lib/pages/chat_list/chat_list.dart | 12 +++++++----- lib/pages/chat_list/status_msg_list.dart | 2 +- lib/pages/image_viewer/image_viewer.dart | 2 +- lib/pages/image_viewer/video_player.dart | 2 +- .../flutter_matrix_dart_sdk_database/cipher.dart | 2 +- lib/utils/voip_plugin.dart | 2 +- 14 files changed, 24 insertions(+), 22 deletions(-) diff --git a/analysis_options.yaml b/analysis_options.yaml index 98832a780..6d17e303a 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -37,7 +37,6 @@ dart_code_linter: - avoid-unnecessary-type-assertions - avoid-unnecessary-type-casts - avoid-unrelated-type-assertions - - no-boolean-literal-compare - no-equal-then-else - prefer-first - prefer-last @@ -66,4 +65,4 @@ dart_code_linter: # - avoid-returning-widgets # - prefer-single-widget-per-file: # ignore-private-widgets: true - # - prefer-extracting-callbacks \ No newline at end of file + # - prefer-extracting-callbacks diff --git a/lib/pages/bootstrap/bootstrap_dialog.dart b/lib/pages/bootstrap/bootstrap_dialog.dart index aa1d1dc69..592bb3e85 100644 --- a/lib/pages/bootstrap/bootstrap_dialog.dart +++ b/lib/pages/bootstrap/bootstrap_dialog.dart @@ -161,7 +161,8 @@ class BootstrapDialogState extends State { Widget body = const Center(child: CircularProgressIndicator.adaptive()); titleText = L10n.of(context).loadingPleaseWait; - if (bootstrap.newSsssKey?.recoveryKey != null && _recoveryKeyStored) { + if (bootstrap.newSsssKey?.recoveryKey != null && + _recoveryKeyStored == false) { final key = bootstrap.newSsssKey!.recoveryKey; titleText = L10n.of(context).recoveryKey; return LoginScaffold( diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart index 88eed4d25..15b36b982 100644 --- a/lib/pages/chat/chat.dart +++ b/lib/pages/chat/chat.dart @@ -249,9 +249,9 @@ class ChatController extends State } if (!scrollController.hasClients) return; if (timeline?.allowNewEvent == false || - scrollController.position.pixels > 0 && _scrolledUp) { + scrollController.position.pixels > 0 && _scrolledUp == false) { setState(() => _scrolledUp = true); - } else if (scrollController.position.pixels <= 0 && _scrolledUp) { + } else if (scrollController.position.pixels <= 0 && _scrolledUp == true) { setState(() => _scrolledUp = false); setReadMarker(); } @@ -919,7 +919,7 @@ class ChatController extends State final clients = Matrix.of(context).currentBundle; for (final event in selectedEvents) { if (!event.status.isSent) return false; - if (event.canRedact && + if (event.canRedact == false && !(clients!.any((cl) => event.senderId == cl!.userID))) { return false; } diff --git a/lib/pages/chat/chat_input_row.dart b/lib/pages/chat/chat_input_row.dart index 848e51c88..90173d233 100644 --- a/lib/pages/chat/chat_input_row.dart +++ b/lib/pages/chat/chat_input_row.dart @@ -317,7 +317,7 @@ class ChatInputRow extends StatelessWidget { autofocus: !PlatformInfos.isMobile, keyboardType: TextInputType.multiline, textInputAction: - AppSettings.sendOnEnter.value && + AppSettings.sendOnEnter.value == true && PlatformInfos.isMobile ? TextInputAction.send : null, diff --git a/lib/pages/chat/chat_view.dart b/lib/pages/chat/chat_view.dart index c22d9e4dd..23e0b8add 100644 --- a/lib/pages/chat/chat_view.dart +++ b/lib/pages/chat/chat_view.dart @@ -364,7 +364,7 @@ class ChatView extends StatelessWidget { ? theme.colorScheme.tertiaryContainer : theme.colorScheme.surfaceContainerHigh, borderRadius: BorderRadius.circular(32), - child: controller.room.isAbandonedDMRoom + child: controller.room.isAbandonedDMRoom == true ? Row( mainAxisAlignment: .spaceEvenly, children: [ diff --git a/lib/pages/chat/events/audio_player.dart b/lib/pages/chat/events/audio_player.dart index b6890b544..fd631cbc1 100644 --- a/lib/pages/chat/events/audio_player.dart +++ b/lib/pages/chat/events/audio_player.dart @@ -179,7 +179,7 @@ class AudioPlayerState extends State { matrixFile.mimeType.toLowerCase() == 'audio/ogg') { Logs().v('Convert ogg audio file for iOS...'); final convertedFile = File('${file.path}.caf'); - if (await convertedFile.exists()) { + if (await convertedFile.exists() == false) { OpusCaf().convertOpusToCaf(file.path, convertedFile.path); } file = convertedFile; diff --git a/lib/pages/chat/recording_view_model.dart b/lib/pages/chat/recording_view_model.dart index 40a4320fc..0c75182c3 100644 --- a/lib/pages/chat/recording_view_model.dart +++ b/lib/pages/chat/recording_view_model.dart @@ -55,7 +55,7 @@ class RecordingViewModelState extends State { return; } } - if (await AudioRecorder().hasPermission()) return; + if (await AudioRecorder().hasPermission() == false) return; final audioRecorder = _audioRecorder ??= AudioRecorder(); setState(() {}); @@ -76,7 +76,7 @@ class RecordingViewModelState extends State { } final result = await audioRecorder.hasPermission(); - if (!result) { + if (result != true) { showOkAlertDialog( context: context, title: L10n.of(context).oopsSomethingWentWrong, diff --git a/lib/pages/chat_access_settings/chat_access_settings_controller.dart b/lib/pages/chat_access_settings/chat_access_settings_controller.dart index 95e95e92e..4161099fd 100644 --- a/lib/pages/chat_access_settings/chat_access_settings_controller.dart +++ b/lib/pages/chat_access_settings/chat_access_settings_controller.dart @@ -320,7 +320,7 @@ class ChatAccessSettingsController extends State { try { await room.client.setRoomVisibilityOnDirectory( room.id, - visibility: visibility ? Visibility.public : Visibility.private, + visibility: visibility == true ? Visibility.public : Visibility.private, ); setState(() {}); } catch (e, s) { diff --git a/lib/pages/chat_list/chat_list.dart b/lib/pages/chat_list/chat_list.dart index 9041daf27..aae3a10cc 100644 --- a/lib/pages/chat_list/chat_list.dart +++ b/lib/pages/chat_list/chat_list.dart @@ -168,8 +168,9 @@ class ChatListController extends State initialText: searchServer, keyboardType: TextInputType.url, autocorrect: false, - validator: (server) => - server.contains('.') ? null : L10n.of(context).invalidServerName, + validator: (server) => server.contains('.') == true + ? null + : L10n.of(context).invalidServerName, ); if (newServer == null) return; Matrix.of(context).store.setString(_serverStoreNamespace, newServer); @@ -202,9 +203,10 @@ class ChatListController extends State if (searchQuery.isValidMatrixId && searchQuery.sigil == '#' && - !roomSearchResult.chunk.any( - (room) => room.canonicalAlias == searchQuery, - )) { + roomSearchResult.chunk.any( + (room) => room.canonicalAlias == searchQuery, + ) == + false) { final response = await client.getRoomIdByAlias(searchQuery); final roomId = response.roomId; if (roomId != null) { diff --git a/lib/pages/chat_list/status_msg_list.dart b/lib/pages/chat_list/status_msg_list.dart index d89e75d4f..7677e031f 100644 --- a/lib/pages/chat_list/status_msg_list.dart +++ b/lib/pages/chat_list/status_msg_list.dart @@ -314,7 +314,7 @@ extension on CachedPresence { ? DateTime.now() : DateTime.fromMillisecondsSinceEpoch(0)); - LinearGradient get gradient => presence.isOnline + LinearGradient get gradient => presence.isOnline == true ? LinearGradient( colors: [Colors.green, Colors.green.shade200, Colors.green.shade900], begin: Alignment.topLeft, diff --git a/lib/pages/image_viewer/image_viewer.dart b/lib/pages/image_viewer/image_viewer.dart index 18b73324d..1dba46b28 100644 --- a/lib/pages/image_viewer/image_viewer.dart +++ b/lib/pages/image_viewer/image_viewer.dart @@ -110,7 +110,7 @@ class ImageViewerController extends State { /// Go back if user swiped it away void onInteractionEnds(ScaleEndDetails endDetails) { - if (!PlatformInfos.usesTouchscreen) { + if (PlatformInfos.usesTouchscreen == false) { if (endDetails.velocity.pixelsPerSecond.dy > MediaQuery.sizeOf(context).height * maxScaleFactor) { Navigator.of(context, rootNavigator: false).pop(); diff --git a/lib/pages/image_viewer/video_player.dart b/lib/pages/image_viewer/video_player.dart index 3c8c57925..5ca9fcc2b 100644 --- a/lib/pages/image_viewer/video_player.dart +++ b/lib/pages/image_viewer/video_player.dart @@ -73,7 +73,7 @@ class EventVideoPlayerState extends State { widget.event.attachmentOrThumbnailMxcUrl()!.pathSegments.last, ); final file = File('${tempDir.path}/${fileName}_${videoFile.name}'); - if (!await file.exists()) { + if (await file.exists() == false) { await file.writeAsBytes(videoFile.bytes); } videoPlayerController = VideoPlayerController.file(file); diff --git a/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/cipher.dart b/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/cipher.dart index 775c98dd8..a91c79f20 100644 --- a/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/cipher.dart +++ b/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/cipher.dart @@ -50,7 +50,7 @@ Future getDatabaseCipher() async { void _sendNoEncryptionWarning(Object exception) async { final isStored = AppSettings.noEncryptionWarningShown.value; - if (isStored) return; + if (isStored == true) return; final l10n = await lookupL10n(PlatformDispatcher.instance.locale); ClientManager.sendInitNotification( diff --git a/lib/utils/voip_plugin.dart b/lib/utils/voip_plugin.dart index 27c5d103b..fb5c57146 100644 --- a/lib/utils/voip_plugin.dart +++ b/lib/utils/voip_plugin.dart @@ -117,7 +117,7 @@ class VoipPlugin with WidgetsBindingObserver implements WebRTCDelegate { await matrix.store.setString( 'wasForeground', - wasForeground ? 'true' : 'false', + wasForeground == true ? 'true' : 'false', ); FlutterForegroundTask.setOnLockScreenVisibility(true); FlutterForegroundTask.wakeUpScreen();