Commit 72c74ab4849bb6b8c4c11f6518e3f748fef77982

Authored by 常守达
1 parent e2493702

fix(today):chart长按后拖动

@@ -117,24 +117,30 @@ class HomeController extends GetxController { @@ -117,24 +117,30 @@ class HomeController extends GetxController {
117 int index, { 117 int index, {
118 TrendEntrySource trendEntrySource = TrendEntrySource.bottomTab, 118 TrendEntrySource trendEntrySource = TrendEntrySource.bottomTab,
119 }) { 119 }) {
  120 + if (selectedIndex.value == index) return;
120 selectedIndex.value = index; 121 selectedIndex.value = index;
121 - final trendController = Get.find<TrendController>();  
122 - final friendsController = Get.find<FriendsController>();  
123 122
124 - trendController.setPageVisible(  
125 - index == trendTabIndex,  
126 - resetQueryOnShow: trendEntrySource == TrendEntrySource.bottomTab,  
127 - );  
128 - friendsController.setPageVisible(index == friendsTabIndex); 123 + WidgetsBinding.instance.addPostFrameCallback((_) {
  124 + if (selectedIndex.value != index) return;
129 125
130 - switch (index) {  
131 - case 0:  
132 - Get.find<TodayController>().refreshTab();  
133 - break;  
134 - case 3:  
135 - ta.track('enter_doublefeel_my_page');  
136 - break;  
137 - } 126 + final trendController = Get.find<TrendController>();
  127 + final friendsController = Get.find<FriendsController>();
  128 +
  129 + trendController.setPageVisible(
  130 + index == trendTabIndex,
  131 + resetQueryOnShow: trendEntrySource == TrendEntrySource.bottomTab,
  132 + );
  133 + friendsController.setPageVisible(index == friendsTabIndex);
  134 +
  135 + switch (index) {
  136 + case 0:
  137 + Get.find<TodayController>().refreshTab();
  138 + break;
  139 + case 3:
  140 + ta.track('enter_doublefeel_my_page');
  141 + break;
  142 + }
  143 + });
138 } 144 }
139 145
140 void openTrend(TrendType type, 146 void openTrend(TrendType type,
@@ -633,6 +633,8 @@ class _HrvLineChartState extends State<_HrvLineChart> { @@ -633,6 +633,8 @@ class _HrvLineChartState extends State<_HrvLineChart> {
633 if (event is FlPanStartEvent || 633 if (event is FlPanStartEvent ||
634 event is FlPanUpdateEvent || 634 event is FlPanUpdateEvent ||
635 event is FlTapDownEvent || 635 event is FlTapDownEvent ||
  636 + event is FlLongPressStart ||
  637 + event is FlLongPressMoveUpdate ||
636 event is FlPointerHoverEvent || 638 event is FlPointerHoverEvent ||
637 event is FlPointerEnterEvent) { 639 event is FlPointerEnterEvent) {
638 _hrvTooltipTimer?.cancel(); 640 _hrvTooltipTimer?.cancel();
@@ -649,6 +651,7 @@ class _HrvLineChartState extends State<_HrvLineChart> { @@ -649,6 +651,7 @@ class _HrvLineChartState extends State<_HrvLineChart> {
649 } 651 }
650 } else if (event is FlPanEndEvent || 652 } else if (event is FlPanEndEvent ||
651 event is FlTapUpEvent || 653 event is FlTapUpEvent ||
  654 + event is FlLongPressEnd ||
652 event is FlPointerExitEvent || 655 event is FlPointerExitEvent ||
653 event is FlTapCancelEvent || 656 event is FlTapCancelEvent ||
654 event is FlPanCancelEvent) { 657 event is FlPanCancelEvent) {
@@ -1007,6 +1010,8 @@ class _StressBarChartState extends State<_StressBarChart> { @@ -1007,6 +1010,8 @@ class _StressBarChartState extends State<_StressBarChart> {
1007 if (event is FlPanStartEvent || 1010 if (event is FlPanStartEvent ||
1008 event is FlPanUpdateEvent || 1011 event is FlPanUpdateEvent ||
1009 event is FlTapDownEvent || 1012 event is FlTapDownEvent ||
  1013 + event is FlLongPressStart ||
  1014 + event is FlLongPressMoveUpdate ||
1010 event is FlPointerHoverEvent || 1015 event is FlPointerHoverEvent ||
1011 event is FlPointerEnterEvent) { 1016 event is FlPointerEnterEvent) {
1012 _stressTooltipTimer?.cancel(); 1017 _stressTooltipTimer?.cancel();
@@ -1070,6 +1075,7 @@ class _StressBarChartState extends State<_StressBarChart> { @@ -1070,6 +1075,7 @@ class _StressBarChartState extends State<_StressBarChart> {
1070 } 1075 }
1071 } else if (event is FlPanEndEvent || 1076 } else if (event is FlPanEndEvent ||
1072 event is FlTapUpEvent || 1077 event is FlTapUpEvent ||
  1078 + event is FlLongPressEnd ||
1073 event is FlPointerExitEvent || 1079 event is FlPointerExitEvent ||
1074 event is FlTapCancelEvent || 1080 event is FlTapCancelEvent ||
1075 event is FlPanCancelEvent) { 1081 event is FlPanCancelEvent) {