Files
MWClash/lib/manager/connectivity_manager.dart
chen08209 0ba6ef1b9c Support override script
Support proxies search

Add some scenes auto close connections

Update core

Optimize more details
2025-05-28 14:43:46 +08:00

44 lines
1002 B
Dart

import 'dart:async';
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:flutter/material.dart';
class ConnectivityManager extends StatefulWidget {
final Function(List<ConnectivityResult> results)? onConnectivityChanged;
final Widget child;
const ConnectivityManager({
super.key,
this.onConnectivityChanged,
required this.child,
});
@override
State<ConnectivityManager> createState() => _ConnectivityManagerState();
}
class _ConnectivityManagerState extends State<ConnectivityManager> {
late StreamSubscription subscription;
@override
void initState() {
super.initState();
subscription = Connectivity().onConnectivityChanged.listen((results) async {
if (widget.onConnectivityChanged != null) {
widget.onConnectivityChanged!(results);
}
});
}
@override
void dispose() {
subscription.cancel();
super.dispose();
}
@override
Widget build(BuildContext context) {
return widget.child;
}
}