diff --git a/analysis_options.yaml b/analysis_options.yaml index 0a3be5cca..bf5637149 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -13,6 +13,7 @@ analyzer: exclude: - lib/grpc/bilibili/** - lib/grpc/google/** + - lib/common/widgets/flutter/** formatter: trailing_commas: preserve diff --git a/lib/common/widgets/custom_layout.dart b/lib/common/widgets/flutter/custom_layout.dart similarity index 100% rename from lib/common/widgets/custom_layout.dart rename to lib/common/widgets/flutter/custom_layout.dart diff --git a/lib/common/widgets/draggable_sheet/draggable_scrollable_sheet_dyn.dart b/lib/common/widgets/flutter/draggable_sheet/draggable_scrollable_sheet_dyn.dart similarity index 100% rename from lib/common/widgets/draggable_sheet/draggable_scrollable_sheet_dyn.dart rename to lib/common/widgets/flutter/draggable_sheet/draggable_scrollable_sheet_dyn.dart diff --git a/lib/common/widgets/draggable_sheet/draggable_scrollable_sheet_topic.dart b/lib/common/widgets/flutter/draggable_sheet/draggable_scrollable_sheet_topic.dart similarity index 100% rename from lib/common/widgets/draggable_sheet/draggable_scrollable_sheet_topic.dart rename to lib/common/widgets/flutter/draggable_sheet/draggable_scrollable_sheet_topic.dart diff --git a/lib/common/widgets/dyn/button.dart b/lib/common/widgets/flutter/dyn/button.dart similarity index 99% rename from lib/common/widgets/dyn/button.dart rename to lib/common/widgets/flutter/dyn/button.dart index dc8e1bbd3..1b419b87d 100644 --- a/lib/common/widgets/dyn/button.dart +++ b/lib/common/widgets/flutter/dyn/button.dart @@ -13,7 +13,7 @@ library; import 'dart:math' as math; -import 'package:PiliPlus/common/widgets/dyn/ink_well.dart'; +import 'package:PiliPlus/common/widgets/flutter/dyn/ink_well.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart' hide InkWell; import 'package:flutter/rendering.dart'; diff --git a/lib/common/widgets/dyn/ink_well.dart b/lib/common/widgets/flutter/dyn/ink_well.dart similarity index 100% rename from lib/common/widgets/dyn/ink_well.dart rename to lib/common/widgets/flutter/dyn/ink_well.dart diff --git a/lib/common/widgets/dyn/text_button.dart b/lib/common/widgets/flutter/dyn/text_button.dart similarity index 99% rename from lib/common/widgets/dyn/text_button.dart rename to lib/common/widgets/flutter/dyn/text_button.dart index b238fb68e..948f20e20 100644 --- a/lib/common/widgets/dyn/text_button.dart +++ b/lib/common/widgets/flutter/dyn/text_button.dart @@ -12,7 +12,7 @@ library; import 'dart:ui' show lerpDouble; -import 'package:PiliPlus/common/widgets/dyn/button.dart'; +import 'package:PiliPlus/common/widgets/flutter/dyn/button.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart' hide InkWell, ButtonStyleButton; diff --git a/lib/common/widgets/list_tile.dart b/lib/common/widgets/flutter/list_tile.dart similarity index 100% rename from lib/common/widgets/list_tile.dart rename to lib/common/widgets/flutter/list_tile.dart diff --git a/lib/common/widgets/page/page_view.dart b/lib/common/widgets/flutter/page/page_view.dart similarity index 99% rename from lib/common/widgets/page/page_view.dart rename to lib/common/widgets/flutter/page/page_view.dart index 59584d23a..4a2a86ccb 100644 --- a/lib/common/widgets/page/page_view.dart +++ b/lib/common/widgets/flutter/page/page_view.dart @@ -10,7 +10,7 @@ /// @docImport 'text.dart'; library; -import 'package:PiliPlus/common/widgets/page/scrollable.dart'; +import 'package:PiliPlus/common/widgets/flutter/page/scrollable.dart'; import 'package:flutter/gestures.dart' show DragStartBehavior; import 'package:flutter/material.dart' hide Scrollable, ScrollableState; import 'package:flutter/rendering.dart'; diff --git a/lib/common/widgets/page/scrollable.dart b/lib/common/widgets/flutter/page/scrollable.dart similarity index 100% rename from lib/common/widgets/page/scrollable.dart rename to lib/common/widgets/flutter/page/scrollable.dart diff --git a/lib/common/widgets/page/tabs.dart b/lib/common/widgets/flutter/page/tabs.dart similarity index 99% rename from lib/common/widgets/page/tabs.dart rename to lib/common/widgets/flutter/page/tabs.dart index c16e02457..60cd0c4ad 100644 --- a/lib/common/widgets/page/tabs.dart +++ b/lib/common/widgets/flutter/page/tabs.dart @@ -4,7 +4,7 @@ import 'dart:ui' show SemanticsRole; -import 'package:PiliPlus/common/widgets/page/page_view.dart'; +import 'package:PiliPlus/common/widgets/flutter/page/page_view.dart'; import 'package:flutter/foundation.dart' show clampDouble; import 'package:flutter/gestures.dart' show DragStartBehavior; import 'package:flutter/material.dart' hide TabBarView, PageView; diff --git a/lib/common/widgets/text/paragraph.dart b/lib/common/widgets/flutter/text/paragraph.dart similarity index 100% rename from lib/common/widgets/text/paragraph.dart rename to lib/common/widgets/flutter/text/paragraph.dart diff --git a/lib/common/widgets/text/rich_text.dart b/lib/common/widgets/flutter/text/rich_text.dart similarity index 99% rename from lib/common/widgets/text/rich_text.dart rename to lib/common/widgets/flutter/text/rich_text.dart index 319df88e1..d9f90fe68 100644 --- a/lib/common/widgets/text/rich_text.dart +++ b/lib/common/widgets/flutter/text/rich_text.dart @@ -1,6 +1,6 @@ import 'dart:ui' as ui; -import 'package:PiliPlus/common/widgets/text/paragraph.dart'; +import 'package:PiliPlus/common/widgets/flutter/text/paragraph.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart' hide RenderParagraph; diff --git a/lib/common/widgets/text/text.dart b/lib/common/widgets/flutter/text/text.dart similarity index 99% rename from lib/common/widgets/text/text.dart rename to lib/common/widgets/flutter/text/text.dart index 0da20a075..984e088c9 100644 --- a/lib/common/widgets/text/text.dart +++ b/lib/common/widgets/flutter/text/text.dart @@ -17,8 +17,8 @@ library; import 'dart:math'; import 'dart:ui' as ui show TextHeightBehavior; -import 'package:PiliPlus/common/widgets/text/paragraph.dart'; -import 'package:PiliPlus/common/widgets/text/rich_text.dart'; +import 'package:PiliPlus/common/widgets/flutter/text/paragraph.dart'; +import 'package:PiliPlus/common/widgets/flutter/text/rich_text.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart' hide RichText; import 'package:flutter/rendering.dart' hide RenderParagraph; diff --git a/lib/common/widgets/text_field/adaptive_text_selection_toolbar.dart b/lib/common/widgets/flutter/text_field/adaptive_text_selection_toolbar.dart similarity index 99% rename from lib/common/widgets/text_field/adaptive_text_selection_toolbar.dart rename to lib/common/widgets/flutter/text_field/adaptive_text_selection_toolbar.dart index 6dc0dc393..b94765544 100644 --- a/lib/common/widgets/text_field/adaptive_text_selection_toolbar.dart +++ b/lib/common/widgets/flutter/text_field/adaptive_text_selection_toolbar.dart @@ -9,7 +9,7 @@ /// @docImport 'text_field.dart'; library; -import 'package:PiliPlus/common/widgets/text_field/editable_text.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/editable_text.dart'; import 'package:flutter/cupertino.dart' hide EditableText, EditableTextState; import 'package:flutter/material.dart' hide EditableText, EditableTextState; import 'package:flutter/rendering.dart'; diff --git a/lib/common/widgets/text_field/controller.dart b/lib/common/widgets/flutter/text_field/controller.dart similarity index 100% rename from lib/common/widgets/text_field/controller.dart rename to lib/common/widgets/flutter/text_field/controller.dart diff --git a/lib/common/widgets/text_field/cupertino/cupertino_adaptive_text_selection_toolbar.dart b/lib/common/widgets/flutter/text_field/cupertino/cupertino_adaptive_text_selection_toolbar.dart similarity index 99% rename from lib/common/widgets/text_field/cupertino/cupertino_adaptive_text_selection_toolbar.dart rename to lib/common/widgets/flutter/text_field/cupertino/cupertino_adaptive_text_selection_toolbar.dart index a29fdf2ce..26c85f7f6 100644 --- a/lib/common/widgets/text_field/cupertino/cupertino_adaptive_text_selection_toolbar.dart +++ b/lib/common/widgets/flutter/text_field/cupertino/cupertino_adaptive_text_selection_toolbar.dart @@ -5,7 +5,7 @@ /// @docImport 'package:flutter/material.dart'; library; -import 'package:PiliPlus/common/widgets/text_field/editable_text.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/editable_text.dart'; import 'package:flutter/cupertino.dart' hide EditableText, EditableTextState; import 'package:flutter/foundation.dart' show defaultTargetPlatform; import 'package:flutter/rendering.dart'; diff --git a/lib/common/widgets/text_field/cupertino/cupertino_spell_check_suggestions_toolbar.dart b/lib/common/widgets/flutter/text_field/cupertino/cupertino_spell_check_suggestions_toolbar.dart similarity index 98% rename from lib/common/widgets/text_field/cupertino/cupertino_spell_check_suggestions_toolbar.dart rename to lib/common/widgets/flutter/text_field/cupertino/cupertino_spell_check_suggestions_toolbar.dart index 3a5f6e18c..3470103a8 100644 --- a/lib/common/widgets/text_field/cupertino/cupertino_spell_check_suggestions_toolbar.dart +++ b/lib/common/widgets/flutter/text_field/cupertino/cupertino_spell_check_suggestions_toolbar.dart @@ -5,7 +5,7 @@ /// @docImport 'package:flutter/material.dart'; library; -import 'package:PiliPlus/common/widgets/text_field/editable_text.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/editable_text.dart'; import 'package:flutter/cupertino.dart' hide EditableText, EditableTextState; import 'package:flutter/scheduler.dart'; import 'package:flutter/services.dart' diff --git a/lib/common/widgets/text_field/cupertino/cupertino_text_field.dart b/lib/common/widgets/flutter/text_field/cupertino/cupertino_text_field.dart similarity index 99% rename from lib/common/widgets/text_field/cupertino/cupertino_text_field.dart rename to lib/common/widgets/flutter/text_field/cupertino/cupertino_text_field.dart index e0855fce9..626adf280 100644 --- a/lib/common/widgets/text_field/cupertino/cupertino_text_field.dart +++ b/lib/common/widgets/flutter/text_field/cupertino/cupertino_text_field.dart @@ -7,13 +7,13 @@ library; import 'dart:ui' as ui show BoxHeightStyle, BoxWidthStyle; -import 'package:PiliPlus/common/widgets/text_field/controller.dart'; -import 'package:PiliPlus/common/widgets/text_field/cupertino/cupertino_adaptive_text_selection_toolbar.dart'; -import 'package:PiliPlus/common/widgets/text_field/cupertino/cupertino_spell_check_suggestions_toolbar.dart'; -import 'package:PiliPlus/common/widgets/text_field/editable_text.dart'; -import 'package:PiliPlus/common/widgets/text_field/spell_check.dart'; -import 'package:PiliPlus/common/widgets/text_field/system_context_menu.dart'; -import 'package:PiliPlus/common/widgets/text_field/text_selection.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/controller.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/cupertino/cupertino_adaptive_text_selection_toolbar.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/cupertino/cupertino_spell_check_suggestions_toolbar.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/editable_text.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/spell_check.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/system_context_menu.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/text_selection.dart'; import 'package:flutter/cupertino.dart' hide SpellCheckConfiguration, diff --git a/lib/common/widgets/text_field/editable.dart b/lib/common/widgets/flutter/text_field/editable.dart similarity index 99% rename from lib/common/widgets/text_field/editable.dart rename to lib/common/widgets/flutter/text_field/editable.dart index 42c736d2c..b4ee1dfe5 100644 --- a/lib/common/widgets/text_field/editable.dart +++ b/lib/common/widgets/flutter/text_field/editable.dart @@ -16,7 +16,7 @@ import 'dart:ui' SemanticsInputType, TextBox; -import 'package:PiliPlus/common/widgets/text_field/controller.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/controller.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; diff --git a/lib/common/widgets/text_field/editable_text.dart b/lib/common/widgets/flutter/text_field/editable_text.dart similarity index 99% rename from lib/common/widgets/text_field/editable_text.dart rename to lib/common/widgets/flutter/text_field/editable_text.dart index 39d6f18de..ba71cd1b0 100644 --- a/lib/common/widgets/text_field/editable_text.dart +++ b/lib/common/widgets/flutter/text_field/editable_text.dart @@ -22,10 +22,10 @@ import 'dart:math' as math; import 'dart:ui' as ui hide TextStyle; import 'dart:ui'; -import 'package:PiliPlus/common/widgets/text_field/controller.dart'; -import 'package:PiliPlus/common/widgets/text_field/editable.dart'; -import 'package:PiliPlus/common/widgets/text_field/spell_check.dart'; -import 'package:PiliPlus/common/widgets/text_field/text_selection.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/controller.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/editable.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/spell_check.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/text_selection.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart' diff --git a/lib/common/widgets/text_field/spell_check.dart b/lib/common/widgets/flutter/text_field/spell_check.dart similarity index 99% rename from lib/common/widgets/text_field/spell_check.dart rename to lib/common/widgets/flutter/text_field/spell_check.dart index bb6e5606a..e067b5526 100644 --- a/lib/common/widgets/text_field/spell_check.dart +++ b/lib/common/widgets/flutter/text_field/spell_check.dart @@ -12,7 +12,7 @@ import 'package:flutter/painting.dart'; import 'package:flutter/services.dart' show SpellCheckResults, SpellCheckService, SuggestionSpan, TextEditingValue; -import 'package:PiliPlus/common/widgets/text_field/editable_text.dart' +import 'package:PiliPlus/common/widgets/flutter/text_field/editable_text.dart' show EditableTextContextMenuBuilder; /// Controls how spell check is performed for text input. diff --git a/lib/common/widgets/text_field/spell_check_suggestions_toolbar.dart b/lib/common/widgets/flutter/text_field/spell_check_suggestions_toolbar.dart similarity index 99% rename from lib/common/widgets/text_field/spell_check_suggestions_toolbar.dart rename to lib/common/widgets/flutter/text_field/spell_check_suggestions_toolbar.dart index 9631bdcb6..0659619bf 100644 --- a/lib/common/widgets/text_field/spell_check_suggestions_toolbar.dart +++ b/lib/common/widgets/flutter/text_field/spell_check_suggestions_toolbar.dart @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'package:PiliPlus/common/widgets/text_field/editable_text.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/editable_text.dart'; import 'package:flutter/cupertino.dart' hide EditableText, EditableTextState; import 'package:flutter/material.dart' hide EditableText, EditableTextState; import 'package:flutter/scheduler.dart'; diff --git a/lib/common/widgets/text_field/system_context_menu.dart b/lib/common/widgets/flutter/text_field/system_context_menu.dart similarity index 99% rename from lib/common/widgets/text_field/system_context_menu.dart rename to lib/common/widgets/flutter/text_field/system_context_menu.dart index 827a8bc70..479603ecf 100644 --- a/lib/common/widgets/text_field/system_context_menu.dart +++ b/lib/common/widgets/flutter/text_field/system_context_menu.dart @@ -5,7 +5,7 @@ /// @docImport 'package:flutter/material.dart'; library; -import 'package:PiliPlus/common/widgets/text_field/editable_text.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/editable_text.dart'; import 'package:flutter/material.dart' hide EditableText, EditableTextState; import 'package:flutter/services.dart'; diff --git a/lib/common/widgets/text_field/text_field.dart b/lib/common/widgets/flutter/text_field/text_field.dart similarity index 98% rename from lib/common/widgets/text_field/text_field.dart rename to lib/common/widgets/flutter/text_field/text_field.dart index d34ff3f8e..86e8cfe80 100644 --- a/lib/common/widgets/text_field/text_field.dart +++ b/lib/common/widgets/flutter/text_field/text_field.dart @@ -13,15 +13,15 @@ library; import 'dart:ui' as ui show BoxHeightStyle, BoxWidthStyle; -import 'package:PiliPlus/common/widgets/text_field/adaptive_text_selection_toolbar.dart'; -import 'package:PiliPlus/common/widgets/text_field/controller.dart'; -import 'package:PiliPlus/common/widgets/text_field/cupertino/cupertino_spell_check_suggestions_toolbar.dart'; -import 'package:PiliPlus/common/widgets/text_field/cupertino/cupertino_text_field.dart'; -import 'package:PiliPlus/common/widgets/text_field/editable_text.dart'; -import 'package:PiliPlus/common/widgets/text_field/spell_check.dart'; -import 'package:PiliPlus/common/widgets/text_field/spell_check_suggestions_toolbar.dart'; -import 'package:PiliPlus/common/widgets/text_field/system_context_menu.dart'; -import 'package:PiliPlus/common/widgets/text_field/text_selection.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/adaptive_text_selection_toolbar.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/controller.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/cupertino/cupertino_spell_check_suggestions_toolbar.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/cupertino/cupertino_text_field.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/editable_text.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/spell_check.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/spell_check_suggestions_toolbar.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/system_context_menu.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/text_selection.dart'; import 'package:flutter/cupertino.dart' hide EditableText, diff --git a/lib/common/widgets/text_field/text_selection.dart b/lib/common/widgets/flutter/text_field/text_selection.dart similarity index 99% rename from lib/common/widgets/text_field/text_selection.dart rename to lib/common/widgets/flutter/text_field/text_selection.dart index 0213bc32e..84850eecd 100644 --- a/lib/common/widgets/text_field/text_selection.dart +++ b/lib/common/widgets/flutter/text_field/text_selection.dart @@ -1,9 +1,9 @@ import 'dart:math' as math; import 'dart:ui'; -import 'package:PiliPlus/common/widgets/text_field/controller.dart'; -import 'package:PiliPlus/common/widgets/text_field/editable.dart'; -import 'package:PiliPlus/common/widgets/text_field/editable_text.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/controller.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/editable.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/editable_text.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart' show kMinInteractiveDimension; diff --git a/lib/common/widgets/image/custom_grid_view.dart b/lib/common/widgets/image/custom_grid_view.dart index e6c65c6b1..0f7fe8728 100644 --- a/lib/common/widgets/image/custom_grid_view.dart +++ b/lib/common/widgets/image/custom_grid_view.dart @@ -19,7 +19,7 @@ import 'dart:math' show min; import 'package:PiliPlus/common/constants.dart'; import 'package:PiliPlus/common/widgets/badge.dart'; -import 'package:PiliPlus/common/widgets/custom_layout.dart'; +import 'package:PiliPlus/common/widgets/flutter/custom_layout.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; import 'package:PiliPlus/models/common/badge_type.dart'; import 'package:PiliPlus/models/common/image_preview_type.dart'; diff --git a/lib/common/widgets/refresh_indicator.dart b/lib/common/widgets/refresh_indicator.dart index d72efcc40..d1773bd41 100644 --- a/lib/common/widgets/refresh_indicator.dart +++ b/lib/common/widgets/refresh_indicator.dart @@ -403,15 +403,15 @@ class RefreshIndicatorState extends State _effectiveValueColor = widget.color ?? Theme.of(context).colorScheme.primary; final Color color = _effectiveValueColor; - if (color.alpha == 0x00) { + if (color.a == 0) { // Set an always stopped animation instead of a driven tween. _valueColor = AlwaysStoppedAnimation(color); } else { // Respect the alpha of the given color. _valueColor = _positionController.drive( ColorTween( - begin: color.withAlpha(0), - end: color.withAlpha(color.alpha), + begin: color.withValues(alpha: 0), + end: color, ).chain( CurveTween(curve: const Interval(0.0, 1.0 / _kDragSizeFactorLimit)), ), @@ -555,7 +555,7 @@ class RefreshIndicatorState extends State 1.0, ); // This triggers various rebuilds. if (_status == RefreshIndicatorStatus.drag && - _valueColor.value!.alpha == _effectiveValueColor.alpha) { + _valueColor.value!.a == _effectiveValueColor.a) { _status = RefreshIndicatorStatus.armed; widget.onStatusChange?.call(_status); } diff --git a/lib/pages/about/view.dart b/lib/pages/about/view.dart index c819b61d9..1ddce877a 100644 --- a/lib/pages/about/view.dart +++ b/lib/pages/about/view.dart @@ -5,7 +5,7 @@ import 'dart:io'; import 'package:PiliPlus/build_config.dart'; import 'package:PiliPlus/common/constants.dart'; import 'package:PiliPlus/common/widgets/dialog/dialog.dart'; -import 'package:PiliPlus/common/widgets/list_tile.dart'; +import 'package:PiliPlus/common/widgets/flutter/list_tile.dart'; import 'package:PiliPlus/pages/mine/controller.dart'; import 'package:PiliPlus/services/logger.dart'; import 'package:PiliPlus/utils/accounts.dart'; diff --git a/lib/pages/common/publish/common_rich_text_pub_page.dart b/lib/pages/common/publish/common_rich_text_pub_page.dart index 6d0706ab0..2ab6638fc 100644 --- a/lib/pages/common/publish/common_rich_text_pub_page.dart +++ b/lib/pages/common/publish/common_rich_text_pub_page.dart @@ -2,8 +2,8 @@ import 'dart:io'; import 'package:PiliPlus/common/widgets/button/icon_button.dart'; import 'package:PiliPlus/common/widgets/button/toolbar_icon_button.dart'; -import 'package:PiliPlus/common/widgets/text_field/controller.dart'; -import 'package:PiliPlus/common/widgets/text_field/text_field.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/controller.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/text_field.dart'; import 'package:PiliPlus/http/msg.dart'; import 'package:PiliPlus/models/common/image_preview_type.dart'; import 'package:PiliPlus/models/common/publish_panel_type.dart'; diff --git a/lib/pages/common/reply_controller.dart b/lib/pages/common/reply_controller.dart index 8c9bd69ea..1af6bd1e6 100644 --- a/lib/pages/common/reply_controller.dart +++ b/lib/pages/common/reply_controller.dart @@ -1,4 +1,4 @@ -import 'package:PiliPlus/common/widgets/text_field/controller.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/controller.dart'; import 'package:PiliPlus/grpc/bilibili/main/community/reply/v1.pb.dart' show MainListReply, ReplyInfo, SubjectControl, Mode, EditorIconState; import 'package:PiliPlus/grpc/bilibili/pagination.pb.dart'; diff --git a/lib/pages/dynamics/widgets/action_panel.dart b/lib/pages/dynamics/widgets/action_panel.dart index ae73f4c61..40daf36a1 100644 --- a/lib/pages/dynamics/widgets/action_panel.dart +++ b/lib/pages/dynamics/widgets/action_panel.dart @@ -1,4 +1,4 @@ -import 'package:PiliPlus/common/widgets/dyn/text_button.dart'; +import 'package:PiliPlus/common/widgets/flutter/dyn/text_button.dart'; import 'package:PiliPlus/models/dynamics/result.dart'; import 'package:PiliPlus/pages/dynamics_repost/view.dart'; import 'package:PiliPlus/utils/num_utils.dart'; diff --git a/lib/pages/dynamics/widgets/additional_panel.dart b/lib/pages/dynamics/widgets/additional_panel.dart index 977985277..e4a5eeaf0 100644 --- a/lib/pages/dynamics/widgets/additional_panel.dart +++ b/lib/pages/dynamics/widgets/additional_panel.dart @@ -1,5 +1,5 @@ import 'package:PiliPlus/common/constants.dart'; -import 'package:PiliPlus/common/widgets/dyn/ink_well.dart'; +import 'package:PiliPlus/common/widgets/flutter/dyn/ink_well.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; import 'package:PiliPlus/http/dynamics.dart'; import 'package:PiliPlus/models/dynamics/result.dart'; diff --git a/lib/pages/dynamics/widgets/author_panel.dart b/lib/pages/dynamics/widgets/author_panel.dart index 281bca41d..028a3c756 100644 --- a/lib/pages/dynamics/widgets/author_panel.dart +++ b/lib/pages/dynamics/widgets/author_panel.dart @@ -2,7 +2,7 @@ import 'dart:math'; import 'package:PiliPlus/common/constants.dart'; import 'package:PiliPlus/common/widgets/dialog/report.dart'; -import 'package:PiliPlus/common/widgets/dyn/ink_well.dart'; +import 'package:PiliPlus/common/widgets/flutter/dyn/ink_well.dart'; import 'package:PiliPlus/common/widgets/pendant_avatar.dart'; import 'package:PiliPlus/http/constants.dart'; import 'package:PiliPlus/http/user.dart'; diff --git a/lib/pages/dynamics/widgets/content_panel.dart b/lib/pages/dynamics/widgets/content_panel.dart index 90a77c1f4..00e7ab09b 100644 --- a/lib/pages/dynamics/widgets/content_panel.dart +++ b/lib/pages/dynamics/widgets/content_panel.dart @@ -1,7 +1,7 @@ // 内容 import 'package:PiliPlus/common/widgets/custom_icon.dart'; +import 'package:PiliPlus/common/widgets/flutter/text/text.dart' as custom_text; import 'package:PiliPlus/common/widgets/image/custom_grid_view.dart'; -import 'package:PiliPlus/common/widgets/text/text.dart' as custom_text; import 'package:PiliPlus/models/dynamics/result.dart'; import 'package:PiliPlus/pages/dynamics/widgets/rich_node_panel.dart'; import 'package:PiliPlus/utils/page_utils.dart'; diff --git a/lib/pages/dynamics/widgets/dynamic_panel.dart b/lib/pages/dynamics/widgets/dynamic_panel.dart index 2467e3e4b..7f4b600dc 100644 --- a/lib/pages/dynamics/widgets/dynamic_panel.dart +++ b/lib/pages/dynamics/widgets/dynamic_panel.dart @@ -1,4 +1,4 @@ -import 'package:PiliPlus/common/widgets/dyn/ink_well.dart'; +import 'package:PiliPlus/common/widgets/flutter/dyn/ink_well.dart'; import 'package:PiliPlus/common/widgets/image/image_save.dart'; import 'package:PiliPlus/models/dynamics/result.dart'; import 'package:PiliPlus/pages/dynamics/widgets/action_panel.dart'; diff --git a/lib/pages/dynamics/widgets/forward_panel.dart b/lib/pages/dynamics/widgets/forward_panel.dart index 0ccca63a9..303e88ab9 100644 --- a/lib/pages/dynamics/widgets/forward_panel.dart +++ b/lib/pages/dynamics/widgets/forward_panel.dart @@ -1,4 +1,4 @@ -import 'package:PiliPlus/common/widgets/dyn/ink_well.dart'; +import 'package:PiliPlus/common/widgets/flutter/dyn/ink_well.dart'; import 'package:PiliPlus/common/widgets/image/image_save.dart'; import 'package:PiliPlus/models/dynamics/result.dart'; import 'package:PiliPlus/pages/dynamics/widgets/dyn_content.dart'; diff --git a/lib/pages/dynamics/widgets/module_panel.dart b/lib/pages/dynamics/widgets/module_panel.dart index e9e4eb977..383a2e494 100644 --- a/lib/pages/dynamics/widgets/module_panel.dart +++ b/lib/pages/dynamics/widgets/module_panel.dart @@ -1,6 +1,6 @@ import 'package:PiliPlus/common/constants.dart'; import 'package:PiliPlus/common/widgets/badge.dart'; -import 'package:PiliPlus/common/widgets/dyn/ink_well.dart'; +import 'package:PiliPlus/common/widgets/flutter/dyn/ink_well.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; import 'package:PiliPlus/grpc/bilibili/app/listener/v1.pbenum.dart' show PlaylistSource; diff --git a/lib/pages/dynamics/widgets/up_panel.dart b/lib/pages/dynamics/widgets/up_panel.dart index d8a07b398..fcc5fdb07 100644 --- a/lib/pages/dynamics/widgets/up_panel.dart +++ b/lib/pages/dynamics/widgets/up_panel.dart @@ -1,4 +1,4 @@ -import 'package:PiliPlus/common/widgets/dyn/ink_well.dart'; +import 'package:PiliPlus/common/widgets/flutter/dyn/ink_well.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; import 'package:PiliPlus/models/common/dynamic/up_panel_position.dart'; import 'package:PiliPlus/models/common/image_type.dart'; diff --git a/lib/pages/dynamics_create/view.dart b/lib/pages/dynamics_create/view.dart index cc86f4d34..8af3c0694 100644 --- a/lib/pages/dynamics_create/view.dart +++ b/lib/pages/dynamics_create/view.dart @@ -4,11 +4,11 @@ import 'package:PiliPlus/common/constants.dart'; import 'package:PiliPlus/common/widgets/button/icon_button.dart'; import 'package:PiliPlus/common/widgets/button/toolbar_icon_button.dart'; import 'package:PiliPlus/common/widgets/custom_icon.dart'; -import 'package:PiliPlus/common/widgets/draggable_sheet/draggable_scrollable_sheet_dyn.dart' +import 'package:PiliPlus/common/widgets/flutter/draggable_sheet/draggable_scrollable_sheet_dyn.dart' as dyn_sheet; +import 'package:PiliPlus/common/widgets/flutter/text_field/controller.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/text_field.dart'; import 'package:PiliPlus/common/widgets/pair.dart'; -import 'package:PiliPlus/common/widgets/text_field/controller.dart'; -import 'package:PiliPlus/common/widgets/text_field/text_field.dart'; import 'package:PiliPlus/http/dynamics.dart'; import 'package:PiliPlus/models/common/publish_panel_type.dart'; import 'package:PiliPlus/models/common/reply/reply_option_type.dart'; diff --git a/lib/pages/dynamics_mention/view.dart b/lib/pages/dynamics_mention/view.dart index 064f6df23..8769bf7e9 100644 --- a/lib/pages/dynamics_mention/view.dart +++ b/lib/pages/dynamics_mention/view.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'dart:math'; import 'package:PiliPlus/common/widgets/custom_sliver_persistent_header_delegate.dart'; -import 'package:PiliPlus/common/widgets/draggable_sheet/draggable_scrollable_sheet_topic.dart' +import 'package:PiliPlus/common/widgets/flutter/draggable_sheet/draggable_scrollable_sheet_topic.dart' as topic_sheet; import 'package:PiliPlus/common/widgets/loading_widget/http_error.dart'; import 'package:PiliPlus/common/widgets/loading_widget/loading_widget.dart'; diff --git a/lib/pages/dynamics_repost/view.dart b/lib/pages/dynamics_repost/view.dart index e80eb67d5..347531baf 100644 --- a/lib/pages/dynamics_repost/view.dart +++ b/lib/pages/dynamics_repost/view.dart @@ -1,7 +1,7 @@ -import 'package:PiliPlus/common/widgets/draggable_sheet/draggable_scrollable_sheet_dyn.dart' +import 'package:PiliPlus/common/widgets/flutter/draggable_sheet/draggable_scrollable_sheet_dyn.dart' show DraggableScrollableSheet; +import 'package:PiliPlus/common/widgets/flutter/text_field/text_field.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; -import 'package:PiliPlus/common/widgets/text_field/text_field.dart'; import 'package:PiliPlus/http/dynamics.dart'; import 'package:PiliPlus/models/common/publish_panel_type.dart'; import 'package:PiliPlus/models/dynamics/result.dart'; diff --git a/lib/pages/dynamics_select_topic/view.dart b/lib/pages/dynamics_select_topic/view.dart index 435e32209..30e4226ef 100644 --- a/lib/pages/dynamics_select_topic/view.dart +++ b/lib/pages/dynamics_select_topic/view.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'dart:math'; -import 'package:PiliPlus/common/widgets/draggable_sheet/draggable_scrollable_sheet_topic.dart' +import 'package:PiliPlus/common/widgets/flutter/draggable_sheet/draggable_scrollable_sheet_topic.dart' as topic_sheet; import 'package:PiliPlus/common/widgets/loading_widget/loading_widget.dart'; import 'package:PiliPlus/http/loading_state.dart'; diff --git a/lib/pages/episode_panel/view.dart b/lib/pages/episode_panel/view.dart index 8380bfe7e..fb33e6c31 100644 --- a/lib/pages/episode_panel/view.dart +++ b/lib/pages/episode_panel/view.dart @@ -3,10 +3,10 @@ import 'dart:math'; import 'package:PiliPlus/common/constants.dart'; import 'package:PiliPlus/common/widgets/badge.dart'; import 'package:PiliPlus/common/widgets/button/icon_button.dart'; +import 'package:PiliPlus/common/widgets/flutter/page/tabs.dart'; import 'package:PiliPlus/common/widgets/image/image_save.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; import 'package:PiliPlus/common/widgets/keep_alive_wrapper.dart'; -import 'package:PiliPlus/common/widgets/page/tabs.dart'; import 'package:PiliPlus/common/widgets/scroll_physics.dart'; import 'package:PiliPlus/common/widgets/stat/stat.dart'; import 'package:PiliPlus/http/fav.dart'; diff --git a/lib/pages/live_room/controller.dart b/lib/pages/live_room/controller.dart index 6ead9a86b..82948d39a 100644 --- a/lib/pages/live_room/controller.dart +++ b/lib/pages/live_room/controller.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'dart:convert'; -import 'package:PiliPlus/common/widgets/text_field/controller.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/controller.dart'; import 'package:PiliPlus/http/constants.dart'; import 'package:PiliPlus/http/live.dart'; import 'package:PiliPlus/http/video.dart'; diff --git a/lib/pages/live_room/send_danmaku/view.dart b/lib/pages/live_room/send_danmaku/view.dart index 24fafdd57..3904bb7b3 100644 --- a/lib/pages/live_room/send_danmaku/view.dart +++ b/lib/pages/live_room/send_danmaku/view.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:PiliPlus/common/widgets/text_field/text_field.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/text_field.dart'; import 'package:PiliPlus/common/widgets/view_safe_area.dart'; import 'package:PiliPlus/http/live.dart'; import 'package:PiliPlus/models/common/publish_panel_type.dart'; diff --git a/lib/pages/login_devices/view.dart b/lib/pages/login_devices/view.dart index addf99b1d..4b7c4e489 100644 --- a/lib/pages/login_devices/view.dart +++ b/lib/pages/login_devices/view.dart @@ -1,4 +1,4 @@ -import 'package:PiliPlus/common/widgets/list_tile.dart'; +import 'package:PiliPlus/common/widgets/flutter/list_tile.dart'; import 'package:PiliPlus/common/widgets/loading_widget/http_error.dart'; import 'package:PiliPlus/common/widgets/refresh_indicator.dart'; import 'package:PiliPlus/common/widgets/view_sliver_safe_area.dart'; diff --git a/lib/pages/member_opus/widgets/space_opus_item.dart b/lib/pages/member_opus/widgets/space_opus_item.dart index 4120e0cc3..7d375de3a 100644 --- a/lib/pages/member_opus/widgets/space_opus_item.dart +++ b/lib/pages/member_opus/widgets/space_opus_item.dart @@ -1,4 +1,4 @@ -import 'package:PiliPlus/common/widgets/dyn/ink_well.dart'; +import 'package:PiliPlus/common/widgets/flutter/dyn/ink_well.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; import 'package:PiliPlus/common/widgets/stat/stat.dart'; import 'package:PiliPlus/models/common/image_type.dart'; diff --git a/lib/pages/member_upower_rank/view.dart b/lib/pages/member_upower_rank/view.dart index 3194c9f0e..b25b568b5 100644 --- a/lib/pages/member_upower_rank/view.dart +++ b/lib/pages/member_upower_rank/view.dart @@ -1,6 +1,6 @@ +import 'package:PiliPlus/common/widgets/flutter/list_tile.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; import 'package:PiliPlus/common/widgets/keep_alive_wrapper.dart'; -import 'package:PiliPlus/common/widgets/list_tile.dart'; import 'package:PiliPlus/common/widgets/loading_widget/http_error.dart'; import 'package:PiliPlus/common/widgets/refresh_indicator.dart'; import 'package:PiliPlus/common/widgets/scroll_physics.dart'; diff --git a/lib/pages/mine/view.dart b/lib/pages/mine/view.dart index 9745dba4b..01cea562c 100644 --- a/lib/pages/mine/view.dart +++ b/lib/pages/mine/view.dart @@ -1,8 +1,8 @@ import 'dart:async'; import 'package:PiliPlus/common/constants.dart'; +import 'package:PiliPlus/common/widgets/flutter/list_tile.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; -import 'package:PiliPlus/common/widgets/list_tile.dart'; import 'package:PiliPlus/common/widgets/refresh_indicator.dart'; import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/models/common/image_type.dart'; diff --git a/lib/pages/msg_feed_top/at_me/view.dart b/lib/pages/msg_feed_top/at_me/view.dart index abc6bf931..5c8d8f607 100644 --- a/lib/pages/msg_feed_top/at_me/view.dart +++ b/lib/pages/msg_feed_top/at_me/view.dart @@ -1,7 +1,7 @@ import 'package:PiliPlus/common/skeleton/msg_feed_top.dart'; import 'package:PiliPlus/common/widgets/dialog/dialog.dart'; +import 'package:PiliPlus/common/widgets/flutter/list_tile.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; -import 'package:PiliPlus/common/widgets/list_tile.dart'; import 'package:PiliPlus/common/widgets/loading_widget/http_error.dart'; import 'package:PiliPlus/common/widgets/refresh_indicator.dart'; import 'package:PiliPlus/grpc/bilibili/app/im/v1.pbenum.dart' diff --git a/lib/pages/msg_feed_top/like_me/view.dart b/lib/pages/msg_feed_top/like_me/view.dart index 382e78617..04687b826 100644 --- a/lib/pages/msg_feed_top/like_me/view.dart +++ b/lib/pages/msg_feed_top/like_me/view.dart @@ -1,7 +1,7 @@ import 'package:PiliPlus/common/skeleton/msg_feed_top.dart'; import 'package:PiliPlus/common/widgets/dialog/dialog.dart'; +import 'package:PiliPlus/common/widgets/flutter/list_tile.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; -import 'package:PiliPlus/common/widgets/list_tile.dart'; import 'package:PiliPlus/common/widgets/loading_widget/http_error.dart'; import 'package:PiliPlus/common/widgets/pair.dart'; import 'package:PiliPlus/common/widgets/refresh_indicator.dart'; diff --git a/lib/pages/msg_feed_top/reply_me/view.dart b/lib/pages/msg_feed_top/reply_me/view.dart index 9f6fe6a02..14404253c 100644 --- a/lib/pages/msg_feed_top/reply_me/view.dart +++ b/lib/pages/msg_feed_top/reply_me/view.dart @@ -1,7 +1,7 @@ import 'package:PiliPlus/common/skeleton/msg_feed_top.dart'; import 'package:PiliPlus/common/widgets/dialog/dialog.dart'; +import 'package:PiliPlus/common/widgets/flutter/list_tile.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; -import 'package:PiliPlus/common/widgets/list_tile.dart'; import 'package:PiliPlus/common/widgets/loading_widget/http_error.dart'; import 'package:PiliPlus/common/widgets/refresh_indicator.dart'; import 'package:PiliPlus/grpc/bilibili/app/im/v1.pbenum.dart' diff --git a/lib/pages/msg_feed_top/sys_msg/view.dart b/lib/pages/msg_feed_top/sys_msg/view.dart index c6c41f255..54362aa6a 100644 --- a/lib/pages/msg_feed_top/sys_msg/view.dart +++ b/lib/pages/msg_feed_top/sys_msg/view.dart @@ -1,6 +1,6 @@ import 'package:PiliPlus/common/skeleton/msg_feed_sys_msg_.dart'; import 'package:PiliPlus/common/widgets/dialog/dialog.dart'; -import 'package:PiliPlus/common/widgets/list_tile.dart'; +import 'package:PiliPlus/common/widgets/flutter/list_tile.dart'; import 'package:PiliPlus/common/widgets/loading_widget/http_error.dart'; import 'package:PiliPlus/common/widgets/refresh_indicator.dart'; import 'package:PiliPlus/http/loading_state.dart'; diff --git a/lib/pages/search_trending/view.dart b/lib/pages/search_trending/view.dart index 447ff4b05..9c5516bdb 100644 --- a/lib/pages/search_trending/view.dart +++ b/lib/pages/search_trending/view.dart @@ -1,6 +1,6 @@ import 'dart:math'; -import 'package:PiliPlus/common/widgets/list_tile.dart'; +import 'package:PiliPlus/common/widgets/flutter/list_tile.dart'; import 'package:PiliPlus/common/widgets/loading_widget/http_error.dart'; import 'package:PiliPlus/common/widgets/loading_widget/loading_widget.dart'; import 'package:PiliPlus/common/widgets/refresh_indicator.dart'; diff --git a/lib/pages/setting/models/video_settings.dart b/lib/pages/setting/models/video_settings.dart index 0bc4864ae..28a60a5cd 100644 --- a/lib/pages/setting/models/video_settings.dart +++ b/lib/pages/setting/models/video_settings.dart @@ -110,7 +110,7 @@ List get videoSettings => [ await GStorage.setting.delete(SettingBoxKey.liveCdnUrl); } else { if (!result.startsWith('http')) { - result = 'https://${result}'; + result = 'https://$result'; } await GStorage.setting.put(SettingBoxKey.liveCdnUrl, result); } diff --git a/lib/pages/setting/pages/play_speed_set.dart b/lib/pages/setting/pages/play_speed_set.dart index 46cbf9f9b..81402f890 100644 --- a/lib/pages/setting/pages/play_speed_set.dart +++ b/lib/pages/setting/pages/play_speed_set.dart @@ -1,6 +1,6 @@ import 'dart:math'; -import 'package:PiliPlus/common/widgets/list_tile.dart'; +import 'package:PiliPlus/common/widgets/flutter/list_tile.dart'; import 'package:PiliPlus/common/widgets/view_safe_area.dart'; import 'package:PiliPlus/pages/setting/widgets/switch_item.dart'; import 'package:PiliPlus/utils/context_ext.dart'; diff --git a/lib/pages/setting/recommend_setting.dart b/lib/pages/setting/recommend_setting.dart index 07fc36a99..534bf54b2 100644 --- a/lib/pages/setting/recommend_setting.dart +++ b/lib/pages/setting/recommend_setting.dart @@ -1,4 +1,4 @@ -import 'package:PiliPlus/common/widgets/list_tile.dart'; +import 'package:PiliPlus/common/widgets/flutter/list_tile.dart'; import 'package:PiliPlus/pages/setting/models/model.dart'; import 'package:PiliPlus/pages/setting/models/recommend_settings.dart'; import 'package:flutter/material.dart' hide ListTile; diff --git a/lib/pages/setting/slide_color_picker.dart b/lib/pages/setting/slide_color_picker.dart index 6cf1e6b3a..de03717ad 100644 --- a/lib/pages/setting/slide_color_picker.dart +++ b/lib/pages/setting/slide_color_picker.dart @@ -1,3 +1,4 @@ +import 'package:PiliPlus/utils/danmaku_utils.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart' show LengthLimitingTextInputFormatter, FilteringTextInputFormatter; @@ -20,17 +21,13 @@ class SlideColorPicker extends StatefulWidget { } class _SlideColorPickerState extends State { - late int _r; - late int _g; - late int _b; + late int _rgb; late final TextEditingController _textController; @override void initState() { super.initState(); - _r = widget.color.red; - _g = widget.color.green; - _b = widget.color.blue; + _rgb = widget.color.toARGB32() & 0xFFFFFF; _textController = TextEditingController(text: _convert); } @@ -40,12 +37,7 @@ class _SlideColorPickerState extends State { super.dispose(); } - String get _convert => Color.fromRGBO( - _r, - _g, - _b, - 1, - ).toARGB32().toRadixString(16).substring(2).toUpperCase(); + String get _convert => _rgb.toRadixString(16).toUpperCase().padLeft(6, '0'); Widget _slider({ required String title, @@ -96,7 +88,7 @@ class _SlideColorPickerState extends State { children: [ Container( height: 100, - color: Color.fromARGB(255, _r, _g, _b), + color: DmUtils.decimalToColor(_rgb), ), const SizedBox(height: 10), IntrinsicWidth( @@ -114,13 +106,8 @@ class _SlideColorPickerState extends State { onChanged: (value) { _textController.text = value.toUpperCase(); if (value.length == 6) { - Color color = Color( - int.tryParse('FF$value', radix: 16) ?? 0xFF000000, - ); setState(() { - _r = color.red; - _g = color.green; - _b = color.blue; + _rgb = int.tryParse(value, radix: 16) ?? 0; }); } }, @@ -128,30 +115,30 @@ class _SlideColorPickerState extends State { ), _slider( title: 'R', - value: _r, + value: _rgb >> 16, onChanged: (value) { setState(() { - _r = value.round(); + _rgb = _rgb.setByte(value.round(), 16); _textController.text = _convert; }); }, ), _slider( title: 'G', - value: _g, + value: (_rgb >> 8) & 0xFF, onChanged: (value) { setState(() { - _g = value.round(); + _rgb = _rgb.setByte(value.round(), 8); _textController.text = _convert; }); }, ), _slider( title: 'B', - value: _b, + value: _rgb & 0xFF, onChanged: (value) { setState(() { - _b = value.round(); + _rgb = _rgb.setByte(value.round(), 0); _textController.text = _convert; }); }, @@ -181,7 +168,7 @@ class _SlideColorPickerState extends State { TextButton( onPressed: () { Get.back(); - widget.callback(Color.fromARGB(255, _r, _g, _b)); + widget.callback(DmUtils.decimalToColor(_rgb)); }, child: const Text('确定'), ), @@ -193,3 +180,9 @@ class _SlideColorPickerState extends State { ); } } + +extension on int { + @pragma("vm:prefer-inline") + int setByte(int value, int shift) => + (this & ~(0xFF << shift)) | (value << shift); +} diff --git a/lib/pages/setting/view.dart b/lib/pages/setting/view.dart index bb0017825..e9fec4ec2 100644 --- a/lib/pages/setting/view.dart +++ b/lib/pages/setting/view.dart @@ -1,4 +1,4 @@ -import 'package:PiliPlus/common/widgets/list_tile.dart'; +import 'package:PiliPlus/common/widgets/flutter/list_tile.dart'; import 'package:PiliPlus/common/widgets/view_safe_area.dart'; import 'package:PiliPlus/http/login.dart'; import 'package:PiliPlus/models/common/setting_type.dart'; diff --git a/lib/pages/setting/widgets/checkbox_num_list_tile.dart b/lib/pages/setting/widgets/checkbox_num_list_tile.dart index 1bf5113aa..68d76f166 100644 --- a/lib/pages/setting/widgets/checkbox_num_list_tile.dart +++ b/lib/pages/setting/widgets/checkbox_num_list_tile.dart @@ -158,7 +158,6 @@ class OrderedCheckboxListTile extends StatelessWidget { /// Whether to add button:true to the semantics if onTap is provided. /// This is a temporary flag to help changing the behavior of ListTile onTap semantics. /// - // TODO(hangyujin): Remove this flag after fixing related g3 tests and flipping // the default value to true. final bool internalAddSemanticForOnTap; diff --git a/lib/pages/setting/widgets/normal_item.dart b/lib/pages/setting/widgets/normal_item.dart index 4ed528fb4..9c7355ee8 100644 --- a/lib/pages/setting/widgets/normal_item.dart +++ b/lib/pages/setting/widgets/normal_item.dart @@ -1,4 +1,4 @@ -import 'package:PiliPlus/common/widgets/list_tile.dart'; +import 'package:PiliPlus/common/widgets/flutter/list_tile.dart'; import 'package:flutter/material.dart' hide ListTile; typedef StringGetter = String Function(); diff --git a/lib/pages/setting/widgets/switch_item.dart b/lib/pages/setting/widgets/switch_item.dart index 8040d98d9..8402c2431 100644 --- a/lib/pages/setting/widgets/switch_item.dart +++ b/lib/pages/setting/widgets/switch_item.dart @@ -1,4 +1,4 @@ -import 'package:PiliPlus/common/widgets/list_tile.dart'; +import 'package:PiliPlus/common/widgets/flutter/list_tile.dart'; import 'package:PiliPlus/utils/storage.dart'; import 'package:PiliPlus/utils/storage_key.dart'; import 'package:PiliPlus/utils/storage_pref.dart'; diff --git a/lib/pages/video/introduction/pgc/widgets/intro_detail.dart b/lib/pages/video/introduction/pgc/widgets/intro_detail.dart index 76a2146df..cee99ed1e 100644 --- a/lib/pages/video/introduction/pgc/widgets/intro_detail.dart +++ b/lib/pages/video/introduction/pgc/widgets/intro_detail.dart @@ -1,5 +1,5 @@ +import 'package:PiliPlus/common/widgets/flutter/page/tabs.dart'; import 'package:PiliPlus/common/widgets/keep_alive_wrapper.dart'; -import 'package:PiliPlus/common/widgets/page/tabs.dart'; import 'package:PiliPlus/common/widgets/scroll_physics.dart'; import 'package:PiliPlus/common/widgets/stat/stat.dart'; import 'package:PiliPlus/models/common/stat_type.dart'; diff --git a/lib/pages/video/reply/widgets/reply_item_grpc.dart b/lib/pages/video/reply/widgets/reply_item_grpc.dart index ec60d8c71..ecce19894 100644 --- a/lib/pages/video/reply/widgets/reply_item_grpc.dart +++ b/lib/pages/video/reply/widgets/reply_item_grpc.dart @@ -3,10 +3,10 @@ import 'dart:math'; import 'package:PiliPlus/common/constants.dart'; import 'package:PiliPlus/common/widgets/badge.dart'; import 'package:PiliPlus/common/widgets/dialog/report.dart'; +import 'package:PiliPlus/common/widgets/flutter/text/text.dart' as custom_text; import 'package:PiliPlus/common/widgets/image/custom_grid_view.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; import 'package:PiliPlus/common/widgets/pendant_avatar.dart'; -import 'package:PiliPlus/common/widgets/text/text.dart' as custom_text; import 'package:PiliPlus/grpc/bilibili/main/community/reply/v1.pb.dart' show ReplyInfo, ReplyControl, Content, Url; import 'package:PiliPlus/http/init.dart'; diff --git a/lib/pages/video/reply_new/view.dart b/lib/pages/video/reply_new/view.dart index 74ba941de..c4674401d 100644 --- a/lib/pages/video/reply_new/view.dart +++ b/lib/pages/video/reply_new/view.dart @@ -3,9 +3,9 @@ import 'dart:io'; import 'dart:math' show max; import 'package:PiliPlus/common/widgets/button/toolbar_icon_button.dart'; -import 'package:PiliPlus/common/widgets/text_field/controller.dart' +import 'package:PiliPlus/common/widgets/flutter/text_field/controller.dart' show RichTextType; -import 'package:PiliPlus/common/widgets/text_field/text_field.dart'; +import 'package:PiliPlus/common/widgets/flutter/text_field/text_field.dart'; import 'package:PiliPlus/common/widgets/view_safe_area.dart'; import 'package:PiliPlus/grpc/bilibili/main/community/reply/v1.pb.dart' show ReplyInfo; diff --git a/lib/pages/whisper/widgets/item.dart b/lib/pages/whisper/widgets/item.dart index ba1dcb2d5..b5c3d7d49 100644 --- a/lib/pages/whisper/widgets/item.dart +++ b/lib/pages/whisper/widgets/item.dart @@ -2,7 +2,7 @@ import 'dart:convert'; import 'package:PiliPlus/common/widgets/badge.dart'; import 'package:PiliPlus/common/widgets/dialog/dialog.dart'; -import 'package:PiliPlus/common/widgets/list_tile.dart'; +import 'package:PiliPlus/common/widgets/flutter/list_tile.dart'; import 'package:PiliPlus/common/widgets/pendant_avatar.dart'; import 'package:PiliPlus/grpc/bilibili/app/im/v1.pb.dart' show Session, SessionId, SessionPageType, SessionType, UnreadStyle; diff --git a/lib/pages/whisper_detail/view.dart b/lib/pages/whisper_detail/view.dart index 46a30f5aa..c7a2faab6 100644 --- a/lib/pages/whisper_detail/view.dart +++ b/lib/pages/whisper_detail/view.dart @@ -1,9 +1,9 @@ import 'dart:async'; import 'dart:io' show File; +import 'package:PiliPlus/common/widgets/flutter/text_field/text_field.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; import 'package:PiliPlus/common/widgets/loading_widget/loading_widget.dart'; -import 'package:PiliPlus/common/widgets/text_field/text_field.dart'; import 'package:PiliPlus/grpc/bilibili/im/type.pb.dart' show Msg; import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/http/msg.dart'; diff --git a/lib/plugin/pl_player/widgets/mpv_convert_webp.dart b/lib/plugin/pl_player/widgets/mpv_convert_webp.dart index c8d07c88b..003751b15 100644 --- a/lib/plugin/pl_player/widgets/mpv_convert_webp.dart +++ b/lib/plugin/pl_player/widgets/mpv_convert_webp.dart @@ -1,3 +1,5 @@ +// ignore_for_file: implementation_imports + import 'dart:async'; import 'dart:ffi'; diff --git a/lib/utils/danmaku_utils.dart b/lib/utils/danmaku_utils.dart index 2d796ff8a..357fe7245 100644 --- a/lib/utils/danmaku_utils.dart +++ b/lib/utils/danmaku_utils.dart @@ -3,7 +3,7 @@ import 'dart:ui' show Color; import 'package:canvas_danmaku/models/danmaku_content_item.dart' show DanmakuItemType; -abstract class DmUtils { +abstract final class DmUtils { static Color decimalToColor(int decimalColor) => Color(decimalColor | 0xFF000000);