D1APP-81
This commit is contained in:
parent
8384e0b0f3
commit
3b3cdd20d0
|
|
@ -1,3 +1,4 @@
|
|||
import 'dart:async';
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:didvan/models/enums.dart';
|
||||
|
|
@ -11,6 +12,8 @@ class NewsDetailsState extends CoreProvier {
|
|||
final List<NewsDetailsData?> news = [];
|
||||
late final int initialIndex;
|
||||
late final NewsRequestArgs args;
|
||||
late Timer _trackingTimer;
|
||||
int _trackingTimerCounter = 0;
|
||||
|
||||
int _currentIndex = 0;
|
||||
int get currentIndex => _currentIndex;
|
||||
|
|
@ -23,6 +26,7 @@ class NewsDetailsState extends CoreProvier {
|
|||
}
|
||||
final service = RequestService(RequestHelper.newsDetails(id, args));
|
||||
await service.httpGet();
|
||||
_handleTracking(sendRequest: isForward != null);
|
||||
if (service.isSuccess) {
|
||||
final result = service.result;
|
||||
NewsDetailsData? prevNews;
|
||||
|
|
@ -70,4 +74,21 @@ class NewsDetailsState extends CoreProvier {
|
|||
news.firstWhere((item) => item!.id == currentNews.id)!.comments = count;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
Future<void> _handleTracking({bool sendRequest = true}) async {
|
||||
if (!sendRequest) {
|
||||
_trackingTimer = Timer.periodic(const Duration(seconds: 1), (timer) {
|
||||
_trackingTimerCounter++;
|
||||
});
|
||||
return;
|
||||
}
|
||||
//send request
|
||||
_trackingTimerCounter = 0;
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_trackingTimer.cancel();
|
||||
super.dispose();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import 'dart:async';
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:didvan/models/enums.dart';
|
||||
|
|
@ -9,6 +10,8 @@ import 'package:didvan/services/network/request_helper.dart';
|
|||
|
||||
class RadarDetailsState extends CoreProvier {
|
||||
final List<RadarDetailsData?> radars = [];
|
||||
late Timer _trackingTimer;
|
||||
int _trackingTimerCounter = 0;
|
||||
late final int initialIndex;
|
||||
late final RadarRequestArgs args;
|
||||
|
||||
|
|
@ -29,6 +32,7 @@ class RadarDetailsState extends CoreProvier {
|
|||
}
|
||||
final service = RequestService(RequestHelper.radarDetails(id, args));
|
||||
await service.httpGet();
|
||||
_handleTracking(sendRequest: isForward != null);
|
||||
if (service.isSuccess) {
|
||||
final result = service.result;
|
||||
RadarDetailsData? prevRadar;
|
||||
|
|
@ -73,7 +77,7 @@ class RadarDetailsState extends CoreProvier {
|
|||
appState = AppState.idle;
|
||||
return;
|
||||
}
|
||||
|
||||
//why? total page state shouldn't die!
|
||||
if (isForward == null) {
|
||||
appState = AppState.failed;
|
||||
}
|
||||
|
|
@ -87,4 +91,21 @@ class RadarDetailsState extends CoreProvier {
|
|||
count;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
Future<void> _handleTracking({bool sendRequest = true}) async {
|
||||
if (!sendRequest) {
|
||||
_trackingTimer = Timer.periodic(const Duration(seconds: 1), (timer) {
|
||||
_trackingTimerCounter++;
|
||||
});
|
||||
return;
|
||||
}
|
||||
//send request
|
||||
_trackingTimerCounter = 0;
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_trackingTimer.cancel();
|
||||
super.dispose();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue