diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index d9662c953..0da21d0cd 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -29,16 +29,11 @@ jobs: - name: 🐦 Setup Flutter uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa with: - flutter-version: "3.24.1" + flutter-version: "3.27.1" channel: stable cache: true cache-key: flutter-:os:-:channel:-:version:-:arch:-:hash:-${{ hashFiles('**/pubspec.lock') }} - - name: 🤫 Set SSH Key - uses: webfactory/ssh-agent@fd34b8dee206fe74b288a5e61bc95fba2f1911eb - with: - ssh-private-key: ${{secrets.SSH_PRIVATE_KEY}} - - name: 📦 Install Dependencies run: flutter pub get diff --git a/analysis_options.yaml b/analysis_options.yaml index 1d0e79c27..7d8e045f4 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -45,15 +45,18 @@ linter: - avoid_unused_constructor_parameters - avoid_void_async - await_only_futures + - camel_case_extensions - camel_case_types - cancel_subscriptions - cascade_invocations - close_sinks # - comment_references + - collection_methods_unrelated_type - constant_identifier_names - control_flow_in_finally - curly_braces_in_flow_control_structures # - directives_ordering + - dangling_library_doc_comments - empty_catches - empty_constructor_bodies - empty_statements @@ -62,13 +65,17 @@ linter: - flutter_style_todos - hash_and_equals - implementation_imports + - implicit_call_tearoffs - join_return_with_assignment + - library_annotations - library_names - library_prefixes # - lines_longer_than_80_chars - no_adjacent_strings_in_list - no_duplicate_case_values + - no_wildcard_variable_uses - non_constant_identifier_names + - null_check_on_nullable_type_parameter - null_closures - only_throw_errors - overridden_fields @@ -102,8 +109,10 @@ linter: - prefer_single_quotes - prefer_typing_uninitialized_variables - prefer_void_to_null + - provide_deprecation_message - public_member_api_docs - recursive_getters + - secure_pubspec_urls - slash_for_doc_comments - sort_constructors_first # - sort_pub_dependencies @@ -111,6 +120,7 @@ linter: - test_types_in_equals - throw_in_finally - type_init_formals + - type_literal_in_constant_pattern - unawaited_futures - unnecessary_await_in_return - unnecessary_brace_in_string_interps @@ -128,6 +138,7 @@ linter: - use_rethrow_when_possible - use_setters_to_change_properties - use_string_buffers + - use_string_in_part_of_directives - use_to_and_as_if_applicable - valid_regexps - void_checks diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 793b16dfe..d2bad10c9 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -18,14 +18,14 @@ dependencies: pref: ^2.7.1 flutter_deriv_api: git: - url: git@github.com:deriv-com/flutter-deriv-api.git + url: https://github.com/deriv-com/flutter-deriv-api.git ref: v1.3.0 win32: ^5.9.0 dev_dependencies: deriv_lint: git: - url: git@github.com:regentmarkets/flutter-deriv-packages.git + url: https://github.com/deriv-com/flutter-deriv-packages.git path: packages/deriv_lint ref: dev flutter_test: diff --git a/lib/src/add_ons/drawing_tools_ui/distance_constants.dart b/lib/src/add_ons/drawing_tools_ui/distance_constants.dart index 92e53b5a0..6301058e9 100644 --- a/lib/src/add_ons/drawing_tools_ui/distance_constants.dart +++ b/lib/src/add_ons/drawing_tools_ui/distance_constants.dart @@ -1,6 +1,5 @@ /// This involves calculating the distance from the marker to its /// edges for the purpose of creating lines ( horizontal , line drawing tool) - class DrawingToolDistance { /// horizontal distance static const double horizontalDistance = 99999; diff --git a/lib/src/add_ons/drawing_tools_ui/line/line_drawing_tool_config_mobile.dart b/lib/src/add_ons/drawing_tools_ui/line/line_drawing_tool_config_mobile.dart index 3d11f9e71..084740fb3 100644 --- a/lib/src/add_ons/drawing_tools_ui/line/line_drawing_tool_config_mobile.dart +++ b/lib/src/add_ons/drawing_tools_ui/line/line_drawing_tool_config_mobile.dart @@ -6,6 +6,7 @@ import 'package:deriv_chart/src/add_ons/drawing_tools_ui/line/line_drawing_tool_ import 'package:deriv_chart/src/deriv_chart/chart/data_visualization/drawing_tools/data_model/drawing_pattern.dart'; import 'package:deriv_chart/src/deriv_chart/chart/data_visualization/drawing_tools/data_model/edge_point.dart'; import 'package:deriv_chart/src/deriv_chart/chart/data_visualization/drawing_tools/data_model/point.dart'; +import 'package:deriv_chart/src/misc/extensions.dart'; import 'package:deriv_chart/src/theme/colors.dart'; import 'package:flutter/foundation.dart' show kIsWeb; import 'package:flutter/material.dart'; @@ -121,7 +122,7 @@ class LineDrawingToolConfigMobile extends DrawingToolConfig { return null; } return { - 'color': instance.color.value, + 'color': instance.color.toInt32, }; } } diff --git a/lib/src/add_ons/drawing_tools_ui/line/line_drawing_tool_label_painter.dart b/lib/src/add_ons/drawing_tools_ui/line/line_drawing_tool_label_painter.dart index 78f9b84d8..559de1275 100644 --- a/lib/src/add_ons/drawing_tools_ui/line/line_drawing_tool_label_painter.dart +++ b/lib/src/add_ons/drawing_tools_ui/line/line_drawing_tool_label_painter.dart @@ -45,7 +45,7 @@ class MobileLineDrawingToolLabelPainter extends LineDrawingToolLabelPainter { ..strokeWidth = 1.0; _barrierPaint = Paint() - ..color = _style.color.withOpacity(0.2) + ..color = _style.color.withValues(alpha: 0.2) ..style = PaintingStyle.fill; } diff --git a/lib/src/deriv_chart/chart/crosshair/crosshair_line_painter.dart b/lib/src/deriv_chart/chart/crosshair/crosshair_line_painter.dart index c881328f5..9431bd4a8 100644 --- a/lib/src/deriv_chart/chart/crosshair/crosshair_line_painter.dart +++ b/lib/src/deriv_chart/chart/crosshair/crosshair_line_painter.dart @@ -20,9 +20,9 @@ class CrosshairLinePainter extends CustomPainter { Offset(0, size.height), [ // TODO(Ramin): Use theme color when cross-hair design got updated - Colors.white.withOpacity(0.1), - Colors.white.withOpacity(0.3), - Colors.white.withOpacity(0.1), + Colors.white.withValues(alpha: 0.1), + Colors.white.withValues(alpha: 0.3), + Colors.white.withValues(alpha: 0.1), ], const [ 0, diff --git a/lib/src/deriv_chart/chart/data_visualization/annotations/barriers/accumulators_barriers/accumulators_closed_indicator_painter.dart b/lib/src/deriv_chart/chart/data_visualization/annotations/barriers/accumulators_barriers/accumulators_closed_indicator_painter.dart index 917aba39c..77c5e3771 100644 --- a/lib/src/deriv_chart/chart/data_visualization/annotations/barriers/accumulators_barriers/accumulators_closed_indicator_painter.dart +++ b/lib/src/deriv_chart/chart/data_visualization/annotations/barriers/accumulators_barriers/accumulators_closed_indicator_painter.dart @@ -59,7 +59,7 @@ class AccumulatorsClosedIndicatorPainter } _linePaint.color = color; _linePaintFill.color = color; - _rectPaint.color = color.withOpacity(0.08); + _rectPaint.color = color.withValues(alpha: 0.08); final AccumulatorsClosedIndicator indicator = series; diff --git a/lib/src/deriv_chart/chart/data_visualization/annotations/barriers/accumulators_barriers/accumulators_indicator_painter.dart b/lib/src/deriv_chart/chart/data_visualization/annotations/barriers/accumulators_barriers/accumulators_indicator_painter.dart index c5d5ee627..e2e9ed001 100644 --- a/lib/src/deriv_chart/chart/data_visualization/annotations/barriers/accumulators_barriers/accumulators_indicator_painter.dart +++ b/lib/src/deriv_chart/chart/data_visualization/annotations/barriers/accumulators_barriers/accumulators_indicator_painter.dart @@ -67,7 +67,7 @@ class AccumulatorIndicatorPainter extends SeriesPainter { } _linePaint.color = color; _linePaintFill.color = color; - _rectPaint.color = color.withOpacity(0.08); + _rectPaint.color = color.withValues(alpha: 0.08); final AccumulatorIndicator indicator = series; @@ -442,14 +442,14 @@ class AccumulatorIndicatorPainter extends SeriesPainter { center.dy, size: arrowSize, ), - arrowPaint..color = _paint.color.withOpacity(0.64)) + arrowPaint..color = _paint.color.withValues(alpha: 0.64)) ..drawPath( getUpwardArrowPath( center.dx, center.dy - arrowSize + 1, size: arrowSize, ), - arrowPaint..color = _paint.color.withOpacity(0.32)); + arrowPaint..color = _paint.color.withValues(alpha: 0.32)); } void _paintDownwardArrows( @@ -477,14 +477,14 @@ class AccumulatorIndicatorPainter extends SeriesPainter { center.dy, size: arrowSize, ), - arrowPaint..color = _paint.color.withOpacity(0.64)) + arrowPaint..color = _paint.color.withValues(alpha: 0.64)) ..drawPath( getDownwardArrowPath( center.dx, center.dy + arrowSize - 1, size: arrowSize, ), - arrowPaint..color = _paint.color.withOpacity(0.32)); + arrowPaint..color = _paint.color.withValues(alpha: 0.32)); } void _paintLine( diff --git a/lib/src/deriv_chart/chart/data_visualization/annotations/barriers/accumulators_barriers/accumulators_recently_closed_indicator_painter.dart b/lib/src/deriv_chart/chart/data_visualization/annotations/barriers/accumulators_barriers/accumulators_recently_closed_indicator_painter.dart index 930901d03..997cea060 100644 --- a/lib/src/deriv_chart/chart/data_visualization/annotations/barriers/accumulators_barriers/accumulators_recently_closed_indicator_painter.dart +++ b/lib/src/deriv_chart/chart/data_visualization/annotations/barriers/accumulators_barriers/accumulators_recently_closed_indicator_painter.dart @@ -59,7 +59,7 @@ class AccumulatorsRecentlyClosedIndicatorPainter } _linePaint.color = color; _linePaintFill.color = color; - _rectPaint.color = color.withOpacity(0.08); + _rectPaint.color = color.withValues(alpha: 0.08); final AccumulatorsRecentlyClosedIndicator indicator = series; @@ -218,7 +218,7 @@ class AccumulatorsRecentlyClosedIndicatorPainter final RRect rRect = RRect.fromRectAndRadius(dialogRect, const Radius.circular(4)); - _rectPaint.color = color.withOpacity(1); + _rectPaint.color = color.withValues(alpha: 1); canvas.drawRRect(rRect, _rectPaint); final Offset winLossPosition = Offset( diff --git a/lib/src/deriv_chart/chart/data_visualization/annotations/barriers/horizontal_barrier/horizontal_barrier_painter.dart b/lib/src/deriv_chart/chart/data_visualization/annotations/barriers/horizontal_barrier/horizontal_barrier_painter.dart index 4e9a8e293..f6af3d1be 100644 --- a/lib/src/deriv_chart/chart/data_visualization/annotations/barriers/horizontal_barrier/horizontal_barrier_painter.dart +++ b/lib/src/deriv_chart/chart/data_visualization/annotations/barriers/horizontal_barrier/horizontal_barrier_painter.dart @@ -280,14 +280,14 @@ class HorizontalBarrierPainter center.dy, size: arrowSize, ), - arrowPaint..color = _paint.color.withOpacity(0.64)) + arrowPaint..color = _paint.color.withValues(alpha: 0.64)) ..drawPath( getUpwardArrowPath( center.dx, center.dy - arrowSize + 1, size: arrowSize, ), - arrowPaint..color = _paint.color.withOpacity(0.32)); + arrowPaint..color = _paint.color.withValues(alpha: 0.32)); } void _paintDownwardArrows( @@ -315,14 +315,14 @@ class HorizontalBarrierPainter center.dy, size: arrowSize, ), - arrowPaint..color = _paint.color.withOpacity(0.64)) + arrowPaint..color = _paint.color.withValues(alpha: 0.64)) ..drawPath( getDownwardArrowPath( center.dx, center.dy + arrowSize - 1, size: arrowSize, ), - arrowPaint..color = _paint.color.withOpacity(0.32)); + arrowPaint..color = _paint.color.withValues(alpha: 0.32)); } } @@ -368,7 +368,7 @@ class IconBarrierPainter extends HorizontalBarrierPainter { ..drawCircle( _barrierPosition!, (iconSize / 2) - 2, - Paint()..color = Colors.black.withOpacity(0.32), + Paint()..color = Colors.black.withValues(alpha: 0.32), ); TextPainter(textDirection: TextDirection.ltr) diff --git a/lib/src/deriv_chart/chart/data_visualization/chart_series/indexed_entry.dart b/lib/src/deriv_chart/chart/data_visualization/chart_series/indexed_entry.dart index b982c81d3..516a6724f 100644 --- a/lib/src/deriv_chart/chart/data_visualization/chart_series/indexed_entry.dart +++ b/lib/src/deriv_chart/chart/data_visualization/chart_series/indexed_entry.dart @@ -1,6 +1,5 @@ /// A model class to hold an Entry of type [T] and its index in the whole list /// of entries. - class IndexedEntry { /// Initializes const IndexedEntry(this.entry, this.index); diff --git a/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/adx_series.dart b/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/adx_series.dart index 6c7674049..91ed675f3 100644 --- a/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/adx_series.dart +++ b/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/adx_series.dart @@ -141,9 +141,9 @@ class ADXSeries extends Series { positiveDISeries, negativeDISeries, firstUpperChannelFillColor: - config.positiveLineStyle.color.withOpacity(0.2), + config.positiveLineStyle.color.withValues(alpha: 0.2), secondUpperChannelFillColor: - config.negativeLineStyle.color.withOpacity(0.2), + config.negativeLineStyle.color.withValues(alpha: 0.2), ); } diff --git a/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/bollinger_bands_series.dart b/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/bollinger_bands_series.dart index 9eaf0069e..726f7a6de 100644 --- a/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/bollinger_bands_series.dart +++ b/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/bollinger_bands_series.dart @@ -122,8 +122,8 @@ class BollingerBandSeries extends Series { return ChannelFillPainter( upperSeries, lowerSeries, - firstUpperChannelFillColor: bbOptions.fillColor.withOpacity(0.2), - secondUpperChannelFillColor: bbOptions.fillColor.withOpacity(0.2), + firstUpperChannelFillColor: bbOptions.fillColor.withValues(alpha: 0.2), + secondUpperChannelFillColor: bbOptions.fillColor.withValues(alpha: 0.2), ); } diff --git a/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/donchian_channels_series.dart b/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/donchian_channels_series.dart index 9da618697..b25430e85 100644 --- a/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/donchian_channels_series.dart +++ b/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/donchian_channels_series.dart @@ -105,8 +105,8 @@ class DonchianChannelsSeries extends Series { return ChannelFillPainter( upperChannelSeries, lowerChannelSeries, - firstUpperChannelFillColor: config.fillColor.withOpacity(0.2), - secondUpperChannelFillColor: config.fillColor.withOpacity(0.2), + firstUpperChannelFillColor: config.fillColor.withValues(alpha: 0.2), + secondUpperChannelFillColor: config.fillColor.withValues(alpha: 0.2), ); } diff --git a/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/fcb_series.dart b/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/fcb_series.dart index b5ecbceed..5d6b4ba2e 100644 --- a/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/fcb_series.dart +++ b/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/fcb_series.dart @@ -58,8 +58,8 @@ class FractalChaosBandSeries extends Series { return ChannelFillPainter( fcbHighSeries, fcbLowSeries, - firstUpperChannelFillColor: config.fillColor.withOpacity(0.2), - secondUpperChannelFillColor: config.fillColor.withOpacity(0.2), + firstUpperChannelFillColor: config.fillColor.withValues(alpha: 0.2), + secondUpperChannelFillColor: config.fillColor.withValues(alpha: 0.2), ); } diff --git a/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/ichimoku_cloud_series.dart b/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/ichimoku_cloud_series.dart index 223efe3e6..2a36a9705 100644 --- a/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/ichimoku_cloud_series.dart +++ b/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/ichimoku_cloud_series.dart @@ -163,8 +163,10 @@ class IchimokuCloudSeries extends Series { return ChannelFillPainter( spanASeries, spanBSeries, - firstUpperChannelFillColor: config.spanALineStyle.color.withOpacity(0.2), - secondUpperChannelFillColor: config.spanBLineStyle.color.withOpacity(0.2), + firstUpperChannelFillColor: + config.spanALineStyle.color.withValues(alpha: 0.2), + secondUpperChannelFillColor: + config.spanBLineStyle.color.withValues(alpha: 0.2), ); } diff --git a/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/ma_env_series.dart b/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/ma_env_series.dart index 11e5e863b..98fd9b70e 100644 --- a/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/ma_env_series.dart +++ b/lib/src/deriv_chart/chart/data_visualization/chart_series/indicators_series/ma_env_series.dart @@ -120,8 +120,10 @@ class MAEnvSeries extends Series { return ChannelFillPainter( upperSeries, lowerSeries, - firstUpperChannelFillColor: maEnvOptions?.fillColor.withOpacity(0.2), - secondUpperChannelFillColor: maEnvOptions?.fillColor.withOpacity(0.2), + firstUpperChannelFillColor: + maEnvOptions?.fillColor.withValues(alpha: 0.2), + secondUpperChannelFillColor: + maEnvOptions?.fillColor.withValues(alpha: 0.2), ); } diff --git a/lib/src/deriv_chart/chart/data_visualization/chart_series/line_series/channel_fill_painter.dart b/lib/src/deriv_chart/chart/data_visualization/chart_series/line_series/channel_fill_painter.dart index 1cbb02e57..488d977ea 100644 --- a/lib/src/deriv_chart/chart/data_visualization/chart_series/line_series/channel_fill_painter.dart +++ b/lib/src/deriv_chart/chart/data_visualization/chart_series/line_series/channel_fill_painter.dart @@ -60,8 +60,8 @@ class ChannelFillPainter extends DataPainter> { ..strokeWidth = firstLineStyle.thickness; final Paint firstChannelFillPaint = Paint() - ..color = - firstUpperChannelFillColor ?? firstLineStyle.color.withOpacity(0.2) + ..color = firstUpperChannelFillColor ?? + firstLineStyle.color.withValues(alpha: 0.2) ..style = PaintingStyle.fill ..strokeWidth = 0; @@ -71,8 +71,8 @@ class ChannelFillPainter extends DataPainter> { ..strokeWidth = secondLineStyle.thickness; final Paint secondChannelFillPaint = Paint() - ..color = - secondUpperChannelFillColor ?? secondLineStyle.color.withOpacity(0.2) + ..color = secondUpperChannelFillColor ?? + secondLineStyle.color.withValues(alpha: 0.2) ..style = PaintingStyle.fill ..strokeWidth = 0; diff --git a/lib/src/deriv_chart/chart/data_visualization/chart_series/line_series/line_painter.dart b/lib/src/deriv_chart/chart/data_visualization/chart_series/line_series/line_painter.dart index 2dff3e1fe..23cf52647 100644 --- a/lib/src/deriv_chart/chart/data_visualization/chart_series/line_series/line_painter.dart +++ b/lib/src/deriv_chart/chart/data_visualization/chart_series/line_series/line_painter.dart @@ -42,8 +42,8 @@ class LinePainter extends DataPainter> { const Offset(0, 0), Offset(0, size.height), [ - style.color.withOpacity(0.2), - style.color.withOpacity(0.01), + style.color.withValues(alpha: 0.2), + style.color.withValues(alpha: 0.01), ], ); diff --git a/lib/src/deriv_chart/chart/data_visualization/chart_series/line_series/oscillator_line_painter.dart b/lib/src/deriv_chart/chart/data_visualization/chart_series/line_series/oscillator_line_painter.dart index fbd6b085f..227819d54 100644 --- a/lib/src/deriv_chart/chart/data_visualization/chart_series/line_series/oscillator_line_painter.dart +++ b/lib/src/deriv_chart/chart/data_visualization/chart_series/line_series/oscillator_line_painter.dart @@ -30,10 +30,10 @@ class OscillatorLinePainter extends LinePainter { const LineStyle(color: Colors.blueGrey), _bottomHorizontalLine = bottomHorizontalLine, _topZonesPaint = Paint() - ..color = topHorizontalLinesStyle.color.withOpacity(0.5) + ..color = topHorizontalLinesStyle.color.withValues(alpha: 0.5) ..style = PaintingStyle.fill, _bottomZonesPaint = Paint() - ..color = bottomHorizontalLinesStyle.color.withOpacity(0.5) + ..color = bottomHorizontalLinesStyle.color.withValues(alpha: 0.5) ..style = PaintingStyle.fill, super(series); @@ -85,7 +85,7 @@ class OscillatorLinePainter extends LinePainter { if (kIsWeb) { final List horizontalLineEntries = series.entries! .map((Tick entry) => - Tick(epoch: entry.epoch, quote: _topHorizontalLine!)) + Tick(epoch: entry.epoch, quote: _topHorizontalLine)) .toList(); topIntersections = combinePaths( series, @@ -104,7 +104,7 @@ class OscillatorLinePainter extends LinePainter { linePath.startPosition.dx, 0, linePath.endPosition.dx, - quoteToY(_topHorizontalLine!), + quoteToY(_topHorizontalLine), ), ); @@ -121,7 +121,7 @@ class OscillatorLinePainter extends LinePainter { if (kIsWeb) { final List horizontalLineEntries = series.entries! .map((Tick entry) => - Tick(epoch: entry.epoch, quote: _bottomHorizontalLine!)) + Tick(epoch: entry.epoch, quote: _bottomHorizontalLine)) .toList(); bottomIntersection = combinePaths( @@ -139,7 +139,7 @@ class OscillatorLinePainter extends LinePainter { ..addRect( Rect.fromLTRB( linePath.startPosition.dx, - quoteToY(_bottomHorizontalLine!), + quoteToY(_bottomHorizontalLine), linePath.endPosition.dx, size.height, ), @@ -166,12 +166,12 @@ class OscillatorLinePainter extends LinePainter { if (_topHorizontalLine != null) { paint.color = topHorizontalLinesStyle.color; canvas.drawLine( - Offset(0, quoteToY(_topHorizontalLine!)), + Offset(0, quoteToY(_topHorizontalLine)), Offset( size.width - - labelWidth(_topHorizontalLine!, textStyle.textStyle, + labelWidth(_topHorizontalLine, textStyle.textStyle, chartConfig.pipSize), - quoteToY(_topHorizontalLine!)), + quoteToY(_topHorizontalLine)), paint); } @@ -181,12 +181,12 @@ class OscillatorLinePainter extends LinePainter { ..strokeWidth = bottomHorizontalLinesStyle.thickness; canvas.drawLine( - Offset(0, quoteToY(_bottomHorizontalLine!)), + Offset(0, quoteToY(_bottomHorizontalLine)), Offset( size.width - labelWidth(_topHorizontalLine!, textStyle.textStyle, chartConfig.pipSize), - quoteToY(_bottomHorizontalLine!)), + quoteToY(_bottomHorizontalLine)), paint); } @@ -214,13 +214,13 @@ class OscillatorLinePainter extends LinePainter { if (_topHorizontalLine != null) { final TextPainter topValuePainter = makeTextPainter( - _topHorizontalLine!.toStringAsFixed(0), + _topHorizontalLine.toStringAsFixed(0), style.textStyle, ); final Rect topLabelArea = Rect.fromCenter( center: Offset( size.width - rightMargin - padding - topValuePainter.width / 2, - quoteToY(_topHorizontalLine!)), + quoteToY(_topHorizontalLine)), width: topValuePainter.width + padding * 2, height: style.labelHeight, ); @@ -233,14 +233,14 @@ class OscillatorLinePainter extends LinePainter { if (_bottomHorizontalLine != null) { final TextPainter bottomValuePainter = makeTextPainter( - _bottomHorizontalLine!.toStringAsFixed(0), + _bottomHorizontalLine.toStringAsFixed(0), style.textStyle, ); final Rect bottomLabelArea = Rect.fromCenter( center: Offset( size.width - rightMargin - padding - bottomValuePainter.width / 2, - quoteToY(_bottomHorizontalLine!)), + quoteToY(_bottomHorizontalLine)), width: bottomValuePainter.width + padding * 2, height: style.labelHeight, ); diff --git a/lib/src/deriv_chart/chart/data_visualization/drawing_tools/data_model/drawing_paint_style.dart b/lib/src/deriv_chart/chart/data_visualization/drawing_tools/data_model/drawing_paint_style.dart index 223c78ae0..67812a084 100644 --- a/lib/src/deriv_chart/chart/data_visualization/drawing_tools/data_model/drawing_paint_style.dart +++ b/lib/src/deriv_chart/chart/data_visualization/drawing_tools/data_model/drawing_paint_style.dart @@ -15,12 +15,12 @@ class DrawingPaintStyle { /// Returns the paint style of the the faded line Paint fadedLinePaintStyle(Color color, double thickness) => Paint() - ..color = color.withOpacity(0.7) + ..color = color.withValues(alpha: 0.7) ..strokeWidth = thickness; /// Returns the paint style of the inner filling of container Paint fillPaintStyle(Color color, double thickness) => Paint() - ..color = color.withOpacity(0.2) + ..color = color.withValues(alpha: 0.2) ..style = PaintingStyle.fill ..strokeWidth = thickness; diff --git a/lib/src/deriv_chart/chart/data_visualization/drawing_tools/rectangle/rectangle_drawing.dart b/lib/src/deriv_chart/chart/data_visualization/drawing_tools/rectangle/rectangle_drawing.dart index 54699aa1b..9d27f8083 100644 --- a/lib/src/deriv_chart/chart/data_visualization/drawing_tools/rectangle/rectangle_drawing.dart +++ b/lib/src/deriv_chart/chart/data_visualization/drawing_tools/rectangle/rectangle_drawing.dart @@ -180,9 +180,10 @@ class RectangleDrawing extends Drawing { _rect, drawingData.shouldHighlight ? paint.glowyLinePaintStyle( - fillStyle.color.withOpacity(0.3), lineStyle.thickness) - : paint.fillPaintStyle( - fillStyle.color.withOpacity(0.3), lineStyle.thickness)) + fillStyle.color.withValues(alpha: 0.3), + lineStyle.thickness) + : paint.fillPaintStyle(fillStyle.color.withValues(alpha: 0.3), + lineStyle.thickness)) ..drawRect( _rect, paint.strokeStyle(lineStyle.color, lineStyle.thickness)); } diff --git a/lib/src/deriv_chart/chart/data_visualization/drawing_tools/trend/trend_drawing.dart b/lib/src/deriv_chart/chart/data_visualization/drawing_tools/trend/trend_drawing.dart index 49967d433..56634d34d 100644 --- a/lib/src/deriv_chart/chart/data_visualization/drawing_tools/trend/trend_drawing.dart +++ b/lib/src/deriv_chart/chart/data_visualization/drawing_tools/trend/trend_drawing.dart @@ -355,7 +355,7 @@ class TrendDrawing extends Drawing { _mainRect, drawingData.shouldHighlight ? paint.glowyLinePaintStyle( - fillStyle.color.withOpacity(0.2), lineStyle.thickness) + fillStyle.color.withValues(alpha: 0.2), lineStyle.thickness) : paint.fillPaintStyle(fillStyle.color, lineStyle.thickness), ) ..drawRect( @@ -366,7 +366,7 @@ class TrendDrawing extends Drawing { _middleRect, drawingData.shouldHighlight ? paint.glowyLinePaintStyle( - fillStyle.color.withOpacity(0.2), lineStyle.thickness) + fillStyle.color.withValues(alpha: 0.2), lineStyle.thickness) : paint.fillPaintStyle(fillStyle.color, lineStyle.thickness), ) ..drawRect( diff --git a/lib/src/deriv_chart/chart/data_visualization/markers/marker_icon_painters/marker_icon_painter.dart b/lib/src/deriv_chart/chart/data_visualization/markers/marker_icon_painters/marker_icon_painter.dart index 07048d6b6..a7ef4d289 100644 --- a/lib/src/deriv_chart/chart/data_visualization/markers/marker_icon_painters/marker_icon_painter.dart +++ b/lib/src/deriv_chart/chart/data_visualization/markers/marker_icon_painters/marker_icon_painter.dart @@ -41,7 +41,7 @@ abstract class MarkerIconPainter { ..drawCircle( center, style.radius - 2, - Paint()..color = Colors.black.withOpacity(0.32), + Paint()..color = Colors.black.withValues(alpha: 0.32), ); } diff --git a/lib/src/deriv_chart/chart/helpers/color_converter.dart b/lib/src/deriv_chart/chart/helpers/color_converter.dart index 456f6a352..f5ba38d4b 100644 --- a/lib/src/deriv_chart/chart/helpers/color_converter.dart +++ b/lib/src/deriv_chart/chart/helpers/color_converter.dart @@ -1,3 +1,4 @@ +import 'package:deriv_chart/src/misc/extensions.dart'; import 'package:flutter/material.dart'; import 'package:json_annotation/json_annotation.dart'; @@ -21,5 +22,5 @@ class ColorConverter implements JsonConverter { Color fromJson(int value) => Color(value); @override - int toJson(Color color) => color.value; + int toJson(Color color) => color.toInt32; } diff --git a/lib/src/deriv_chart/chart/helpers/paint_functions/paint_dot.dart b/lib/src/deriv_chart/chart/helpers/paint_functions/paint_dot.dart index 7277cd84f..7a05e84d4 100644 --- a/lib/src/deriv_chart/chart/helpers/paint_functions/paint_dot.dart +++ b/lib/src/deriv_chart/chart/helpers/paint_functions/paint_dot.dart @@ -66,7 +66,7 @@ void paintDotWithGlow( // // Create a semi-transparent glow paint final Paint glowPaint = Paint() - ..color = paint.color.withOpacity(0.5) + ..color = paint.color.withValues(alpha: 0.5) ..style = PaintingStyle.fill; // Draw the glow diff --git a/lib/src/deriv_chart/chart/worm_chart/worm_chart.dart b/lib/src/deriv_chart/chart/worm_chart/worm_chart.dart index 0d607c3f5..dffb91611 100644 --- a/lib/src/deriv_chart/chart/worm_chart/worm_chart.dart +++ b/lib/src/deriv_chart/chart/worm_chart/worm_chart.dart @@ -264,6 +264,6 @@ int _searchUpperIndex(List entries, double rightIndex) { : (closest + 1 > entries.length ? closest : closest + 1); } -extension _isGraterThanZero on Size { +extension _IsGreaterThanZero on Size { bool get isGraterThanZero => width > 0 && height > 0; } diff --git a/lib/src/deriv_chart/chart/worm_chart/worm_chart_painter.dart b/lib/src/deriv_chart/chart/worm_chart/worm_chart_painter.dart index 79c5bf8a7..b2bfdaaf6 100644 --- a/lib/src/deriv_chart/chart/worm_chart/worm_chart_painter.dart +++ b/lib/src/deriv_chart/chart/worm_chart/worm_chart_painter.dart @@ -193,8 +193,8 @@ class WormChartPainter extends CustomPainter { const Offset(0, 0), Offset(0, size.height), [ - style.color.withOpacity(0.2), - style.color.withOpacity(0.001), + style.color.withValues(alpha: 0.2), + style.color.withValues(alpha: 0.001), ], ); diff --git a/lib/src/deriv_chart/chart/x_axis/functions/calc_no_overlay_time_gaps.dart b/lib/src/deriv_chart/chart/x_axis/functions/calc_no_overlay_time_gaps.dart index f5eaa5f44..dc9f6e0b4 100644 --- a/lib/src/deriv_chart/chart/x_axis/functions/calc_no_overlay_time_gaps.dart +++ b/lib/src/deriv_chart/chart/x_axis/functions/calc_no_overlay_time_gaps.dart @@ -1,5 +1,4 @@ /// Calculate time labels' from [gridTimestamps] without any overlaps. - List calculateNoOverlapGridTimestamps( List gridTimestamps, double minDistanceBetweenTimeGridLines, diff --git a/lib/src/misc/extensions.dart b/lib/src/misc/extensions.dart index abfc8114c..138bb901f 100644 --- a/lib/src/misc/extensions.dart +++ b/lib/src/misc/extensions.dart @@ -6,3 +6,29 @@ extension ContextExtension on BuildContext { /// Returns [ChartLocalization] of context. ChartLocalization get localization => ChartLocalization.of(this); } + +/// This class is to supplement deprecated_member_use for value +/// value converted RGBA into a 32 bit integer +/// Will be removed in the next stable flutter version +/// https://github.com/flutter/flutter/issues/160184#issuecomment-2560184639 +extension ColorEx on Color { + /// Converts a double value to an 8-bit integer. + static int floatToInt8(double x) { + return (x * 255.0).round() & 0xff; + } + + /// A 32 bit value representing this color. + /// + /// The bits are assigned as follows: + /// + /// * Bits 24-31 are the alpha value. + /// * Bits 16-23 are the red value. + /// * Bits 8-15 are the green value. + /// * Bits 0-7 are the blue value. + int get toInt32 { + return floatToInt8(a) << 24 | + floatToInt8(r) << 16 | + floatToInt8(g) << 8 | + floatToInt8(b) << 0; + } +} diff --git a/lib/src/widgets/animated_popup.dart b/lib/src/widgets/animated_popup.dart index de5a6ec0c..0c39a230a 100644 --- a/lib/src/widgets/animated_popup.dart +++ b/lib/src/widgets/animated_popup.dart @@ -55,7 +55,7 @@ class _AnimatedPopupDialogState extends State borderRadius: BorderRadius.all(Radius.circular(5))), ), child: Material( - color: const Color(0xFF0E0E0E).withOpacity(0.5), + color: const Color(0xFF0E0E0E).withValues(alpha: 0.5), child: Padding( padding: const EdgeInsets.all(2), child: widget.child, diff --git a/lib/src/widgets/color_picker/material_color_grid.dart b/lib/src/widgets/color_picker/material_color_grid.dart index aeb2f807c..0180c24e0 100644 --- a/lib/src/widgets/color_picker/material_color_grid.dart +++ b/lib/src/widgets/color_picker/material_color_grid.dart @@ -1,3 +1,4 @@ +import 'package:deriv_chart/src/misc/extensions.dart'; import 'package:flutter/material.dart'; /// Grid of material color options. @@ -44,7 +45,7 @@ class MaterialColorGrid extends StatelessWidget { for (final int shade in colorShades) _ColorOptionButton( color: swatch[shade]!, - selected: swatch[shade]!.value == selectedColor.value, + selected: swatch[shade]!.toInt32 == selectedColor.toInt32, onTap: () { onChanged.call(swatch[shade]!); }, diff --git a/lib/src/widgets/market_selector/animated_highlight.dart b/lib/src/widgets/market_selector/animated_highlight.dart index de7ae4c39..e71f2dc5a 100644 --- a/lib/src/widgets/market_selector/animated_highlight.dart +++ b/lib/src/widgets/market_selector/animated_highlight.dart @@ -64,7 +64,7 @@ class _AnimatedHighlightState extends State Widget build(BuildContext context) => AnimatedBuilder( animation: _animation, builder: (BuildContext context, Widget? child) => Ink( - color: Colors.grey.withOpacity(_animation.value), + color: Colors.grey.withValues(alpha: _animation.value), child: child, ), child: widget.child, diff --git a/pubspec.yaml b/pubspec.yaml index 5f5cd2e08..2722ec4ba 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ homepage: https://github.com/deriv-com/flutter-chart repository: https://github.com/deriv-com/flutter-chart environment: - sdk: ">=3.0.0 <4.0.0" + sdk: ">=3.6.0 <4.0.0" flutter: ">=3.10.1" dependencies: @@ -30,6 +30,7 @@ dev_dependencies: build_runner: ^2.4.6 intl_utils: ^2.8.2 json_serializable: ^6.7.1 + lints: ^5.1.1 flutter: assets: