mod: close listener on dispose

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2024-12-25 14:40:47 +08:00
parent 169ae7d562
commit 6acba93c2c
13 changed files with 194 additions and 129 deletions

View File

@@ -1,3 +1,5 @@
import 'dart:async';
import 'package:PiliPalaX/utils/storage.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -19,13 +21,14 @@ class _MinePageState extends State<MinePage> {
final MineController mineController = Get.put(MineController())
..themeType.value = ThemeType.values[GStorage.themeType];
late Future _futureBuilderFuture;
StreamSubscription? _listener;
@override
void initState() {
super.initState();
_futureBuilderFuture = mineController.queryUserInfo();
mineController.userLogin.listen((status) {
_listener = mineController.userLogin.listen((status) {
if (mounted) {
_futureBuilderFuture = mineController.queryUserInfo();
_futureBuilderFuture.then((value) => setState(() {}));
@@ -33,6 +36,12 @@ class _MinePageState extends State<MinePage> {
});
}
@override
void dispose() {
_listener?.cancel();
super.dispose();
}
Widget get _header => FittedBox(
child: Row(
mainAxisSize: MainAxisSize.min,