mirror of
https://github.com/lifegpc/eh_downloader_flutter.git
synced 2026-06-14 01:44:17 +08:00
Use better way to initialize task manager listener and timers
This commit is contained in:
@@ -89,6 +89,7 @@ class AuthInfo {
|
||||
"Logged in as ${u.username} (${u.id}). isAdmin: ${u.isAdmin}. permissions: ${u.permissions}");
|
||||
await checkSessionInfo();
|
||||
if (canManageTasks == true) {
|
||||
if (!tasks.inited) tasks.init();
|
||||
await tasks.connect();
|
||||
}
|
||||
} else if (re.status == 401 || re.status == 1 || re.status == 404) {
|
||||
|
||||
@@ -299,7 +299,6 @@ class _MainApp extends State<MainApp> with WidgetsBindingObserver {
|
||||
_lifecycleState = WidgetsBinding.instance.lifecycleState;
|
||||
listener.tryEmit("lifecycle", _lifecycleState);
|
||||
}
|
||||
tasks.init();
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -22,6 +22,8 @@ class TaskManager {
|
||||
List<int> peddingGids = [];
|
||||
List<String> peddingTokens = [];
|
||||
late Timer _pingTimer;
|
||||
bool _inited = false;
|
||||
bool get inited => _inited;
|
||||
void clear() {
|
||||
tasks.clear();
|
||||
_channel?.stream.drain();
|
||||
@@ -233,6 +235,7 @@ class TaskManager {
|
||||
}
|
||||
|
||||
void init() {
|
||||
_inited = true;
|
||||
listener.on("lifecycle", _onLifeCycleChanged);
|
||||
_pingTimer = Timer.periodic(const Duration(seconds: 30), (timer) {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user