mirror of
https://github.com/lifegpc/eh_downloader_flutter.git
synced 2026-07-08 01:30:28 +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}");
|
"Logged in as ${u.username} (${u.id}). isAdmin: ${u.isAdmin}. permissions: ${u.permissions}");
|
||||||
await checkSessionInfo();
|
await checkSessionInfo();
|
||||||
if (canManageTasks == true) {
|
if (canManageTasks == true) {
|
||||||
|
if (!tasks.inited) tasks.init();
|
||||||
await tasks.connect();
|
await tasks.connect();
|
||||||
}
|
}
|
||||||
} else if (re.status == 401 || re.status == 1 || re.status == 404) {
|
} 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;
|
_lifecycleState = WidgetsBinding.instance.lifecycleState;
|
||||||
listener.tryEmit("lifecycle", _lifecycleState);
|
listener.tryEmit("lifecycle", _lifecycleState);
|
||||||
}
|
}
|
||||||
tasks.init();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ class TaskManager {
|
|||||||
List<int> peddingGids = [];
|
List<int> peddingGids = [];
|
||||||
List<String> peddingTokens = [];
|
List<String> peddingTokens = [];
|
||||||
late Timer _pingTimer;
|
late Timer _pingTimer;
|
||||||
|
bool _inited = false;
|
||||||
|
bool get inited => _inited;
|
||||||
void clear() {
|
void clear() {
|
||||||
tasks.clear();
|
tasks.clear();
|
||||||
_channel?.stream.drain();
|
_channel?.stream.drain();
|
||||||
@@ -233,6 +235,7 @@ class TaskManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void init() {
|
void init() {
|
||||||
|
_inited = true;
|
||||||
listener.on("lifecycle", _onLifeCycleChanged);
|
listener.on("lifecycle", _onLifeCycleChanged);
|
||||||
_pingTimer = Timer.periodic(const Duration(seconds: 30), (timer) {
|
_pingTimer = Timer.periodic(const Duration(seconds: 30), (timer) {
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user