2024-04-30 23:38:49 +08:00
|
|
|
import 'package:fl_clash/plugins/tile.dart';
|
2024-05-11 17:02:34 +08:00
|
|
|
import 'package:fl_clash/state.dart';
|
2024-04-30 23:38:49 +08:00
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
|
2024-09-08 21:21:21 +08:00
|
|
|
class TileManager extends StatefulWidget {
|
2024-04-30 23:38:49 +08:00
|
|
|
final Widget child;
|
|
|
|
|
|
2024-09-08 21:21:21 +08:00
|
|
|
const TileManager({
|
2024-04-30 23:38:49 +08:00
|
|
|
super.key,
|
|
|
|
|
required this.child,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
@override
|
2024-09-08 21:21:21 +08:00
|
|
|
State<TileManager> createState() => _TileContainerState();
|
2024-04-30 23:38:49 +08:00
|
|
|
}
|
|
|
|
|
|
2024-09-08 21:21:21 +08:00
|
|
|
class _TileContainerState extends State<TileManager> with TileListener {
|
2024-04-30 23:38:49 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
return widget.child;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
void onStart() {
|
2024-08-15 16:18:00 +08:00
|
|
|
globalState.appController.updateStatus(true);
|
2024-04-30 23:38:49 +08:00
|
|
|
super.onStart();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
void onStop() {
|
2024-08-15 16:18:00 +08:00
|
|
|
globalState.appController.updateStatus(false);
|
2024-04-30 23:38:49 +08:00
|
|
|
super.onStop();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
void initState() {
|
|
|
|
|
super.initState();
|
|
|
|
|
tile?.addListener(this);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
void dispose() {
|
|
|
|
|
tile?.removeListener(this);
|
|
|
|
|
super.dispose();
|
|
|
|
|
}
|
|
|
|
|
}
|