|
@@ -96,7 +96,7 @@ class TodayController extends GetMaterialController { |
|
@@ -96,7 +96,7 @@ class TodayController extends GetMaterialController { |
|
96
|
final scrollOffset = 0.0.obs;
|
96
|
final scrollOffset = 0.0.obs;
|
|
97
|
final scrollController = ScrollController();
|
97
|
final scrollController = ScrollController();
|
|
98
|
|
98
|
|
|
99
|
- final isLoadingToday = true.obs;
|
99
|
+ final isLoadingToday = false.obs;
|
|
100
|
final showHealthDataAuthCardStatus = 1.obs;
|
100
|
final showHealthDataAuthCardStatus = 1.obs;
|
|
101
|
final stressSubtitle = ''.obs;
|
101
|
final stressSubtitle = ''.obs;
|
|
102
|
bool _isFirstLoad = true;
|
102
|
bool _isFirstLoad = true;
|
|
@@ -249,8 +249,11 @@ class TodayController extends GetMaterialController { |
|
@@ -249,8 +249,11 @@ class TodayController extends GetMaterialController { |
|
249
|
return normalizedDate;
|
249
|
return normalizedDate;
|
|
250
|
}
|
250
|
}
|
|
251
|
|
251
|
|
|
252
|
- Future<void> loadDataForDate(DateTime date) async {
|
|
|
|
253
|
- isLoadingToday.value = true;
|
252
|
+ Future<void> loadDataForDate(DateTime date,
|
|
|
|
253
|
+ {bool isPullToRefresh = false}) async {
|
|
|
|
254
|
+ if (isPullToRefresh) {
|
|
|
|
255
|
+ isLoadingToday.value = true;
|
|
|
|
256
|
+ }
|
|
254
|
try {
|
257
|
try {
|
|
255
|
await Future.wait([
|
258
|
await Future.wait([
|
|
256
|
_refreshHealthDataForDate(date),
|
259
|
_refreshHealthDataForDate(date),
|
|
@@ -329,7 +332,7 @@ class TodayController extends GetMaterialController { |
|
@@ -329,7 +332,7 @@ class TodayController extends GetMaterialController { |
|
329
|
}
|
332
|
}
|
|
330
|
|
333
|
|
|
331
|
Future<void> checkHealthDataAuthCardVisible(
|
334
|
Future<void> checkHealthDataAuthCardVisible(
|
|
332
|
- [HealthAuthorization? preResult]) async {
|
335
|
+ {bool isPullToRefresh = false}) async {
|
|
333
|
final firstTime = DateUtils.dateOnly(
|
336
|
final firstTime = DateUtils.dateOnly(
|
|
334
|
DateTime(lastSelectableDay.value.year, lastSelectableDay.value.month - 6,
|
337
|
DateTime(lastSelectableDay.value.year, lastSelectableDay.value.month - 6,
|
|
335
|
lastSelectableDay.value.day),
|
338
|
lastSelectableDay.value.day),
|
|
@@ -339,8 +342,7 @@ class TodayController extends GetMaterialController { |
|
@@ -339,8 +342,7 @@ class TodayController extends GetMaterialController { |
|
339
|
firstSelectableDay.value = firstTime;
|
342
|
firstSelectableDay.value = firstTime;
|
|
340
|
} else {
|
343
|
} else {
|
|
341
|
try {
|
344
|
try {
|
|
342
|
- final result =
|
|
|
|
343
|
- preResult ?? await _hostApi.checkHealthAppAuthorization();
|
345
|
+ final result = await _hostApi.checkHealthAppAuthorization();
|
|
344
|
ta.setSuperProperties(
|
346
|
ta.setSuperProperties(
|
|
345
|
{'health_data_permission': result.status.clamp(0, 1)});
|
347
|
{'health_data_permission': result.status.clamp(0, 1)});
|
|
346
|
if (result.status == 1) {
|
348
|
if (result.status == 1) {
|
|
@@ -348,9 +350,11 @@ class TodayController extends GetMaterialController { |
|
@@ -348,9 +350,11 @@ class TodayController extends GetMaterialController { |
|
348
|
uploaded: () async {
|
350
|
uploaded: () async {
|
|
349
|
showHealthDataAuthCardStatus.value = result.status;
|
351
|
showHealthDataAuthCardStatus.value = result.status;
|
|
350
|
},
|
352
|
},
|
|
|
|
353
|
+ isPullToRefresh: isPullToRefresh,
|
|
351
|
);
|
354
|
);
|
|
352
|
} else {
|
355
|
} else {
|
|
353
|
- unawaited(loadDataForDate(selectedDate.value));
|
356
|
+ unawaited(loadDataForDate(selectedDate.value,
|
|
|
|
357
|
+ isPullToRefresh: isPullToRefresh));
|
|
354
|
showHealthDataAuthCardStatus.value = result.status;
|
358
|
showHealthDataAuthCardStatus.value = result.status;
|
|
355
|
}
|
359
|
}
|
|
356
|
} catch (error, stackTrace) {
|
360
|
} catch (error, stackTrace) {
|
|
@@ -382,12 +386,14 @@ class TodayController extends GetMaterialController { |
|
@@ -382,12 +386,14 @@ class TodayController extends GetMaterialController { |
|
382
|
showHealthDataAuthCardStatus.value = !hasUploaded ? -1 : result.status;
|
386
|
showHealthDataAuthCardStatus.value = !hasUploaded ? -1 : result.status;
|
|
383
|
}
|
387
|
}
|
|
384
|
|
388
|
|
|
385
|
- void _calculateHealthDataWithoutLoading({Future<void> Function()? uploaded}) {
|
389
|
+ void _calculateHealthDataWithoutLoading(
|
|
|
|
390
|
+ {Future<void> Function()? uploaded, bool isPullToRefresh = false}) {
|
|
386
|
unawaited(
|
391
|
unawaited(
|
|
387
|
(() async {
|
392
|
(() async {
|
|
388
|
try {
|
393
|
try {
|
|
389
|
await _healthRawDataCoreService.startCoreCaculate();
|
394
|
await _healthRawDataCoreService.startCoreCaculate();
|
|
390
|
- await loadDataForDate(selectedDate.value);
|
395
|
+ await loadDataForDate(selectedDate.value,
|
|
|
|
396
|
+ isPullToRefresh: isPullToRefresh);
|
|
391
|
await uploaded?.call();
|
397
|
await uploaded?.call();
|
|
392
|
} catch (error, stackTrace) {
|
398
|
} catch (error, stackTrace) {
|
|
393
|
AppLogger.e('Apple Health calculate failed', error, stackTrace);
|
399
|
AppLogger.e('Apple Health calculate failed', error, stackTrace);
|
|
@@ -701,7 +707,7 @@ class TodayController extends GetMaterialController { |
|
@@ -701,7 +707,7 @@ class TodayController extends GetMaterialController { |
|
701
|
}
|
707
|
}
|
|
702
|
}
|
708
|
}
|
|
703
|
|
709
|
|
|
704
|
- Future<void> refreshTab() async {
|
710
|
+ Future<void> refreshTab({bool isPullToRefresh = false}) async {
|
|
705
|
if (_isFirstLoad) {
|
711
|
if (_isFirstLoad) {
|
|
706
|
_isFirstLoad = false;
|
712
|
_isFirstLoad = false;
|
|
707
|
return;
|
713
|
return;
|
|
@@ -711,7 +717,7 @@ class TodayController extends GetMaterialController { |
|
@@ -711,7 +717,7 @@ class TodayController extends GetMaterialController { |
|
711
|
// changeDate(today);
|
717
|
// changeDate(today);
|
|
712
|
checkAddFriendVisible();
|
718
|
checkAddFriendVisible();
|
|
713
|
checkHrvAdBannerVisible();
|
719
|
checkHrvAdBannerVisible();
|
|
714
|
- checkHealthDataAuthCardVisible();
|
720
|
+ checkHealthDataAuthCardVisible(isPullToRefresh: isPullToRefresh);
|
|
715
|
// await loadDataForDate(selectedDate.value);
|
721
|
// await loadDataForDate(selectedDate.value);
|
|
716
|
}
|
722
|
}
|
|
717
|
} |
723
|
} |