diff --git a/.github/workflows/analyze-test.yaml b/.github/workflows/analyze-test.yaml index 5a07f03c4f..60427c9d44 100644 --- a/.github/workflows/analyze-test.yaml +++ b/.github/workflows/analyze-test.yaml @@ -32,7 +32,7 @@ jobs: - name: Setup flutter uses: subosito/flutter-action@v2 with: - flutter-version: "3.24.5" + flutter-version: "3.27.4" channel: "stable" cache: true cache-key: "deps-${{ hashFiles('**/pubspec.lock') }}" diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index e841305c8d..26a0d0876b 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -6,7 +6,7 @@ on: name: Build dev binaries env: - FLUTTER_VERSION: 3.24.5 + FLUTTER_VERSION: 3.27.4 XCODE_VERSION: 16.0 jobs: diff --git a/.github/workflows/gh-pages.yaml b/.github/workflows/gh-pages.yaml index f05193ee6d..3622cebcaa 100644 --- a/.github/workflows/gh-pages.yaml +++ b/.github/workflows/gh-pages.yaml @@ -23,7 +23,7 @@ jobs: - name: Setup flutter uses: subosito/flutter-action@v2 with: - flutter-version: "3.24.5" + flutter-version: "3.27.4" channel: "stable" cache: true cache-key: deps-${{ hashFiles('**/pubspec.lock') }} # optional, change this to force refresh cache diff --git a/.github/workflows/patrol-integration-test.yaml b/.github/workflows/patrol-integration-test.yaml index 296cc0ce5e..b7d59dbccb 100644 --- a/.github/workflows/patrol-integration-test.yaml +++ b/.github/workflows/patrol-integration-test.yaml @@ -7,7 +7,7 @@ on: env: JAVA_VERSION: 17 - FLUTTER_VERSION: 3.24.5 + FLUTTER_VERSION: 3.27.4 jobs: mobile_integration_test: diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 95be54f5a4..2007084457 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -6,7 +6,7 @@ on: name: Release env: - FLUTTER_VERSION: 3.24.5 + FLUTTER_VERSION: 3.27.4 XCODE_VERSION: 16.0 jobs: diff --git a/Dockerfile b/Dockerfile index 2d615ac6d9..c5383e14d6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -ARG FLUTTER_VERSION=3.24.5 +ARG FLUTTER_VERSION=3.27.4 # Stage 1 - Install dependencies and build the app # This matches the flutter version on our CI/CD pipeline on Github FROM --platform=amd64 ghcr.io/cirruslabs/flutter:${FLUTTER_VERSION} AS build-env diff --git a/contact/pubspec.lock b/contact/pubspec.lock index 4f92991709..7f1ceef771 100644 --- a/contact/pubspec.lock +++ b/contact/pubspec.lock @@ -173,10 +173,10 @@ packages: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" convert: dependency: transitive description: @@ -708,18 +708,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -1052,7 +1052,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_gen: dependency: transitive description: @@ -1081,10 +1081,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" stream_channel: dependency: transitive description: @@ -1105,10 +1105,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" term_glyph: dependency: transitive description: @@ -1121,10 +1121,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.3" timing: dependency: transitive description: @@ -1265,10 +1265,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.3.0" watcher: dependency: transitive description: @@ -1297,10 +1297,10 @@ packages: dependency: transitive description: name: win32 - sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4 + sha256: "8b338d4486ab3fbc0ba0db9f9b4f5239b6697fcee427939a40e720cbb9ee0a69" url: "https://pub.dev" source: hosted - version: "5.5.1" + version: "5.9.0" win32_registry: dependency: transitive description: diff --git a/core/lib/presentation/extensions/color_extension.dart b/core/lib/presentation/extensions/color_extension.dart index 92fe2f4369..cd450c2088 100644 --- a/core/lib/presentation/extensions/color_extension.dart +++ b/core/lib/presentation/extensions/color_extension.dart @@ -284,7 +284,15 @@ extension AppColor on Color { [Color(0xFF87A6F8), Color(0xFF645FF6)], ]; - String toHexTriplet() => '#${(value & 0xFFFFFF) + int toInt() { + final alpha = (a * 255).toInt(); + final red = (r * 255).toInt(); + final green = (g * 255).toInt(); + final blue = (b * 255).toInt(); + return (alpha << 24) | (red << 16) | (green << 8) | blue; + } + + String toHexTriplet() => '#${(toInt() & 0xFFFFFF) .toRadixString(16) .padLeft(6, '0') .toUpperCase()}'; diff --git a/core/lib/presentation/utils/theme_utils.dart b/core/lib/presentation/utils/theme_utils.dart index c7dd9ec340..5038b50cce 100644 --- a/core/lib/presentation/utils/theme_utils.dart +++ b/core/lib/presentation/utils/theme_utils.dart @@ -12,7 +12,7 @@ class ThemeUtils { fontFamily: ConstantsUI.fontApp, appBarTheme: _appBarTheme, textTheme: _textTheme, - hoverColor: Theme.of(context).colorScheme.outline.withOpacity(0.08), + hoverColor: Theme.of(context).colorScheme.outline.withValues(alpha: 0.08), textSelectionTheme: _textSelectionTheme, dividerTheme: _dividerTheme, visualDensity: VisualDensity.adaptivePlatformDensity, @@ -281,7 +281,7 @@ class ThemeUtils { letterSpacing: 0.25, fontSize: 14, height: 20 / 14, - color: AppColor.textSecondary.withOpacity(0.48), + color: AppColor.textSecondary.withValues(alpha: 0.48), ); static const TextStyle textStyleM3BodyLarge = TextStyle( @@ -317,7 +317,7 @@ class ThemeUtils { letterSpacing: 0.0, fontSize: 24, height: 28.01 / 24, - color: AppColor.gray424244.withOpacity(0.9), + color: AppColor.gray424244.withValues(alpha: 0.9), ); static const TextStyle defaultTextStyleInterFont = TextStyle( diff --git a/core/lib/presentation/views/dialog/color_picker_dialog_builder.dart b/core/lib/presentation/views/dialog/color_picker_dialog_builder.dart index be1ef45ef8..397e5f9157 100644 --- a/core/lib/presentation/views/dialog/color_picker_dialog_builder.dart +++ b/core/lib/presentation/views/dialog/color_picker_dialog_builder.dart @@ -88,7 +88,7 @@ class ColorPickerDialogBuilder { colorCodeHasColor: true, shouldUpdate: _shouldUpdate, onColorChanged: (Color color) { - if (AppColor.listColorsPicker.any((element) => element.value == color.value)) { + if (AppColor.listColorsPicker.any((element) => element.toInt() == color.toInt())) { _shouldUpdate = true; _currentColor.value = color; } else { diff --git a/core/lib/presentation/views/dialog/confirm_dialog_button.dart b/core/lib/presentation/views/dialog/confirm_dialog_button.dart index 2ad39afeb5..dcf166f37c 100644 --- a/core/lib/presentation/views/dialog/confirm_dialog_button.dart +++ b/core/lib/presentation/views/dialog/confirm_dialog_button.dart @@ -31,7 +31,7 @@ class ConfirmDialogButton extends StatelessWidget { return TextButton( style: TextButton.styleFrom( backgroundColor: backgroundColor, - overlayColor: Theme.of(context).colorScheme.outline.withOpacity(0.08), + overlayColor: Theme.of(context).colorScheme.outline.withValues(alpha: 0.08), shape: outlineBorder, padding: const EdgeInsets.symmetric(horizontal: 10), ), diff --git a/core/pubspec.lock b/core/pubspec.lock index f3b22121a3..0412fdd190 100644 --- a/core/pubspec.lock +++ b/core/pubspec.lock @@ -173,10 +173,10 @@ packages: dependency: "direct main" description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" convert: dependency: transitive description: @@ -676,18 +676,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -1005,7 +1005,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_gen: dependency: transitive description: @@ -1026,10 +1026,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" stream_channel: dependency: transitive description: @@ -1050,10 +1050,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" term_glyph: dependency: transitive description: @@ -1066,10 +1066,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.3" timing: dependency: transitive description: @@ -1202,10 +1202,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.3.0" watcher: dependency: transitive description: @@ -1234,10 +1234,10 @@ packages: dependency: "direct main" description: name: win32 - sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4 + sha256: "8b338d4486ab3fbc0ba0db9f9b4f5239b6697fcee427939a40e720cbb9ee0a69" url: "https://pub.dev" source: hosted - version: "5.5.1" + version: "5.9.0" win32_registry: dependency: transitive description: diff --git a/core/pubspec.yaml b/core/pubspec.yaml index 8106d880b0..0c781e2583 100644 --- a/core/pubspec.yaml +++ b/core/pubspec.yaml @@ -75,7 +75,7 @@ dependencies: path_provider: 2.1.5 - collection: 1.18.0 + collection: 1.19.0 intl: 0.19.0 @@ -93,7 +93,7 @@ dependencies: debounce_throttle: 2.0.0 - win32: 5.5.1 + win32: 5.9.0 pull_to_refresh: 2.0.0 diff --git a/cozy/pubspec.lock b/cozy/pubspec.lock index e17ce25da4..6f6f68ee83 100644 --- a/cozy/pubspec.lock +++ b/cozy/pubspec.lock @@ -45,10 +45,10 @@ packages: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" equatable: dependency: transitive description: @@ -140,18 +140,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -245,7 +245,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_span: dependency: transitive description: @@ -258,10 +258,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" stream_channel: dependency: transitive description: @@ -274,10 +274,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" term_glyph: dependency: transitive description: @@ -290,10 +290,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.3" vector_math: dependency: transitive description: @@ -306,10 +306,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.3.0" sdks: dart: ">=3.5.4 <4.0.0" flutter: ">=3.18.0-18.0.pre.54" diff --git a/email_recovery/pubspec.lock b/email_recovery/pubspec.lock index 4d54a4d80e..0d1128f4af 100644 --- a/email_recovery/pubspec.lock +++ b/email_recovery/pubspec.lock @@ -141,10 +141,10 @@ packages: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" convert: dependency: transitive description: @@ -328,18 +328,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -472,7 +472,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_gen: dependency: transitive description: @@ -501,10 +501,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" stream_channel: dependency: transitive description: @@ -525,10 +525,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" term_glyph: dependency: transitive description: @@ -541,10 +541,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.3" timing: dependency: transitive description: @@ -573,10 +573,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.3.0" watcher: dependency: transitive description: diff --git a/fcm/pubspec.lock b/fcm/pubspec.lock index 269a581b2e..33c3885a02 100644 --- a/fcm/pubspec.lock +++ b/fcm/pubspec.lock @@ -141,10 +141,10 @@ packages: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" convert: dependency: transitive description: @@ -328,18 +328,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -472,7 +472,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_gen: dependency: transitive description: @@ -501,10 +501,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" stream_channel: dependency: transitive description: @@ -525,10 +525,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" term_glyph: dependency: transitive description: @@ -541,10 +541,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.3" timing: dependency: transitive description: @@ -573,10 +573,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.3.0" watcher: dependency: transitive description: diff --git a/forward/pubspec.lock b/forward/pubspec.lock index 269a581b2e..33c3885a02 100644 --- a/forward/pubspec.lock +++ b/forward/pubspec.lock @@ -141,10 +141,10 @@ packages: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" convert: dependency: transitive description: @@ -328,18 +328,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -472,7 +472,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_gen: dependency: transitive description: @@ -501,10 +501,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" stream_channel: dependency: transitive description: @@ -525,10 +525,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" term_glyph: dependency: transitive description: @@ -541,10 +541,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.3" timing: dependency: transitive description: @@ -573,10 +573,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.3.0" watcher: dependency: transitive description: diff --git a/integration_test/scenarios/search_email_with_sort_order_scenario.dart b/integration_test/scenarios/search_email_with_sort_order_scenario.dart index 1ddb07952c..2478d55d74 100644 --- a/integration_test/scenarios/search_email_with_sort_order_scenario.dart +++ b/integration_test/scenarios/search_email_with_sort_order_scenario.dart @@ -174,7 +174,7 @@ class SearchEmailWithSortOrderScenario extends BaseTestScenario { final listReceiveAtTime = listEmailTile .map((emailTile) => emailTile.presentationEmail.receivedAt?.value) - .whereNotNull() + .nonNulls .toList(); expect(listReceiveAtTime.isSortedByMostRecent(), isTrue); @@ -186,7 +186,7 @@ class SearchEmailWithSortOrderScenario extends BaseTestScenario { final listReceiveAtTime = listEmailTile .map((emailTile) => emailTile.presentationEmail.receivedAt?.value) - .whereNotNull() + .nonNulls .toList(); expect(listReceiveAtTime.isSortedByOldestFirst(), isTrue); @@ -200,7 +200,7 @@ class SearchEmailWithSortOrderScenario extends BaseTestScenario { List sizeList = listEmailTile .mapIndexed((index, emailTile) => listEmailTile.elementAt(index).presentationEmail.size) - .whereNotNull() + .nonNulls .toList(); expect(_isSortedAscending(sizeList), isTrue); @@ -214,7 +214,7 @@ class SearchEmailWithSortOrderScenario extends BaseTestScenario { List sizeList = listEmailTile .mapIndexed((index, emailTile) => listEmailTile.elementAt(index).presentationEmail.size) - .whereNotNull() + .nonNulls .toList(); expect(_isSortedAscending(sizeList), isFalse); diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 1aa21f46d8..096655d3df 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -372,7 +372,7 @@ SPEC CHECKSUMS: DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60 external_app_launcher: ad55ac844aa21f2d2197d7cec58ff0d0dc40bbc0 - file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655 + file_picker: b159e0c068aef54932bb15dc9fd1571818edaf49 Firebase: 0219acf760880eeec8ce479895bd7767466d9f81 firebase_core: dee76ded6c693fdb38b8ea39aef7129e32e587a3 firebase_messaging: 67fbcdaf6a7c81849590e542eff2409dc49d9fa5 diff --git a/lib/features/base/mixin/handle_error_mixin.dart b/lib/features/base/mixin/handle_error_mixin.dart index 7f03d3c3ec..99e700c8ab 100644 --- a/lib/features/base/mixin/handle_error_mixin.dart +++ b/lib/features/base/mixin/handle_error_mixin.dart @@ -1,4 +1,3 @@ -import 'package:collection/collection.dart'; import 'package:core/core.dart'; import 'package:dartz/dartz.dart'; import 'package:jmap_dart_client/jmap/core/error/set_error.dart'; @@ -57,7 +56,7 @@ mixin HandleSetErrorMixin { } Map handleSetResponse(List listSetResponse) { - final listSetResponseNotNull = listSetResponse.whereNotNull().toList(); + final listSetResponseNotNull = listSetResponse.nonNulls.toList(); if (listSetResponseNotNull.isEmpty) { return {}; } diff --git a/lib/features/base/mixin/popup_context_menu_action_mixin.dart b/lib/features/base/mixin/popup_context_menu_action_mixin.dart index 2af0b8fbb5..47be21e9fa 100644 --- a/lib/features/base/mixin/popup_context_menu_action_mixin.dart +++ b/lib/features/base/mixin/popup_context_menu_action_mixin.dart @@ -40,7 +40,7 @@ mixin PopupContextMenuActionMixin { ), ), backgroundColor: Colors.white, - barrierColor: Colors.black.withOpacity(0.2), + barrierColor: Colors.black.withValues(alpha: 0.2), builder: (_) { return PointerInterceptor( child: Container( diff --git a/lib/features/base/widget/clean_messages_banner.dart b/lib/features/base/widget/clean_messages_banner.dart index 419bc324cf..2645060bcf 100644 --- a/lib/features/base/widget/clean_messages_banner.dart +++ b/lib/features/base/widget/clean_messages_banner.dart @@ -117,7 +117,7 @@ class CleanMessagesBanner extends StatelessWidget { return Container( decoration: BoxDecoration( - color: AppColor.m3LayerDarkOutline.withOpacity(0.08), + color: AppColor.m3LayerDarkOutline.withValues(alpha: 0.08), borderRadius: const BorderRadius.all(Radius.circular(8)), ), padding: displayPositiveActionIsNewLine diff --git a/lib/features/base/widget/context_menu/context_menu_item_action.dart b/lib/features/base/widget/context_menu/context_menu_item_action.dart index 5fe20f202d..bedfc22b3d 100644 --- a/lib/features/base/widget/context_menu/context_menu_item_action.dart +++ b/lib/features/base/widget/context_menu/context_menu_item_action.dart @@ -14,7 +14,7 @@ abstract class ContextMenuItemAction with EquatableMixin { String get actionName; - Color get actionNameColor => AppColor.gray424244.withOpacity(0.9); + Color get actionNameColor => AppColor.gray424244.withValues(alpha: 0.9); void onClick(OnContextMenuActionClick callback) => callback(this); } @@ -22,7 +22,7 @@ abstract class ContextMenuItemAction with EquatableMixin { mixin OptionalIcon { String get actionIcon; - Color get actionIconColor => AppColor.gray424244.withOpacity(0.72); + Color get actionIconColor => AppColor.gray424244.withValues(alpha: 0.72); } mixin OptionalSelectedIcon { diff --git a/lib/features/base/widget/default_field/default_autocomplete_input_field_widget.dart b/lib/features/base/widget/default_field/default_autocomplete_input_field_widget.dart index e6534b4f27..ddd8f8c945 100644 --- a/lib/features/base/widget/default_field/default_autocomplete_input_field_widget.dart +++ b/lib/features/base/widget/default_field/default_autocomplete_input_field_widget.dart @@ -1,7 +1,6 @@ import 'dart:async'; import 'dart:math'; -import 'package:collection/collection.dart'; import 'package:core/presentation/extensions/color_extension.dart'; import 'package:core/presentation/resources/image_paths.dart'; import 'package:core/presentation/utils/responsive_utils.dart'; @@ -299,7 +298,7 @@ class _DefaultAutocompleteInputFieldWidgetState } return _currentListEmailAddress .map((emailAddress) => emailAddress.email) - .whereNotNull() + .nonNulls .contains(inputEmail); } diff --git a/lib/features/base/widget/drop_down_button_widget.dart b/lib/features/base/widget/drop_down_button_widget.dart index 72033a7931..86407c7f02 100644 --- a/lib/features/base/widget/drop_down_button_widget.dart +++ b/lib/features/base/widget/drop_down_button_widget.dart @@ -70,7 +70,7 @@ class DropDownButtonWidget extends StatelessWidget { _getTextItemDropdown(context, item: itemSelected), style: ThemeUtils.defaultTextStyleInterFont.copyWith(fontSize: 16, fontWeight: FontWeight.normal, - color: Colors.black.withOpacity(opacity)), + color: Colors.black.withValues(alpha: opacity)), maxLines: 1, softWrap: CommonTextStyle.defaultSoftWrap, overflow: CommonTextStyle.defaultTextOverFlow, @@ -124,7 +124,7 @@ class DropDownButtonWidget extends StatelessWidget { _getTextItemDropdown(context, item: itemSelected), style: ThemeUtils.defaultTextStyleInterFont.copyWith(fontSize: 16, fontWeight: FontWeight.normal, - color: itemSelected != null ? Colors.black.withOpacity(opacity) : AppColor.textFieldHintColor), + color: itemSelected != null ? Colors.black.withValues(alpha: opacity) : AppColor.textFieldHintColor), maxLines: 1, softWrap: CommonTextStyle.defaultSoftWrap, overflow: CommonTextStyle.defaultTextOverFlow, diff --git a/lib/features/base/widget/email_address_with_copy_widget.dart b/lib/features/base/widget/email_address_with_copy_widget.dart index 1642bb6ec3..7d26b1eb21 100644 --- a/lib/features/base/widget/email_address_with_copy_widget.dart +++ b/lib/features/base/widget/email_address_with_copy_widget.dart @@ -41,7 +41,7 @@ class EmailAddressWithCopyWidget extends StatelessWidget { backgroundColor: Colors.transparent, iconSize: 20, iconColor: copyIconColor ?? - AppColor.textSecondary.withOpacity(0.48), + AppColor.textSecondary.withValues(alpha: 0.48), padding: const EdgeInsets.all(5), margin: copyIconMargin, onTapActionCallback: onCopyButtonAction, diff --git a/lib/features/base/widget/report_message_banner.dart b/lib/features/base/widget/report_message_banner.dart index ef6330b1b1..0b00374639 100644 --- a/lib/features/base/widget/report_message_banner.dart +++ b/lib/features/base/widget/report_message_banner.dart @@ -147,7 +147,7 @@ class ReportMessageBanner extends StatelessWidget { Color get _backgroundColor => isDesktop ? AppColor.lightGrayEAEDF2 - : AppColor.m3LayerDarkOutline.withOpacity(0.08); + : AppColor.m3LayerDarkOutline.withValues(alpha: 0.08); double get _bannerHeight => isDesktop ? 44 : 52; } diff --git a/lib/features/composer/presentation/composer_controller.dart b/lib/features/composer/presentation/composer_controller.dart index 10d4623ef4..a096e3f5cc 100644 --- a/lib/features/composer/presentation/composer_controller.dart +++ b/lib/features/composer/presentation/composer_controller.dart @@ -1923,7 +1923,9 @@ class ComposerController extends BaseController if (PlatformInfo.isWeb && !_isEmailBodyLoaded && - !screenDisplayMode.value.isNotContentVisible()) return true; + !screenDisplayMode.value.isNotContentVisible()) { + return true; + } if (PlatformInfo.isMobile && !_isEmailBodyLoaded) return true; diff --git a/lib/features/composer/presentation/mixin/rich_text_button_mixin.dart b/lib/features/composer/presentation/mixin/rich_text_button_mixin.dart index e8d34570ea..b7646a0a56 100644 --- a/lib/features/composer/presentation/mixin/rich_text_button_mixin.dart +++ b/lib/features/composer/presentation/mixin/rich_text_button_mixin.dart @@ -97,8 +97,8 @@ mixin RichTextButtonMixin { icon: SvgPicture.asset( path, colorFilter: isSelected == true - ? Colors.black.withOpacity(opacity).asFilter() - : AppColor.colorDefaultRichTextButton.withOpacity(opacity).asFilter(), + ? Colors.black.withValues(alpha: opacity).asFilter() + : AppColor.colorDefaultRichTextButton.withValues(alpha: opacity).asFilter(), fit: BoxFit.fill), iconPadding: const EdgeInsets.all(4), colorFocus: Colors.white, @@ -123,11 +123,11 @@ mixin RichTextButtonMixin { message: tooltip, child: SvgPicture.asset( path, - colorFilter: newColor?.withOpacity(opacity).asFilter(), + colorFilter: newColor?.withValues(alpha: opacity).asFilter(), fit: BoxFit.fill)) : SvgPicture.asset( path, - colorFilter: newColor?.withOpacity(opacity).asFilter(), + colorFilter: newColor?.withValues(alpha: opacity).asFilter(), fit: BoxFit.fill); } @@ -142,7 +142,7 @@ mixin RichTextButtonMixin { return SvgPicture.asset( path, - colorFilter: newColor?.withOpacity(opacity).asFilter(), + colorFilter: newColor?.withValues(alpha: opacity).asFilter(), fit: BoxFit.fill); } @@ -155,7 +155,7 @@ mixin RichTextButtonMixin { ? AppColor.colorDefaultRichTextButton : colorSelected; return Icon(iconData, - color: (newColor ?? AppColor.colorDefaultRichTextButton).withOpacity(opacity), + color: (newColor ?? AppColor.colorDefaultRichTextButton).withValues(alpha: opacity), size: 20); } @@ -171,7 +171,7 @@ mixin RichTextButtonMixin { return Tooltip( message: tooltip, child: Icon(iconData, - color: (newColor ?? AppColor.colorDefaultRichTextButton).withOpacity(opacity), + color: (newColor ?? AppColor.colorDefaultRichTextButton).withValues(alpha: opacity), size: 20), ); } diff --git a/lib/features/composer/presentation/model/rich_text_style_type.dart b/lib/features/composer/presentation/model/rich_text_style_type.dart index c1eb49b127..d6efceeb0d 100644 --- a/lib/features/composer/presentation/model/rich_text_style_type.dart +++ b/lib/features/composer/presentation/model/rich_text_style_type.dart @@ -101,8 +101,6 @@ enum RichTextStyleType { return AppLocalizations.of(context).paragraph; case orderList: return AppLocalizations.of(context).orderList; - default: - return ''; } } } \ No newline at end of file diff --git a/lib/features/composer/presentation/styles/web/drop_zone_widget_style.dart b/lib/features/composer/presentation/styles/web/drop_zone_widget_style.dart index 025960255d..ab73d5273b 100644 --- a/lib/features/composer/presentation/styles/web/drop_zone_widget_style.dart +++ b/lib/features/composer/presentation/styles/web/drop_zone_widget_style.dart @@ -10,7 +10,7 @@ class DropZoneWidgetStyle { static const List dashSize = [6, 3]; - static Color backgroundColor = AppColor.colorDropZoneBackground.withOpacity(0.7); + static Color backgroundColor = AppColor.colorDropZoneBackground.withValues(alpha: 0.7); static const Color borderColor = AppColor.colorDropZoneBorder; static const EdgeInsetsGeometry padding = EdgeInsets.all(20); diff --git a/lib/features/composer/presentation/view/mobile/mobile_edit_recipients_view.dart b/lib/features/composer/presentation/view/mobile/mobile_edit_recipients_view.dart index dbde4b0596..2e904ce789 100644 --- a/lib/features/composer/presentation/view/mobile/mobile_edit_recipients_view.dart +++ b/lib/features/composer/presentation/view/mobile/mobile_edit_recipients_view.dart @@ -39,13 +39,13 @@ class MobileEditRecipientsView extends StatelessWidget { color: Colors.white, boxShadow: [ BoxShadow( - color: Colors.black.withOpacity(0.15), + color: Colors.black.withValues(alpha: 0.15), blurRadius: 8, spreadRadius: 3, offset: const Offset(0, 4), ), BoxShadow( - color: Colors.black.withOpacity(0.3), + color: Colors.black.withValues(alpha: 0.3), blurRadius: 3, offset: const Offset(0, 1), ), @@ -123,7 +123,7 @@ class MobileEditRecipientsView extends StatelessWidget { decoration: BoxDecoration( border: Border( top: BorderSide( - color: AppColor.gray424244.withOpacity(0.12), + color: AppColor.gray424244.withValues(alpha: 0.12), width: 1, ), ), diff --git a/lib/features/composer/presentation/view/web/desktop_edit_recipients_view.dart b/lib/features/composer/presentation/view/web/desktop_edit_recipients_view.dart index 0e0552af1f..5391c301a5 100644 --- a/lib/features/composer/presentation/view/web/desktop_edit_recipients_view.dart +++ b/lib/features/composer/presentation/view/web/desktop_edit_recipients_view.dart @@ -42,13 +42,13 @@ class DesktopEditRecipientsView extends StatelessWidget { color: Colors.white, boxShadow: [ BoxShadow( - color: Colors.black.withOpacity(0.15), + color: Colors.black.withValues(alpha: 0.15), blurRadius: 8, spreadRadius: 3, offset: const Offset(0, 4), ), BoxShadow( - color: Colors.black.withOpacity(0.3), + color: Colors.black.withValues(alpha: 0.3), blurRadius: 3, offset: const Offset(0, 1), ), diff --git a/lib/features/composer/presentation/widgets/email_address_action_widget.dart b/lib/features/composer/presentation/widgets/email_address_action_widget.dart index 817c72ae4a..10b6df2bac 100644 --- a/lib/features/composer/presentation/widgets/email_address_action_widget.dart +++ b/lib/features/composer/presentation/widgets/email_address_action_widget.dart @@ -48,7 +48,7 @@ class EmailAddressActionWidget extends StatelessWidget { fontSize: 14, height: 21.01 / 14, letterSpacing: -0.15, - color: AppColor.gray424244.withOpacity(0.9), + color: AppColor.gray424244.withValues(alpha: 0.9), ), maxLines: 1, overflow: TextOverflow.ellipsis, diff --git a/lib/features/composer/presentation/widgets/saving_message_dialog_view.dart b/lib/features/composer/presentation/widgets/saving_message_dialog_view.dart index 04a94b804c..fec0390ff9 100644 --- a/lib/features/composer/presentation/widgets/saving_message_dialog_view.dart +++ b/lib/features/composer/presentation/widgets/saving_message_dialog_view.dart @@ -191,7 +191,7 @@ class _SavingMessageDialogViewState extends State { const SizedBox(width: 8), Expanded( child: LinearProgressIndicator( - color: Colors.white.withOpacity(0.6), + color: Colors.white.withValues(alpha: 0.6), backgroundColor: AppColor.primaryColor, borderRadius: const BorderRadius.all(Radius.circular(12)), ), diff --git a/lib/features/composer/presentation/widgets/saving_template_dialog_view.dart b/lib/features/composer/presentation/widgets/saving_template_dialog_view.dart index 15df318991..adeb95afe2 100644 --- a/lib/features/composer/presentation/widgets/saving_template_dialog_view.dart +++ b/lib/features/composer/presentation/widgets/saving_template_dialog_view.dart @@ -180,7 +180,7 @@ class _SavingTemplateDialogViewState extends State { const SizedBox(width: 8), Expanded( child: LinearProgressIndicator( - color: Colors.white.withOpacity(0.6), + color: Colors.white.withValues(alpha: 0.6), backgroundColor: AppColor.primaryColor, borderRadius: const BorderRadius.all(Radius.circular(12)), ), diff --git a/lib/features/composer/presentation/widgets/sending_message_dialog_view.dart b/lib/features/composer/presentation/widgets/sending_message_dialog_view.dart index 774b7600c6..fb04b3e7ee 100644 --- a/lib/features/composer/presentation/widgets/sending_message_dialog_view.dart +++ b/lib/features/composer/presentation/widgets/sending_message_dialog_view.dart @@ -188,7 +188,7 @@ class _SendingMessageDialogViewState extends State { const SizedBox(width: 8), Expanded( child: LinearProgressIndicator( - color: Colors.white.withOpacity(0.6), + color: Colors.white.withValues(alpha: 0.6), backgroundColor: AppColor.primaryColor, borderRadius: const BorderRadius.all(Radius.circular(12)), ), diff --git a/lib/features/composer/presentation/widgets/web/print_draft_dialog_view.dart b/lib/features/composer/presentation/widgets/web/print_draft_dialog_view.dart index bf40b5c37d..91b6fdd9f9 100644 --- a/lib/features/composer/presentation/widgets/web/print_draft_dialog_view.dart +++ b/lib/features/composer/presentation/widgets/web/print_draft_dialog_view.dart @@ -169,7 +169,7 @@ class _PrintDraftDialogViewState extends State { const SizedBox(width: 8), Expanded( child: LinearProgressIndicator( - color: Colors.white.withOpacity(0.6), + color: Colors.white.withValues(alpha: 0.6), backgroundColor: AppColor.primaryColor, borderRadius: const BorderRadius.all(Radius.circular(12)), ), diff --git a/lib/features/composer/presentation/widgets/web/toolbar_rich_text_builder.dart b/lib/features/composer/presentation/widgets/web/toolbar_rich_text_builder.dart index 39a2eaa144..c9a560c309 100644 --- a/lib/features/composer/presentation/widgets/web/toolbar_rich_text_builder.dart +++ b/lib/features/composer/presentation/widgets/web/toolbar_rich_text_builder.dart @@ -64,7 +64,7 @@ class ToolbarRichTextWebBuilder extends StatelessWidget with RichTextButtonMixin isSelected: richTextWebController.isMenuHeaderStyleOpen, icon: SvgPicture.asset( RichTextStyleType.headerStyle.getIcon(_imagePaths), - colorFilter: AppColor.colorDefaultRichTextButton.withOpacity(opacity).asFilter(), + colorFilter: AppColor.colorDefaultRichTextButton.withValues(alpha: opacity).asFilter(), fit: BoxFit.fill ), padding: const EdgeInsets.symmetric(vertical: 5, horizontal: 5), diff --git a/lib/features/contact/presentation/widgets/app_bar_contact_widget.dart b/lib/features/contact/presentation/widgets/app_bar_contact_widget.dart index af8c01b61a..dd1cbc7ba3 100644 --- a/lib/features/contact/presentation/widgets/app_bar_contact_widget.dart +++ b/lib/features/contact/presentation/widgets/app_bar_contact_widget.dart @@ -54,7 +54,7 @@ class AppBarContactWidget extends StatelessWidget { iconSize: 24, padding: const EdgeInsets.all(3), iconColor: AppColor.colorCloseButton, - backgroundColor: AppColor.colorCloseButton.withOpacity(0.12), + backgroundColor: AppColor.colorCloseButton.withValues(alpha: 0.12), onTapActionCallback: onCloseContactView, ) ), diff --git a/lib/features/contact/presentation/widgets/contact_list_action_widget.dart b/lib/features/contact/presentation/widgets/contact_list_action_widget.dart index e0b361722d..d6925c37ed 100644 --- a/lib/features/contact/presentation/widgets/contact_list_action_widget.dart +++ b/lib/features/contact/presentation/widgets/contact_list_action_widget.dart @@ -28,7 +28,7 @@ class ContactListActionWidget extends StatelessWidget { Flexible( child: TMailButtonWidget.fromText( text: AppLocalizations.of(context).clearFilter.capitalizeFirstEach, - backgroundColor: AppColor.colorContactViewClearFilterButton.withOpacity(0.05), + backgroundColor: AppColor.colorContactViewClearFilterButton.withValues(alpha: 0.05), borderRadius: 10, maxHeight: 44, minWidth: 156, diff --git a/lib/features/email/data/local/html_analyzer.dart b/lib/features/email/data/local/html_analyzer.dart index 7ece84d17c..1a564e6a15 100644 --- a/lib/features/email/data/local/html_analyzer.dart +++ b/lib/features/email/data/local/html_analyzer.dart @@ -78,7 +78,7 @@ class HtmlAnalyzer { } return null; }) - .whereNotNull() + .nonNulls .toList(); log('HtmlAnalyzer::getListEventAction:OPEN_PAAS::listEventAction: $listEventAction'); return listEventAction; @@ -98,7 +98,7 @@ class HtmlAnalyzer { } return null; }) - .whereNotNull() + .nonNulls .toList(); log('HtmlAnalyzer::getListEventAction:GOOGLE::listEventAction: $listEventAction'); return listEventAction; diff --git a/lib/features/email/domain/extensions/list_attachments_extension.dart b/lib/features/email/domain/extensions/list_attachments_extension.dart index dfa9fb1048..49dbc42a10 100644 --- a/lib/features/email/domain/extensions/list_attachments_extension.dart +++ b/lib/features/email/domain/extensions/list_attachments_extension.dart @@ -1,5 +1,4 @@ -import 'package:collection/collection.dart'; import 'package:jmap_dart_client/jmap/core/id.dart'; import 'package:jmap_dart_client/jmap/mail/email/email_body_part.dart'; import 'package:model/email/attachment.dart'; @@ -14,12 +13,12 @@ extension ListAttachmentsExtension on List { Set get subtypeICSBlobIds => where((attachment) => attachment.type?.subtype == Attachment.eventICSSubtype) .map((attachment) => attachment.blobId) - .whereNotNull() + .nonNulls .toSet(); Set get subtypeCalendarBlobIds => where((attachment) => attachment.type?.subtype == Attachment.eventCalendarSubtype) .map((attachment) => attachment.blobId) - .whereNotNull() + .nonNulls .toSet(); Set toEmailBodyPart({String? charset}) => map((attachment) => attachment.toEmailBodyPart(charset: charset)).toSet(); diff --git a/lib/features/email/presentation/controller/single_email_controller.dart b/lib/features/email/presentation/controller/single_email_controller.dart index 8f388b9ca8..66215ab9ac 100644 --- a/lib/features/email/presentation/controller/single_email_controller.dart +++ b/lib/features/email/presentation/controller/single_email_controller.dart @@ -2124,7 +2124,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin { ); await Get.generalDialog( - barrierColor: Colors.black.withOpacity(0.8), + barrierColor: Colors.black.withValues(alpha: 0.8), pageBuilder: (_, __, ___) { return PointerInterceptor( child: PDFViewer( diff --git a/lib/features/email/presentation/extensions/calendar_event_extension.dart b/lib/features/email/presentation/extensions/calendar_event_extension.dart index 42ee020834..dcd7bef9cc 100644 --- a/lib/features/email/presentation/extensions/calendar_event_extension.dart +++ b/lib/features/email/presentation/extensions/calendar_event_extension.dart @@ -150,7 +150,7 @@ extension CalendarEventExtension on CalendarEvent { if (participants?.isNotEmpty == true) { final listMatchedAttendee = participants !.where((attendee) => attendee.mailto != null && listEmailAddressSender.contains(attendee.mailto!.mailAddress.value)) - .whereNotNull(); + .nonNulls; log('CalendarEventExtension::findAttendeeHasUpdatedStatus:listMatchedAttendee: $listMatchedAttendee'); if (listMatchedAttendee.isNotEmpty) { return listMatchedAttendee.first; @@ -363,12 +363,12 @@ extension CalendarEventExtension on CalendarEvent { final videoConferences = List.empty(growable: true); final openPaasVideoConferences = extensionFields?.mapFields['X-OPENPAAS-VIDEOCONFERENCE'] - ?.whereNotNull() + ?.nonNulls .where((link) => link.isNotEmpty) .toList() ?? []; log('CalendarEventExtension::openPaasVideoConferences: $openPaasVideoConferences'); final googleVideoConferences = extensionFields!.mapFields['X-GOOGLE-CONFERENCE'] - ?.whereNotNull() + ?.nonNulls .where((link) => link.isNotEmpty) .toList() ?? []; log('CalendarEventExtension::googleVideoConferences: $googleVideoConferences'); diff --git a/lib/features/email/presentation/extensions/list_attendee_extension.dart b/lib/features/email/presentation/extensions/list_attendee_extension.dart index 9b43ae722c..5cd5ce3936 100644 --- a/lib/features/email/presentation/extensions/list_attendee_extension.dart +++ b/lib/features/email/presentation/extensions/list_attendee_extension.dart @@ -1,5 +1,4 @@ -import 'package:collection/collection.dart'; import 'package:jmap_dart_client/jmap/mail/calendar/properties/attendee/calendar_attendee.dart'; import 'package:jmap_dart_client/jmap/mail/calendar/properties/calendar_organizer.dart'; @@ -7,7 +6,7 @@ extension ListAttendeeExtension on List { String get mailtoAsString { return map((attendee) => attendee.mailto?.mailAddress.value) - .whereNotNull() + .nonNulls .join(', '); } @@ -16,7 +15,7 @@ extension ListAttendeeExtension on List { return this; } return where((attendee) => attendee.mailto?.mailAddress != organizer.mailto) - .whereNotNull() + .nonNulls .toList(); } } \ No newline at end of file diff --git a/lib/features/email/presentation/utils/email_utils.dart b/lib/features/email/presentation/utils/email_utils.dart index 8a983aae1b..390477b291 100644 --- a/lib/features/email/presentation/utils/email_utils.dart +++ b/lib/features/email/presentation/utils/email_utils.dart @@ -1,4 +1,3 @@ -import 'package:collection/collection.dart'; import 'package:core/presentation/state/failure.dart'; import 'package:core/presentation/state/success.dart'; import 'package:core/presentation/utils/responsive_utils.dart'; @@ -53,7 +52,7 @@ class EmailUtils { final allMatchesMailtoLinks = regExpMailtoLinks.allMatches(listUnsubscribe); final listMailtoLinks = allMatchesMailtoLinks .map((match) => match.group(0)) - .whereNotNull() + .nonNulls .toList(); log('EmailUtils::parsingUnsubscribe:listMailtoLinks: $listMailtoLinks'); @@ -61,7 +60,7 @@ class EmailUtils { final allMatchesHttpLinks = regExpHttpLinks.allMatches(listUnsubscribe); final listHttpLinks = allMatchesHttpLinks .map((match) => match.group(0)) - .whereNotNull() + .nonNulls .toList(); log('EmailUtils::parsingUnsubscribe:listHttpLinks: $listHttpLinks'); diff --git a/lib/features/email/presentation/widgets/email_address_bottom_sheet_builder.dart b/lib/features/email/presentation/widgets/email_address_bottom_sheet_builder.dart index 7877ab786d..e7da56a920 100644 --- a/lib/features/email/presentation/widgets/email_address_bottom_sheet_builder.dart +++ b/lib/features/email/presentation/widgets/email_address_bottom_sheet_builder.dart @@ -33,13 +33,13 @@ class EmailAddressBottomSheetBuilder extends StatelessWidget { ), boxShadow: [ BoxShadow( - color: Colors.black.withOpacity(0.15), + color: Colors.black.withValues(alpha: 0.15), blurRadius: 8, spreadRadius: 3, offset: const Offset(0, 4), ), BoxShadow( - color: Colors.black.withOpacity(0.3), + color: Colors.black.withValues(alpha: 0.3), blurRadius: 3, spreadRadius: 0, offset: const Offset(0, 1), diff --git a/lib/features/email/presentation/widgets/email_address_dialog_builder.dart b/lib/features/email/presentation/widgets/email_address_dialog_builder.dart index c6600ee768..ce8fcf7701 100644 --- a/lib/features/email/presentation/widgets/email_address_dialog_builder.dart +++ b/lib/features/email/presentation/widgets/email_address_dialog_builder.dart @@ -40,13 +40,13 @@ class EmailAddressDialogBuilder extends StatelessWidget { borderRadius: const BorderRadius.all(Radius.circular(16)), boxShadow: [ BoxShadow( - color: Colors.black.withOpacity(0.15), + color: Colors.black.withValues(alpha: 0.15), blurRadius: 8, spreadRadius: 3, offset: const Offset(0, 4), ), BoxShadow( - color: Colors.black.withOpacity(0.3), + color: Colors.black.withValues(alpha: 0.3), blurRadius: 3, spreadRadius: 0, offset: const Offset(0, 1), diff --git a/lib/features/email/presentation/widgets/pdf_viewer/top_bar_attachment_viewer.dart b/lib/features/email/presentation/widgets/pdf_viewer/top_bar_attachment_viewer.dart index f77cd8c2d1..cf693bac39 100644 --- a/lib/features/email/presentation/widgets/pdf_viewer/top_bar_attachment_viewer.dart +++ b/lib/features/email/presentation/widgets/pdf_viewer/top_bar_attachment_viewer.dart @@ -20,7 +20,7 @@ class TopBarAttachmentViewer extends StatelessWidget { return Container( padding: const EdgeInsets.symmetric(horizontal: 16), height: 52, - color: Colors.black.withOpacity(0.3), + color: Colors.black.withValues(alpha: 0.3), child: Row( mainAxisSize: MainAxisSize.min, children: [ @@ -32,8 +32,8 @@ class TopBarAttachmentViewer extends StatelessWidget { color: Colors.white, size: 24, ), - focusColor: Colors.black.withOpacity(0.3), - hoverColor: Colors.black.withOpacity(0.3), + focusColor: Colors.black.withValues(alpha: 0.3), + hoverColor: Colors.black.withValues(alpha: 0.3), tooltip: AppLocalizations.of(context).close, ), const SizedBox(width: 8), @@ -59,8 +59,8 @@ class TopBarAttachmentViewer extends StatelessWidget { color: Colors.white, size: 24, ), - focusColor: Colors.black.withOpacity(0.3), - hoverColor: Colors.black.withOpacity(0.3), + focusColor: Colors.black.withValues(alpha: 0.3), + hoverColor: Colors.black.withValues(alpha: 0.3), tooltip: AppLocalizations.of(context).print, ), ), @@ -75,8 +75,8 @@ class TopBarAttachmentViewer extends StatelessWidget { color: Colors.white, size: 24, ), - focusColor: Colors.black.withOpacity(0.3), - hoverColor: Colors.black.withOpacity(0.3), + focusColor: Colors.black.withValues(alpha: 0.3), + hoverColor: Colors.black.withValues(alpha: 0.3), tooltip: AppLocalizations.of(context).download, ), ) diff --git a/lib/features/email_recovery/presentation/widgets/email_recovery_form/email_recovery_form_desktop_builder.dart b/lib/features/email_recovery/presentation/widgets/email_recovery_form/email_recovery_form_desktop_builder.dart index 2e4fba4ab8..abc8eff089 100644 --- a/lib/features/email_recovery/presentation/widgets/email_recovery_form/email_recovery_form_desktop_builder.dart +++ b/lib/features/email_recovery/presentation/widgets/email_recovery_form/email_recovery_form_desktop_builder.dart @@ -27,7 +27,7 @@ class EmailRecoveryFormDesktopBuilder extends StatelessWidget { final appLocalizations = AppLocalizations.of(context); return Scaffold( - backgroundColor: Colors.black.withOpacity(0.20), + backgroundColor: Colors.black.withValues(alpha: 0.20), body: GestureDetector( onTap: FocusScope.of(context).unfocus, child: Center( diff --git a/lib/features/home/presentation/home_controller.dart b/lib/features/home/presentation/home_controller.dart index 6774d71461..d97cff328d 100644 --- a/lib/features/home/presentation/home_controller.dart +++ b/lib/features/home/presentation/home_controller.dart @@ -129,9 +129,6 @@ class HomeController extends ReloadableController { case LoginNavigateType.autoSignIn: _handleAutoSignInViaDeepLinkSuccess(arguments.autoSignInViaDeepLinkSuccess!); break; - default: - _cleanupCache(); - break; } } diff --git a/lib/features/identity_creator/presentation/identity_creator_controller.dart b/lib/features/identity_creator/presentation/identity_creator_controller.dart index f2028a2cb1..1834177dcd 100644 --- a/lib/features/identity_creator/presentation/identity_creator_controller.dart +++ b/lib/features/identity_creator/presentation/identity_creator_controller.dart @@ -932,7 +932,7 @@ class IdentityCreatorController extends BaseController with DragDropFileMixin im context, originalFile: fileInfo.toPlatformFile(), maxWidth: maxWidth.toInt())) - ).then((listPlatformFiles) => listPlatformFiles.whereNotNull().toList()); + ).then((listPlatformFiles) => listPlatformFiles.nonNulls.toList()); if (_isExceedMaxUploadSize(listCompressedImages.totalFilesSize)) { if (context.mounted) { diff --git a/lib/features/login/data/extensions/list_account_cache_extensions.dart b/lib/features/login/data/extensions/list_account_cache_extensions.dart index fa31cc2f4f..72723e1ec8 100644 --- a/lib/features/login/data/extensions/list_account_cache_extensions.dart +++ b/lib/features/login/data/extensions/list_account_cache_extensions.dart @@ -1,4 +1,3 @@ -import 'package:collection/collection.dart'; import 'package:core/utils/app_logger.dart'; import 'package:tmail_ui_user/features/login/data/extensions/account_cache_extensions.dart'; import 'package:tmail_ui_user/features/login/data/model/account_cache.dart'; @@ -7,7 +6,7 @@ extension ListAccountCacheExtension on List { List unselected() => map((account) => account.unselected()).toList(); List removeDuplicated() { - final listAccountId = map((account) => account.accountId).whereNotNull().toSet(); + final listAccountId = map((account) => account.accountId).nonNulls.toSet(); log('ListAccountCacheExtension::removeDuplicated:listAccountId: $listAccountId'); retainWhere((account) => listAccountId.remove(account.accountId)); log('ListAccountCacheExtension::removeDuplicated:listAccount: $this'); diff --git a/lib/features/mailbox/data/network/mailbox_api.dart b/lib/features/mailbox/data/network/mailbox_api.dart index 76d7c0cc85..752a4ae49e 100644 --- a/lib/features/mailbox/data/network/mailbox_api.dart +++ b/lib/features/mailbox/data/network/mailbox_api.dart @@ -1,6 +1,5 @@ import 'dart:async'; -import 'package:collection/collection.dart'; import 'package:core/utils/app_logger.dart'; import 'package:flutter/material.dart' hide State; import 'package:get/get.dart'; @@ -400,7 +399,7 @@ class MailboxAPI with HandleSetErrorMixin { ); final listMailboxIdSubscribe = setMailboxResponse?.updated?.keys - .whereNotNull() + .nonNulls .map((id) => MailboxId(id)) .toList(); diff --git a/lib/features/mailbox/presentation/model/mailbox_actions.dart b/lib/features/mailbox/presentation/model/mailbox_actions.dart index b3bf90e2d5..ad53d139fb 100644 --- a/lib/features/mailbox/presentation/model/mailbox_actions.dart +++ b/lib/features/mailbox/presentation/model/mailbox_actions.dart @@ -154,7 +154,7 @@ extension MailboxActionsExtension on MailboxActions { case MailboxActions.delete: return AppColor.redFF3347; default: - return AppColor.gray424244.withOpacity(0.72); + return AppColor.gray424244.withValues(alpha: 0.72); } } @@ -163,7 +163,7 @@ extension MailboxActionsExtension on MailboxActions { case MailboxActions.delete: return AppColor.redFF3347; default: - return AppColor.gray424244.withOpacity(0.9); + return AppColor.gray424244.withValues(alpha: 0.9); } } diff --git a/lib/features/mailbox/presentation/model/mailbox_categories.dart b/lib/features/mailbox/presentation/model/mailbox_categories.dart index e37af365ee..8d2196825c 100644 --- a/lib/features/mailbox/presentation/model/mailbox_categories.dart +++ b/lib/features/mailbox/presentation/model/mailbox_categories.dart @@ -42,8 +42,6 @@ extension MailboxCategoriessExtension on MailboxCategories { return categoriesExpandMode.personalFolders; case MailboxCategories.teamMailboxes: return categoriesExpandMode.teamMailboxes; - default: - return ExpandMode.COLLAPSE; } } } \ No newline at end of file diff --git a/lib/features/mailbox/presentation/widgets/empty_mailbox_popup_dialog_widget.dart b/lib/features/mailbox/presentation/widgets/empty_mailbox_popup_dialog_widget.dart index b747dd77a1..112c446ef3 100644 --- a/lib/features/mailbox/presentation/widgets/empty_mailbox_popup_dialog_widget.dart +++ b/lib/features/mailbox/presentation/widgets/empty_mailbox_popup_dialog_widget.dart @@ -72,7 +72,7 @@ class _EmptyMailboxPopupDialogWidgetState extends State _setVisible(true), diff --git a/lib/features/mailbox/presentation/widgets/label_mailbox_item_widget.dart b/lib/features/mailbox/presentation/widgets/label_mailbox_item_widget.dart index 348586c213..1e083ef64e 100644 --- a/lib/features/mailbox/presentation/widgets/label_mailbox_item_widget.dart +++ b/lib/features/mailbox/presentation/widgets/label_mailbox_item_widget.dart @@ -147,7 +147,7 @@ class _LabelMailboxItemWidgetState extends State { ? const EdgeInsets.all(3) : TrailingMailboxItemWidgetStyles.menuIconPadding, backgroundColor: _morePopupMenuVisible - ? Theme.of(context).colorScheme.outline.withOpacity(0.08) + ? Theme.of(context).colorScheme.outline.withValues(alpha: 0.08) : TrailingMailboxItemWidgetStyles.menuIconBackgroundColor, onTapActionAtPositionCallback: (position) { if (!_responsiveUtils.isScreenWithShortestSide(context)) { diff --git a/lib/features/mailbox_dashboard/presentation/extensions/update_current_emails_flags_extension.dart b/lib/features/mailbox_dashboard/presentation/extensions/update_current_emails_flags_extension.dart index 9080a568a7..e904644def 100644 --- a/lib/features/mailbox_dashboard/presentation/extensions/update_current_emails_flags_extension.dart +++ b/lib/features/mailbox_dashboard/presentation/extensions/update_current_emails_flags_extension.dart @@ -18,7 +18,9 @@ extension UpdateCurrentEmailsFlagsExtension on MailboxDashBoardController { if (readAction == null && markStarAction == null && !markAsAnswered && - !markAsForwarded) return; + !markAsForwarded) { + return; + } final currentEmails = dashboardRoute.value == DashboardRoutes.searchEmail ? listResultSearch diff --git a/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view.dart b/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view.dart index 5d81d6b60a..ee0760f08e 100644 --- a/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view.dart +++ b/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view.dart @@ -87,13 +87,6 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView { width: 30, height: 30, child: CupertinoActivityIndicator(color: AppColor.colorLoading))); - default: - return ResponsiveWidget( - responsiveUtils: controller.responsiveUtils, - desktop: bodyView, - tabletLarge: bodyView, - landscapeTablet: bodyView, - mobile: _buildScaffoldHaveDrawer(body: ThreadView())); } }), ), diff --git a/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view_web.dart b/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view_web.dart index f000f7d341..f56187800f 100644 --- a/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view_web.dart +++ b/lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view_web.dart @@ -443,7 +443,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView { if (controller.isRefreshingAllMailboxAndEmail) { return TMailContainerWidget( borderRadius: 10, - backgroundColor: AppColor.colorFilterMessageButton.withOpacity(0.6), + backgroundColor: AppColor.colorFilterMessageButton.withValues(alpha: 0.6), padding: const EdgeInsetsDirectional.symmetric(vertical: 8, horizontal: 8.5), child: const CupertinoLoadingWidget(size: 16)); } else { @@ -452,7 +452,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView { icon: controller.imagePaths.icRefresh, borderRadius: 10, iconSize: 16, - backgroundColor: AppColor.colorFilterMessageButton.withOpacity(0.6), + backgroundColor: AppColor.colorFilterMessageButton.withValues(alpha: 0.6), onTapActionCallback: controller.refreshMailboxAction, ); } @@ -485,7 +485,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView { ), ), style: ElevatedButton.styleFrom( - backgroundColor: AppColor.colorFilterMessageButton.withOpacity(0.6), + backgroundColor: AppColor.colorFilterMessageButton.withValues(alpha: 0.6), shadowColor: Colors.transparent, padding: const EdgeInsetsDirectional.symmetric(horizontal: 12, vertical: 8), shape: const RoundedRectangleBorder( @@ -530,7 +530,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView { icon: controller.imagePaths.icRecoverDeletedMessages, borderRadius: 10, iconSize: 16, - backgroundColor: AppColor.colorFilterMessageButton.withOpacity(0.6), + backgroundColor: AppColor.colorFilterMessageButton.withValues(alpha: 0.6), margin: const EdgeInsetsDirectional.only(start: 16), onTapActionCallback: () => controller.gotoEmailRecovery(), ); diff --git a/lib/features/mailbox_dashboard/presentation/model/search/quick_search_filter.dart b/lib/features/mailbox_dashboard/presentation/model/search/quick_search_filter.dart index dd5b1bec2f..806beac862 100644 --- a/lib/features/mailbox_dashboard/presentation/model/search/quick_search_filter.dart +++ b/lib/features/mailbox_dashboard/presentation/model/search/quick_search_filter.dart @@ -86,7 +86,7 @@ enum QuickSearchFilter { Color getBackgroundColor({bool isSelected = false}) { if (isSelected) { - return AppColor.primaryColor.withOpacity(0.06); + return AppColor.primaryColor.withValues(alpha: 0.06); } else { return AppColor.colorSearchFilterButton; } @@ -94,17 +94,17 @@ enum QuickSearchFilter { Color getMobileBackgroundColor({bool isSelected = false}) { if (isSelected) { - return AppColor.primaryColor.withOpacity(0.06); + return AppColor.primaryColor.withValues(alpha: 0.06); } else { - return AppColor.colorMobileSearchFilterButton.withOpacity(0.6); + return AppColor.colorMobileSearchFilterButton.withValues(alpha: 0.6); } } Color getSuggestionBackgroundColor({bool isSelected = false}) { if (isSelected) { - return AppColor.primaryColor.withOpacity(0.06); + return AppColor.primaryColor.withValues(alpha: 0.06); } else { - return AppColor.colorSuggestionSearchFilterButton.withOpacity(0.6); + return AppColor.colorSuggestionSearchFilterButton.withValues(alpha: 0.6); } } diff --git a/lib/features/mailbox_dashboard/presentation/styles/app_grid_dashboard_style.dart b/lib/features/mailbox_dashboard/presentation/styles/app_grid_dashboard_style.dart index 7bcc5cb941..718212da0b 100644 --- a/lib/features/mailbox_dashboard/presentation/styles/app_grid_dashboard_style.dart +++ b/lib/features/mailbox_dashboard/presentation/styles/app_grid_dashboard_style.dart @@ -6,7 +6,7 @@ class AppGridDashboardStyle { static const EdgeInsetsGeometry padding = EdgeInsetsDirectional.symmetric(horizontal: 10, vertical: 14); static final List cardShadow = [ BoxShadow( - color: Colors.black.withOpacity(0.15), + color: Colors.black.withValues(alpha: 0.15), blurRadius: 20, offset: Offset.zero ), diff --git a/lib/features/mailbox_dashboard/presentation/styles/autocomplete_tag_item_style.dart b/lib/features/mailbox_dashboard/presentation/styles/autocomplete_tag_item_style.dart index 91f116cfdb..76b3dca752 100644 --- a/lib/features/mailbox_dashboard/presentation/styles/autocomplete_tag_item_style.dart +++ b/lib/features/mailbox_dashboard/presentation/styles/autocomplete_tag_item_style.dart @@ -7,7 +7,7 @@ class AutocompleteTagItemStyle { static const double space = 4; static const double deleteIconSize = 24; - static Color get backgroundColor => AppColor.colorBackgroundTagFilter.withOpacity(0.08); + static Color get backgroundColor => AppColor.colorBackgroundTagFilter.withValues(alpha: 0.08); static const EdgeInsetsGeometry margin = EdgeInsetsDirectional.only(end: 8); static const EdgeInsetsGeometry padding = EdgeInsetsDirectional.only(start: 8, end: 4, top: 4, bottom: 4); diff --git a/lib/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_filter_overlay.dart b/lib/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_filter_overlay.dart index 9263cadc29..e6a9b1a182 100644 --- a/lib/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_filter_overlay.dart +++ b/lib/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_filter_overlay.dart @@ -32,8 +32,8 @@ class AdvancedSearchFilterOverlay extends StatelessWidget { offset: Offset.zero), ] ), - child: SingleChildScrollView( - padding: const EdgeInsets.symmetric(vertical: 24, horizontal: 32), + child: const SingleChildScrollView( + padding: EdgeInsets.symmetric(vertical: 24, horizontal: 32), child: AdvancedSearchInputForm(), ), ), diff --git a/lib/features/mailbox_dashboard/presentation/widgets/profile_setting/profile_setting_menu_overlay.dart b/lib/features/mailbox_dashboard/presentation/widgets/profile_setting/profile_setting_menu_overlay.dart index 8d13036f23..03d57464df 100644 --- a/lib/features/mailbox_dashboard/presentation/widgets/profile_setting/profile_setting_menu_overlay.dart +++ b/lib/features/mailbox_dashboard/presentation/widgets/profile_setting/profile_setting_menu_overlay.dart @@ -42,12 +42,12 @@ class ProfileSettingMenuOverlay extends StatelessWidget { borderRadius: const BorderRadius.all(Radius.circular(14)), boxShadow: [ BoxShadow( - color: Colors.black.withOpacity(0.3), + color: Colors.black.withValues(alpha: 0.3), blurRadius: 2, spreadRadius: 0, ), BoxShadow( - color: Colors.black.withOpacity(0.15), + color: Colors.black.withValues(alpha: 0.15), blurRadius: 6, spreadRadius: 2, offset: const Offset(0, 2), @@ -67,7 +67,7 @@ class ProfileSettingMenuOverlay extends StatelessWidget { ), const SizedBox(height: 4), Divider( - color: AppColor.profileMenuDivider.withOpacity(0.12), + color: AppColor.profileMenuDivider.withValues(alpha: 0.12), height: 1, ), ...settingActionTypes diff --git a/lib/features/manage_account/presentation/forward/widgets/autocomplete_contact_text_field_with_tags.dart b/lib/features/manage_account/presentation/forward/widgets/autocomplete_contact_text_field_with_tags.dart index b8f535cdad..663530ed72 100644 --- a/lib/features/manage_account/presentation/forward/widgets/autocomplete_contact_text_field_with_tags.dart +++ b/lib/features/manage_account/presentation/forward/widgets/autocomplete_contact_text_field_with_tags.dart @@ -1,7 +1,6 @@ import 'dart:async'; -import 'package:collection/collection.dart'; import 'package:core/presentation/extensions/color_extension.dart'; import 'package:core/presentation/resources/image_paths.dart'; import 'package:core/presentation/utils/keyboard_utils.dart'; @@ -207,7 +206,7 @@ class _AutocompleteContactTextFieldWithTagsState extends State emailAddress.email) - .whereNotNull() + .nonNulls .contains(inputEmail); } diff --git a/lib/features/manage_account/presentation/language_and_region/language_and_region_controller.dart b/lib/features/manage_account/presentation/language_and_region/language_and_region_controller.dart index b5e0e29527..79739e8ffd 100644 --- a/lib/features/manage_account/presentation/language_and_region/language_and_region_controller.dart +++ b/lib/features/manage_account/presentation/language_and_region/language_and_region_controller.dart @@ -70,7 +70,9 @@ class LanguageAndRegionController extends BaseController { if (accountId == null || session == null || !capabilityServerSettings.isSupported(session, accountId) || - session.isLanguageReadOnly(accountId)) return; + session.isLanguageReadOnly(accountId)) { + return; + } consumeState(saveLanguageToServerSettingsInteractor.execute( accountId, diff --git a/lib/features/manage_account/presentation/language_and_region/language_and_region_view.dart b/lib/features/manage_account/presentation/language_and_region/language_and_region_view.dart index d93236d82c..a513fadcc1 100644 --- a/lib/features/manage_account/presentation/language_and_region/language_and_region_view.dart +++ b/lib/features/manage_account/presentation/language_and_region/language_and_region_view.dart @@ -38,7 +38,7 @@ class LanguageAndRegionView extends GetWidget { SettingHeaderWidget( menuItem: AccountMenuItem.languageAndRegion, textStyle: ThemeUtils.textStyleInter600().copyWith( - color: Colors.black.withOpacity(0.9), + color: Colors.black.withValues(alpha: 0.9), ), padding: EdgeInsets.zero, ) diff --git a/lib/features/manage_account/presentation/language_and_region/widgets/change_language_button_widget.dart b/lib/features/manage_account/presentation/language_and_region/widgets/change_language_button_widget.dart index 6a548ec048..0f46819d85 100644 --- a/lib/features/manage_account/presentation/language_and_region/widgets/change_language_button_widget.dart +++ b/lib/features/manage_account/presentation/language_and_region/widgets/change_language_button_widget.dart @@ -75,7 +75,7 @@ class _ChangeLanguageButtonWidgetState extends State fontSize: 14, height: 21.01 / 14, letterSpacing: -0.15, - color: AppColor.gray424244.withOpacity(0.64), + color: AppColor.gray424244.withValues(alpha: 0.64), ), ); } @@ -120,7 +120,7 @@ class _ChangeLanguageButtonWidgetState extends State .getLanguageNameByCurrentLocale(AppLocalizations.of(context)), dropDownIcon: _imagePaths.icDropDown, backgroundColor: isVisible - ? AppColor.lightGrayEBEDF0.withOpacity(0.6) + ? AppColor.lightGrayEBEDF0.withValues(alpha: 0.6) : null, onTap: () => _toggleLanguageMenuOverlay(true), ) diff --git a/lib/features/manage_account/presentation/language_and_region/widgets/language_menu_overlay.dart b/lib/features/manage_account/presentation/language_and_region/widgets/language_menu_overlay.dart index 50eaf29c84..b271cfdf08 100644 --- a/lib/features/manage_account/presentation/language_and_region/widgets/language_menu_overlay.dart +++ b/lib/features/manage_account/presentation/language_and_region/widgets/language_menu_overlay.dart @@ -34,12 +34,12 @@ class LanguageRegionOverlay extends StatelessWidget { borderRadius: const BorderRadius.all(Radius.circular(16)), boxShadow: [ BoxShadow( - color: Colors.black.withOpacity(0.3), + color: Colors.black.withValues(alpha: 0.3), blurRadius: 2, offset: const Offset(0, 1), ), BoxShadow( - color: Colors.black.withOpacity(0.15), + color: Colors.black.withValues(alpha: 0.15), blurRadius: 6, spreadRadius: 2, offset: const Offset(0, 2), diff --git a/lib/features/manage_account/presentation/language_and_region/widgets/lanuage_item_widget.dart b/lib/features/manage_account/presentation/language_and_region/widgets/lanuage_item_widget.dart index 9b1e290d50..3d66630ef6 100644 --- a/lib/features/manage_account/presentation/language_and_region/widgets/lanuage_item_widget.dart +++ b/lib/features/manage_account/presentation/language_and_region/widgets/lanuage_item_widget.dart @@ -30,7 +30,7 @@ class LanguageItemWidget extends StatelessWidget { child: InkWell( onTap: () => onSelectLanguageAction.call(localeCurrent), borderRadius: const BorderRadius.all(Radius.circular(8)), - hoverColor: AppColor.lightGrayEBEDF0.withOpacity(0.6), + hoverColor: AppColor.lightGrayEBEDF0.withValues(alpha: 0.6), child: Container( padding: const EdgeInsets.symmetric(horizontal: 17), height: 51, @@ -41,7 +41,7 @@ class LanguageItemWidget extends StatelessWidget { letterSpacing: -0.15, fontSize: 16, height: 21.01 / 16, - color: AppColor.gray424244.withOpacity(0.9), + color: AppColor.gray424244.withValues(alpha: 0.9), ), maxLines: 1, overflow: TextOverflow.ellipsis, diff --git a/lib/features/manage_account/presentation/model/email_rule_action_type.dart b/lib/features/manage_account/presentation/model/email_rule_action_type.dart index 3ca47941a4..dd7fa96527 100644 --- a/lib/features/manage_account/presentation/model/email_rule_action_type.dart +++ b/lib/features/manage_account/presentation/model/email_rule_action_type.dart @@ -35,7 +35,7 @@ enum EmailRuleActionType { if (this == EmailRuleActionType.delete) { return AppColor.redFF3347; } else { - return AppColor.gray424244.withOpacity(0.72); + return AppColor.gray424244.withValues(alpha: 0.72); } } @@ -43,7 +43,7 @@ enum EmailRuleActionType { if (this == EmailRuleActionType.delete) { return AppColor.redFF3347; } else { - return AppColor.gray424244.withOpacity(0.79); + return AppColor.gray424244.withValues(alpha: 0.79); } } } \ No newline at end of file diff --git a/lib/features/manage_account/presentation/preferences/widgets/setting_option_item.dart b/lib/features/manage_account/presentation/preferences/widgets/setting_option_item.dart index e4eeaeb531..ad98d4e609 100644 --- a/lib/features/manage_account/presentation/preferences/widgets/setting_option_item.dart +++ b/lib/features/manage_account/presentation/preferences/widgets/setting_option_item.dart @@ -52,7 +52,7 @@ class SettingOptionItem extends StatelessWidget { fontSize: 14, height: 21.01 / 14, letterSpacing: -0.15, - color: AppColor.gray424244.withOpacity(0.64), + color: AppColor.gray424244.withValues(alpha: 0.64), ), ), ), diff --git a/lib/features/manage_account/presentation/profiles/identities/identities_controller.dart b/lib/features/manage_account/presentation/profiles/identities/identities_controller.dart index 43a169b76d..5574cfce29 100644 --- a/lib/features/manage_account/presentation/profiles/identities/identities_controller.dart +++ b/lib/features/manage_account/presentation/profiles/identities/identities_controller.dart @@ -408,7 +408,9 @@ class IdentitiesController extends ReloadableController implements BeforeReconne || accountId == null || identityId == null || identityActionType == null - || publicAssetsInIdentityArguments == null) return; + || publicAssetsInIdentityArguments == null) { + return; + } final cleanUpPublicAssetsInteractor = getBinding( tag: BindingTag.cleanUpPublicAssetsInteractorBindingsTag); @@ -461,7 +463,9 @@ class IdentitiesController extends ReloadableController implements BeforeReconne final accountId = accountDashBoardController.accountId; if (session == null || accountId.value == null - || !PlatformInfo.isWeb) return; + || !PlatformInfo.isWeb) { + return; + } final getIdentityCacheOnWebInteractor = getBinding( tag: BindingTag.restoreIdentityCacheInteractorBindingsTag); diff --git a/lib/features/manage_account/presentation/widgets/setting_explanation_widget.dart b/lib/features/manage_account/presentation/widgets/setting_explanation_widget.dart index 5864158f6d..de524a024e 100644 --- a/lib/features/manage_account/presentation/widgets/setting_explanation_widget.dart +++ b/lib/features/manage_account/presentation/widgets/setting_explanation_widget.dart @@ -21,7 +21,7 @@ class SettingExplanationWidget extends StatelessWidget { Widget child = Text( menuItem.getExplanation(AppLocalizations.of(context)), style: ThemeUtils.textStyleM3BodyMedium1 - .copyWith(color: AppColor.gray424244.withOpacity(0.64)), + .copyWith(color: AppColor.gray424244.withValues(alpha: 0.64)), ); if (isCenter) { diff --git a/lib/features/manage_account/presentation/widgets/setting_header_widget.dart b/lib/features/manage_account/presentation/widgets/setting_header_widget.dart index 07cd6cc9b9..5c5cef9a4c 100644 --- a/lib/features/manage_account/presentation/widgets/setting_header_widget.dart +++ b/lib/features/manage_account/presentation/widgets/setting_header_widget.dart @@ -36,7 +36,7 @@ class SettingHeaderWidget extends StatelessWidget { fontSize: 16, height: 21.01 / 16, letterSpacing: -0.15, - color: AppColor.gray424244.withOpacity(0.64), + color: AppColor.gray424244.withValues(alpha: 0.64), ), ), ), diff --git a/lib/features/push_notification/presentation/controller/push_base_controller.dart b/lib/features/push_notification/presentation/controller/push_base_controller.dart index d555c33a9c..bd863a694f 100644 --- a/lib/features/push_notification/presentation/controller/push_base_controller.dart +++ b/lib/features/push_notification/presentation/controller/push_base_controller.dart @@ -1,6 +1,5 @@ import 'dart:async'; -import 'package:collection/collection.dart'; import 'package:core/presentation/state/failure.dart'; import 'package:core/presentation/state/success.dart'; import 'package:core/utils/app_logger.dart'; @@ -62,7 +61,7 @@ abstract class PushBaseController { final listEmailActions = listTypeName .where((typeName) => typeName == TypeName.emailType || typeName == TypeName.emailDelivery) .map((typeName) => _toPushNotificationAction(typeName, accountId, userName, mapTypeState, isForeground, session: session)) - .whereNotNull() + .nonNulls .toList(); log('PushBaseController::mappingTypeStateToAction():listEmailActions: $listEmailActions'); @@ -74,7 +73,7 @@ abstract class PushBaseController { final listMailboxActions = listTypeName .where((typeName) => typeName == TypeName.mailboxType) .map((typeName) => _toPushNotificationAction(typeName, accountId, userName, mapTypeState, isForeground)) - .whereNotNull() + .nonNulls .toList(); log('PushBaseController::mappingTypeStateToAction():listMailboxActions: $listEmailActions'); diff --git a/lib/features/quotas/domain/extensions/quota_extensions.dart b/lib/features/quotas/domain/extensions/quota_extensions.dart index 9177cddfda..d0f78c7799 100644 --- a/lib/features/quotas/domain/extensions/quota_extensions.dart +++ b/lib/features/quotas/domain/extensions/quota_extensions.dart @@ -72,9 +72,9 @@ extension QuotasExtensions on Quota { Color getQuotaBannerBackgroundColor() { if (isHardLimitReached) { - return AppColor.colorQuotaError.withOpacity(0.12); + return AppColor.colorQuotaError.withValues(alpha: 0.12); } else if (isWarnLimitReached) { - return AppColor.colorBackgroundQuotasWarning.withOpacity(0.12); + return AppColor.colorBackgroundQuotasWarning.withValues(alpha: 0.12); } else { return AppColor.colorNetworkConnectionBannerBackground; } diff --git a/lib/features/rules_filter_creator/presentation/extensions/select_rule_action_field_extension.dart b/lib/features/rules_filter_creator/presentation/extensions/select_rule_action_field_extension.dart index 86a502ae35..dfafc8c783 100644 --- a/lib/features/rules_filter_creator/presentation/extensions/select_rule_action_field_extension.dart +++ b/lib/features/rules_filter_creator/presentation/extensions/select_rule_action_field_extension.dart @@ -1,4 +1,3 @@ -import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; import 'package:rule_filter/rule_filter/rule_condition.dart'; import 'package:rule_filter/rule_filter/rule_condition_group.dart'; @@ -123,7 +122,7 @@ extension SelectRuleActionFieldExtension on RulesFilterCreatorController { } else { return null; } - }).whereNotNull().toList(); + }).nonNulls.toList(); if (contextMenuActions.isEmpty) return; diff --git a/lib/features/search/mailbox/presentation/widgets/mailbox_searched_item_builder.dart b/lib/features/search/mailbox/presentation/widgets/mailbox_searched_item_builder.dart index 929742f323..074bad95ae 100644 --- a/lib/features/search/mailbox/presentation/widgets/mailbox_searched_item_builder.dart +++ b/lib/features/search/mailbox/presentation/widgets/mailbox_searched_item_builder.dart @@ -249,7 +249,7 @@ class _MailboxSearchedItemBuilderState extends State child: TMailButtonWidget.fromIcon( icon: _imagePaths.icMoreVertical, backgroundColor: _popupMenuVisible - ? Theme.of(context).colorScheme.outline.withOpacity(0.08) + ? Theme.of(context).colorScheme.outline.withValues(alpha: 0.08) : Colors.transparent, iconSize: 16, padding: const EdgeInsetsDirectional.all(2), diff --git a/lib/features/sending_queue/presentation/model/sending_email_action_type.dart b/lib/features/sending_queue/presentation/model/sending_email_action_type.dart index d3bcf417ec..06b5298743 100644 --- a/lib/features/sending_queue/presentation/model/sending_email_action_type.dart +++ b/lib/features/sending_queue/presentation/model/sending_email_action_type.dart @@ -39,24 +39,24 @@ enum SendingEmailActionType { Color getButtonIconColor(ButtonState buttonState) { switch(this) { case SendingEmailActionType.delete: - return AppColor.colorDeletePermanentlyButton.withOpacity(buttonState.opacity); + return AppColor.colorDeletePermanentlyButton.withValues(alpha: buttonState.opacity); case SendingEmailActionType.edit: case SendingEmailActionType.resend: - return AppColor.primaryColor.withOpacity(buttonState.opacity); + return AppColor.primaryColor.withValues(alpha: buttonState.opacity); case SendingEmailActionType.create: - return Colors.transparent.withOpacity(buttonState.opacity); + return Colors.transparent.withValues(alpha: buttonState.opacity); } } Color getButtonTitleColor(ButtonState buttonState) { switch(this) { case SendingEmailActionType.delete: - return AppColor.colorDeletePermanentlyButton.withOpacity(buttonState.opacity); + return AppColor.colorDeletePermanentlyButton.withValues(alpha: buttonState.opacity); case SendingEmailActionType.edit: case SendingEmailActionType.resend: - return AppColor.primaryColor.withOpacity(buttonState.opacity); + return AppColor.primaryColor.withValues(alpha: buttonState.opacity); case SendingEmailActionType.create: - return Colors.transparent.withOpacity(buttonState.opacity); + return Colors.transparent.withValues(alpha: buttonState.opacity); } } } \ No newline at end of file diff --git a/lib/features/thread/domain/model/filter_message_option.dart b/lib/features/thread/domain/model/filter_message_option.dart index 43acd133ec..6ffce6182f 100644 --- a/lib/features/thread/domain/model/filter_message_option.dart +++ b/lib/features/thread/domain/model/filter_message_option.dart @@ -129,9 +129,9 @@ extension FilterMessageOptionExtension on FilterMessageOption { Color getBackgroundColor({bool isSelected = false}) { if (isSelected) { - return AppColor.primaryColor.withOpacity(0.06); + return AppColor.primaryColor.withValues(alpha: 0.06); } else { - return AppColor.colorFilterMessageButton.withOpacity(0.6); + return AppColor.colorFilterMessageButton.withValues(alpha: 0.6); } } diff --git a/lib/features/thread/presentation/styles/spam_banner/spam_report_banner_styles.dart b/lib/features/thread/presentation/styles/spam_banner/spam_report_banner_styles.dart index 43a32285ea..fe7ed46b04 100644 --- a/lib/features/thread/presentation/styles/spam_banner/spam_report_banner_styles.dart +++ b/lib/features/thread/presentation/styles/spam_banner/spam_report_banner_styles.dart @@ -6,6 +6,6 @@ class SpamReportBannerStyles { static const double padding = 12; static const double borderRadius = 12; static const double space = 8; - static Color backgroundColor = AppColor.colorSpamReportBannerBackground.withOpacity(0.12); + static Color backgroundColor = AppColor.colorSpamReportBannerBackground.withValues(alpha: 0.12); static const Color strokeBorderColor = AppColor.colorSpamReportBannerStrokeBorder; } \ No newline at end of file diff --git a/lib/features/thread/presentation/styles/spam_banner/spam_report_banner_web_styles.dart b/lib/features/thread/presentation/styles/spam_banner/spam_report_banner_web_styles.dart index 5b30d30638..f6dde952ea 100644 --- a/lib/features/thread/presentation/styles/spam_banner/spam_report_banner_web_styles.dart +++ b/lib/features/thread/presentation/styles/spam_banner/spam_report_banner_web_styles.dart @@ -4,7 +4,7 @@ import 'package:flutter/material.dart'; class SpamReportBannerWebStyles { static const double borderRadius = 12; - static Color backgroundColor = AppColor.colorSpamReportBannerBackground.withOpacity(0.12); + static Color backgroundColor = AppColor.colorSpamReportBannerBackground.withValues(alpha: 0.12); static const Color strokeBorderColor = AppColor.colorSpamReportBannerStrokeBorder; static const EdgeInsetsGeometry bannerPadding = EdgeInsetsDirectional.symmetric( diff --git a/lib/features/thread/presentation/thread_controller.dart b/lib/features/thread/presentation/thread_controller.dart index 139a159d15..1441af7454 100644 --- a/lib/features/thread/presentation/thread_controller.dart +++ b/lib/features/thread/presentation/thread_controller.dart @@ -424,7 +424,9 @@ class ThreadController extends BaseController with EmailActionController { final totalEmailsCount = currentMailbox.countTotalEmails; if (totalEmailsCount == 0 || mailboxDashBoardController.emailsInCurrentMailbox.isNotEmpty - ) return; + ) { + return; + } dispatchState(Right(GetAllEmailLoading())); } diff --git a/lib/features/thread/presentation/widgets/desktop_list_email_action_hover_widget.dart b/lib/features/thread/presentation/widgets/desktop_list_email_action_hover_widget.dart index 7f766459dd..7eb34e6020 100644 --- a/lib/features/thread/presentation/widgets/desktop_list_email_action_hover_widget.dart +++ b/lib/features/thread/presentation/widgets/desktop_list_email_action_hover_widget.dart @@ -119,7 +119,7 @@ class _DesktopListEmailActionHoverWidgetState padding: _getPaddingIcon(), margin: _getMarginIcon(), backgroundColor: _popupMenuVisible - ? Theme.of(context).colorScheme.outline.withOpacity(0.08) + ? Theme.of(context).colorScheme.outline.withValues(alpha: 0.08) : Colors.transparent, tooltipMessage: AppLocalizations.of(context).more, onTapActionAtPositionCallback: (position) { diff --git a/lib/features/thread/presentation/widgets/email_tile_web_builder.dart b/lib/features/thread/presentation/widgets/email_tile_web_builder.dart index 17c6e0d3a7..61cceb302d 100644 --- a/lib/features/thread/presentation/widgets/email_tile_web_builder.dart +++ b/lib/features/thread/presentation/widgets/email_tile_web_builder.dart @@ -67,7 +67,7 @@ class _EmailTileBuilderState extends State with BaseEmailItem EmailActionType.selection, widget.presentationEmail ), - hoverColor: Theme.of(context).colorScheme.outline.withOpacity(0.08), + hoverColor: Theme.of(context).colorScheme.outline.withValues(alpha: 0.08), child: Container( padding: widget.padding ?? _getPaddingItem(context), decoration: _getDecorationItem(), @@ -203,7 +203,7 @@ class _EmailTileBuilderState extends State with BaseEmailItem widget.presentationEmail ), onHover: (value) => _hoverNotifier.value = value, - hoverColor: Theme.of(context).colorScheme.outline.withOpacity(0.08), + hoverColor: Theme.of(context).colorScheme.outline.withValues(alpha: 0.08), borderRadius: const BorderRadius.all(Radius.circular(14)), child: Container( padding: widget.padding ?? _getPaddingItem(context), diff --git a/lib/features/thread/presentation/widgets/empty_emails_widget.dart b/lib/features/thread/presentation/widgets/empty_emails_widget.dart index 1eddff2701..ed2fe6c9cb 100644 --- a/lib/features/thread/presentation/widgets/empty_emails_widget.dart +++ b/lib/features/thread/presentation/widgets/empty_emails_widget.dart @@ -56,7 +56,7 @@ class EmptyEmailsWidget extends StatelessWidget { letterSpacing: -0.15, fontSize: 16, height: 21.01 / 16, - color: AppColor.gray424244.withOpacity(0.64), + color: AppColor.gray424244.withValues(alpha: 0.64), ), textAlign: TextAlign.center, ), diff --git a/lib/features/thread/presentation/widgets/web_tablet_body_email_item_widget.dart b/lib/features/thread/presentation/widgets/web_tablet_body_email_item_widget.dart index d72099a95b..8821affd70 100644 --- a/lib/features/thread/presentation/widgets/web_tablet_body_email_item_widget.dart +++ b/lib/features/thread/presentation/widgets/web_tablet_body_email_item_widget.dart @@ -66,7 +66,7 @@ class _WebTabletBodyEmailItemWidgetState EmailActionType.preview, widget.presentationEmail, ), - hoverColor: Theme.of(context).colorScheme.outline.withOpacity(0.08), + hoverColor: Theme.of(context).colorScheme.outline.withValues(alpha: 0.08), onHover: (value) { setState(() { _isHover = value; @@ -262,7 +262,7 @@ class _WebTabletBodyEmailItemWidgetState ? Theme.of(context) .colorScheme .outline - .withOpacity(0.08) + .withValues(alpha: 0.08) : Colors.transparent, tooltipMessage: AppLocalizations.of(context).more, onTapActionAtPositionCallback: (position) { diff --git a/lib/features/thread_detail/presentation/extension/handle_get_emails_by_ids_success.dart b/lib/features/thread_detail/presentation/extension/handle_get_emails_by_ids_success.dart index ba12b247bc..7f30f15abd 100644 --- a/lib/features/thread_detail/presentation/extension/handle_get_emails_by_ids_success.dart +++ b/lib/features/thread_detail/presentation/extension/handle_get_emails_by_ids_success.dart @@ -14,7 +14,7 @@ extension HandleGetEmailsByIdsSuccess on ThreadDetailController { } final selectedEmailId = mailboxDashBoardController.selectedEmail.value?.id; - final isLoadMore = emailIdsPresentation.values.whereNotNull().isNotEmpty; + final isLoadMore = emailIdsPresentation.values.nonNulls.isNotEmpty; for (var presentationEmail in success.presentationEmails) { if (presentationEmail.id == null) continue; diff --git a/lib/features/thread_detail/presentation/extension/handle_refresh_thread_detail_action.dart b/lib/features/thread_detail/presentation/extension/handle_refresh_thread_detail_action.dart index f692bd0d18..f9b310a581 100644 --- a/lib/features/thread_detail/presentation/extension/handle_refresh_thread_detail_action.dart +++ b/lib/features/thread_detail/presentation/extension/handle_refresh_thread_detail_action.dart @@ -62,11 +62,11 @@ extension HandleRefreshThreadDetailAction on ThreadDetailController { final afterRefreshedEmailIds = ThreadDetailPresentationUtils.refreshEmailIds( original: emailIdsPresentation.keys.toList(), - created: emailsCreated.map((email) => email.id).whereNotNull().toList(), + created: emailsCreated.map((email) => email.id).nonNulls.toList(), destroyed: emailIdsDestroyed.toList(), ); final afterRefreshedEmails = ThreadDetailPresentationUtils.refreshPresentationEmails( - original: emailIdsPresentation.values.whereNotNull().toList(), + original: emailIdsPresentation.values.nonNulls.toList(), created: emailsCreated, updated: emailsUpdated, destroyed: emailIdsDestroyed.toList(), diff --git a/lib/features/thread_detail/presentation/extension/initialize_thread_detail_emails.dart b/lib/features/thread_detail/presentation/extension/initialize_thread_detail_emails.dart index a22b88093b..7ddcdc6300 100644 --- a/lib/features/thread_detail/presentation/extension/initialize_thread_detail_emails.dart +++ b/lib/features/thread_detail/presentation/extension/initialize_thread_detail_emails.dart @@ -16,7 +16,9 @@ extension InitializeThreadDetailEmails on ThreadDetailController { if (skipLoadThreadMetaData( selectedEmailId: selectedEmailId, updateCurrentThreadDetail: success.updateCurrentThreadDetail, - )) return; + )) { + return; + } List emailIdsToLoadMetaData = []; emailIdsToLoadMetaData = ThreadDetailPresentationUtils.getFirstLoadEmailIds( diff --git a/lib/features/thread_detail/presentation/extension/initialize_thread_detail_manager.dart b/lib/features/thread_detail/presentation/extension/initialize_thread_detail_manager.dart index 4dfc683c2b..a0aae0fd3a 100644 --- a/lib/features/thread_detail/presentation/extension/initialize_thread_detail_manager.dart +++ b/lib/features/thread_detail/presentation/extension/initialize_thread_detail_manager.dart @@ -1,4 +1,3 @@ -import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; import 'package:model/email/presentation_email.dart'; import 'package:tmail_ui_user/features/thread_detail/presentation/thread_detail_manager.dart'; @@ -10,7 +9,7 @@ extension InitializeThreadDetailManager on ThreadDetailManager { availableThreadIds.value = currentDisplayedEmails .map((presentationEmail) => presentationEmail.threadId) .toSet() - .whereNotNull() + .nonNulls .toList(); if (availableThreadIds.isEmpty) return; diff --git a/lib/features/thread_detail/presentation/extension/quick_create_rule_from_collapsed_email_success.dart b/lib/features/thread_detail/presentation/extension/quick_create_rule_from_collapsed_email_success.dart index 7e031d2891..883a7988ef 100644 --- a/lib/features/thread_detail/presentation/extension/quick_create_rule_from_collapsed_email_success.dart +++ b/lib/features/thread_detail/presentation/extension/quick_create_rule_from_collapsed_email_success.dart @@ -9,7 +9,9 @@ extension QuickCreateRuleFromCollapsedEmailSuccess on ThreadDetailController { ) { if (success.newListRules.isEmpty || currentContext == null || - currentOverlayContext == null) return; + currentOverlayContext == null) { + return; + } appToast.showToastSuccessMessage( currentOverlayContext!, diff --git a/lib/features/thread_detail/presentation/extension/thread_detail_on_email_action_click.dart b/lib/features/thread_detail/presentation/extension/thread_detail_on_email_action_click.dart index 7787f41015..e7a27e106a 100644 --- a/lib/features/thread_detail/presentation/extension/thread_detail_on_email_action_click.dart +++ b/lib/features/thread_detail/presentation/extension/thread_detail_on_email_action_click.dart @@ -111,7 +111,9 @@ extension ThreadDetailOnEmailActionClick on ThreadDetailController { if (session == null || accountId == null || (presentationEmail.hasStarred && markStarAction == MarkStarAction.markStar) || - (!presentationEmail.hasStarred && markStarAction == MarkStarAction.unMarkStar)) return; + (!presentationEmail.hasStarred && markStarAction == MarkStarAction.unMarkStar)) { + return; + } consumeState(emailActionReactor.markAsStarEmail( session!, diff --git a/lib/features/upload/domain/extensions/list_file_upload_extension.dart b/lib/features/upload/domain/extensions/list_file_upload_extension.dart index 3e4abdc826..39fa91583a 100644 --- a/lib/features/upload/domain/extensions/list_file_upload_extension.dart +++ b/lib/features/upload/domain/extensions/list_file_upload_extension.dart @@ -1,8 +1,7 @@ -import 'package:collection/collection.dart'; import 'package:html_editor_enhanced/html_editor.dart'; import 'package:model/upload/file_info.dart'; import 'package:tmail_ui_user/features/composer/presentation/extensions/file_upload_extension.dart'; extension ListFileUploadExtension on List { - List toListFileInfo() => map((fileUpload) => fileUpload.toFileInfo()).whereNotNull().toList(); + List toListFileInfo() => map((fileUpload) => fileUpload.toFileInfo()).nonNulls.toList(); } \ No newline at end of file diff --git a/lib/features/upload/presentation/controller/upload_controller.dart b/lib/features/upload/presentation/controller/upload_controller.dart index f8dc8c37f9..1100a2649d 100644 --- a/lib/features/upload/presentation/controller/upload_controller.dart +++ b/lib/features/upload/presentation/controller/upload_controller.dart @@ -2,7 +2,6 @@ import 'dart:async'; import 'package:async/async.dart'; -import 'package:collection/collection.dart'; import 'package:core/presentation/state/failure.dart'; import 'package:core/presentation/state/success.dart'; import 'package:core/utils/app_logger.dart'; @@ -243,7 +242,7 @@ class UploadController extends BaseController { void _refreshListUploadAttachmentState() { listUploadAttachments.value = - _uploadingStateFiles.uploadingStateFiles.whereNotNull().toList(); + _uploadingStateFiles.uploadingStateFiles.nonNulls.toList(); listUploadAttachments.refresh(); } @@ -253,7 +252,7 @@ class UploadController extends BaseController { } return listUploadAttachments .map((fileState) => fileState.attachment) - .whereNotNull() + .nonNulls .toList(); } @@ -263,7 +262,7 @@ class UploadController extends BaseController { } return listUploadAttachments .map((fileState) => fileState.file) - .whereNotNull() + .nonNulls .toList(); } diff --git a/lib/features/upload/presentation/model/upload_file_state_list.dart b/lib/features/upload/presentation/model/upload_file_state_list.dart index 57272e8842..4dd789f629 100644 --- a/lib/features/upload/presentation/model/upload_file_state_list.dart +++ b/lib/features/upload/presentation/model/upload_file_state_list.dart @@ -49,7 +49,7 @@ class UploadFileStateList { return false; } return _uploadingStateFiles - .whereNotNull() + .nonNulls .every((file) => file.uploadStatus == UploadFileStatus.succeed); } diff --git a/model/lib/extensions/list_email_extension.dart b/model/lib/extensions/list_email_extension.dart index 2572b09d68..b082e49c6a 100644 --- a/model/lib/extensions/list_email_extension.dart +++ b/model/lib/extensions/list_email_extension.dart @@ -1,5 +1,4 @@ -import 'package:collection/collection.dart'; import 'package:jmap_dart_client/jmap/mail/email/email.dart'; import 'package:jmap_dart_client/jmap/core/sort/comparator.dart'; import 'package:jmap_dart_client/jmap/mail/email/email_comparator_property.dart'; @@ -9,9 +8,9 @@ import 'package:jmap_dart_client/jmap/core/extensions/unsigned_int_extension.dar extension ListEmailExtension on List { - List get listEmailIds => map((email) => email.id).whereNotNull().toList(); + List get listEmailIds => map((email) => email.id).nonNulls.toList(); - List get listThreadIds => map((email) => email.threadId).whereNotNull().toList(); + List get listThreadIds => map((email) => email.threadId).nonNulls.toList(); Email? findEmailById(EmailId emailId) { try { diff --git a/model/lib/extensions/list_presentation_email_extension.dart b/model/lib/extensions/list_presentation_email_extension.dart index 7ab345961b..559193ab74 100644 --- a/model/lib/extensions/list_presentation_email_extension.dart +++ b/model/lib/extensions/list_presentation_email_extension.dart @@ -1,5 +1,4 @@ -import 'package:collection/collection.dart'; import 'package:core/utils/app_logger.dart'; import 'package:jmap_dart_client/jmap/mail/email/email.dart'; import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart'; @@ -20,7 +19,7 @@ extension ListPresentationEmailExtension on List { return where((email) => email.selectMode == SelectMode.ACTIVE).toList(); } - List get listEmailIds => map((email) => email.id).whereNotNull().toList(); + List get listEmailIds => map((email) => email.id).nonNulls.toList(); Map> get emailIdsByMailboxId { final Map> result = {}; diff --git a/model/pubspec.lock b/model/pubspec.lock index 455f31a4fd..6a29306cad 100644 --- a/model/pubspec.lock +++ b/model/pubspec.lock @@ -173,10 +173,10 @@ packages: dependency: "direct main" description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" convert: dependency: transitive description: @@ -700,18 +700,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -1029,7 +1029,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_gen: dependency: transitive description: @@ -1058,10 +1058,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" stream_channel: dependency: transitive description: @@ -1082,10 +1082,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" term_glyph: dependency: transitive description: @@ -1098,10 +1098,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.3" timing: dependency: transitive description: @@ -1242,10 +1242,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.3.0" watcher: dependency: transitive description: @@ -1274,10 +1274,10 @@ packages: dependency: transitive description: name: win32 - sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4 + sha256: "8b338d4486ab3fbc0ba0db9f9b4f5239b6697fcee427939a40e720cbb9ee0a69" url: "https://pub.dev" source: hosted - version: "5.5.1" + version: "5.9.0" win32_registry: dependency: transitive description: diff --git a/model/pubspec.yaml b/model/pubspec.yaml index d5688c8be1..b0df477a1e 100644 --- a/model/pubspec.yaml +++ b/model/pubspec.yaml @@ -52,7 +52,7 @@ dependencies: mime: 1.0.4 - collection: 1.18.0 + collection: 1.19.0 dartz: 0.10.1 diff --git a/pubspec.lock b/pubspec.lock index 9cf665772d..c62e280de0 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -261,10 +261,10 @@ packages: dependency: "direct main" description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" connectivity_plus: dependency: "direct main" description: @@ -595,12 +595,11 @@ packages: file_picker: dependency: "direct main" description: - path: "." - ref: "v0.8.5-twake-mail" - resolved-ref: "2e8591e4be956f7fe025f7dfc92b963e92821d64" - url: "https://github.com/linagora/flutter_file_picker.git" - source: git - version: "8.0.5" + name: file_picker + sha256: ef9908739bdd9c476353d6adff72e88fd00c625f5b959ae23f7567bd5137db0a + url: "https://pub.dev" + source: hosted + version: "10.2.0" filesize: dependency: "direct main" description: @@ -981,18 +980,18 @@ packages: dependency: "direct main" description: name: flutter_local_notifications - sha256: ced76d337f54de33d7d9f06092137b4ac2da5079e00cee8a11a1794ffc7c61c6 + sha256: c500d5d9e7e553f06b61877ca6b9c8b92c570a4c8db371038702e8ce57f8a50f url: "https://pub.dev" source: hosted - version: "17.2.1" + version: "17.2.2" flutter_local_notifications_linux: dependency: transitive description: name: flutter_local_notifications_linux - sha256: "33f741ef47b5f63cc7f78fe75eeeac7e19f171ff3c3df054d84c1e38bedb6a03" + sha256: c49bd06165cad9beeb79090b18cd1eb0296f4bf4b23b84426e37dd7c027fc3af url: "https://pub.dev" source: hosted - version: "4.0.0+1" + version: "4.0.1" flutter_local_notifications_platform_interface: dependency: transitive description: @@ -1026,10 +1025,10 @@ packages: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da + sha256: f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e url: "https://pub.dev" source: hosted - version: "2.0.17" + version: "2.0.28" flutter_portal: dependency: "direct main" description: @@ -1090,10 +1089,10 @@ packages: dependency: "direct main" description: name: flutter_slidable - sha256: "673403d2eeef1f9e8483bd6d8d92aae73b1d8bd71f382bc3930f699c731bc27c" + sha256: a857de7ea701f276fd6a6c4c67ae885b60729a3449e42766bb0e655171042801 url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.2" flutter_smart_dialog: dependency: "direct main" description: @@ -1269,10 +1268,10 @@ packages: description: path: "." ref: main - resolved-ref: cc1822bc62f4d372018d0778f436a04547a0ab27 + resolved-ref: "7184ed773603b0bc8d4863a6d60141f46e65c37e" url: "https://github.com/linagora/html-editor-enhanced.git" source: git - version: "3.2.0" + version: "3.2.1" html_unescape: dependency: transitive description: @@ -1406,18 +1405,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -2023,7 +2022,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_gen: dependency: transitive description: @@ -2052,10 +2051,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" stream_channel: dependency: transitive description: @@ -2076,10 +2075,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" super_tag_editor: dependency: "direct main" description: @@ -2124,10 +2123,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.3" textfield_tags: dependency: "direct main" description: @@ -2325,10 +2324,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.3.0" watcher: dependency: transitive description: @@ -2365,10 +2364,10 @@ packages: dependency: transitive description: name: win32 - sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4 + sha256: "8b338d4486ab3fbc0ba0db9f9b4f5239b6697fcee427939a40e720cbb9ee0a69" url: "https://pub.dev" source: hosted - version: "5.5.1" + version: "5.9.0" win32_registry: dependency: transitive description: @@ -2426,5 +2425,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.5.4 <4.0.0" - flutter: ">=3.24.0" + dart: ">=3.6.0 <4.0.0" + flutter: ">=3.27.0" diff --git a/pubspec.yaml b/pubspec.yaml index d1350b0d0c..65321eeb68 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -136,7 +136,7 @@ dependencies: http_parser: 4.0.2 - collection: 1.18.0 + collection: 1.19.0 filesize: 2.0.1 @@ -194,7 +194,7 @@ dependencies: firebase_messaging: 14.5.0 - flutter_local_notifications: 17.2.1 + flutter_local_notifications: 17.2.2 fading_edge_scrollview: 4.1.1 @@ -222,7 +222,7 @@ dependencies: flutter_linkify: 6.0.0 - flutter_slidable: 3.1.0 + flutter_slidable: 3.1.2 url_strategy: 0.2.0 @@ -242,7 +242,7 @@ dependencies: future_loading_dialog: 0.3.0 - file_picker: 8.0.5 + file_picker: 10.2.0 app_settings: 5.1.1 @@ -302,13 +302,6 @@ dependency_overrides: json_annotation: 4.8.1 - # TODO: Remove and upgrade file_picker after - # https://github.com/miguelpruivo/flutter_file_picker/pull/1771 is merged and published - file_picker: - git: - url: https://github.com/linagora/flutter_file_picker.git - ref: v0.8.5-twake-mail - # TODO: Due conflict version of hive_ce_generator with other dependencies # So we will remove it when found the appropriate version hive: diff --git a/rule_filter/pubspec.lock b/rule_filter/pubspec.lock index 269a581b2e..33c3885a02 100644 --- a/rule_filter/pubspec.lock +++ b/rule_filter/pubspec.lock @@ -141,10 +141,10 @@ packages: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" convert: dependency: transitive description: @@ -328,18 +328,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -472,7 +472,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_gen: dependency: transitive description: @@ -501,10 +501,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" stream_channel: dependency: transitive description: @@ -525,10 +525,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" term_glyph: dependency: transitive description: @@ -541,10 +541,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.3" timing: dependency: transitive description: @@ -573,10 +573,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.3.0" watcher: dependency: transitive description: diff --git a/server_settings/pubspec.lock b/server_settings/pubspec.lock index 1c6149c577..564aa328a6 100644 --- a/server_settings/pubspec.lock +++ b/server_settings/pubspec.lock @@ -141,10 +141,10 @@ packages: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" convert: dependency: transitive description: @@ -320,18 +320,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -456,7 +456,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_gen: dependency: transitive description: @@ -485,10 +485,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" stream_channel: dependency: transitive description: @@ -509,10 +509,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" term_glyph: dependency: transitive description: @@ -525,10 +525,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.3" timing: dependency: transitive description: @@ -557,10 +557,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.3.0" watcher: dependency: transitive description: diff --git a/test/features/thread/presentation/widgets/email_tile_web_builder_test.dart b/test/features/thread/presentation/widgets/email_tile_web_builder_test.dart index 474d671ff7..3acec2dd71 100644 --- a/test/features/thread/presentation/widgets/email_tile_web_builder_test.dart +++ b/test/features/thread/presentation/widgets/email_tile_web_builder_test.dart @@ -61,7 +61,7 @@ void main() { expect( find.byWidgetPredicate( (widget) => widget is InkWell - && widget.hoverColor == Theme.of(context).colorScheme.outline.withOpacity(0.08) + && widget.hoverColor == Theme.of(context).colorScheme.outline.withValues(alpha: 0.08) ), findsOneWidget); @@ -106,7 +106,7 @@ void main() { expect( find.byWidgetPredicate( (widget) => widget is InkWell - && widget.hoverColor == Theme.of(context).colorScheme.outline.withOpacity(0.08) + && widget.hoverColor == Theme.of(context).colorScheme.outline.withValues(alpha: 0.08) ), findsOneWidget); });