@@ -42,9 +42,9 @@ class MyHomePage extends StatefulWidget {
4242}
4343
4444class _MyHomePageState extends State <MyHomePage > {
45- ConnectivityResult _connectionStatus = ConnectivityResult .none;
45+ List < ConnectivityResult > _connectionStatus = [ ConnectivityResult .none] ;
4646 final Connectivity _connectivity = Connectivity ();
47- late StreamSubscription <ConnectivityResult > _connectivitySubscription;
47+ late StreamSubscription <List < ConnectivityResult > > _connectivitySubscription;
4848
4949 @override
5050 void initState () {
@@ -63,7 +63,7 @@ class _MyHomePageState extends State<MyHomePage> {
6363
6464 // Platform messages are asynchronous, so we initialize in an async method.
6565 Future <void > initConnectivity () async {
66- late ConnectivityResult result;
66+ late List < ConnectivityResult > result;
6767 // Platform messages may fail, so we use a try/catch PlatformException.
6868 try {
6969 result = await _connectivity.checkConnectivity ();
@@ -82,21 +82,44 @@ class _MyHomePageState extends State<MyHomePage> {
8282 return _updateConnectionStatus (result);
8383 }
8484
85- Future <void > _updateConnectionStatus (ConnectivityResult result) async {
85+ Future <void > _updateConnectionStatus (List < ConnectivityResult > result) async {
8686 setState (() {
8787 _connectionStatus = result;
8888 });
89+ // ignore: avoid_print
90+ print ('Connectivity changed: $_connectionStatus ' );
8991 }
9092
9193 @override
9294 Widget build (BuildContext context) {
9395 return Scaffold (
9496 appBar: AppBar (
95- title: const Text ('Connectivity example app ' ),
97+ title: const Text ('Connectivity Plus Example ' ),
9698 elevation: 4 ,
9799 ),
98- body: Center (
99- child: Text ('Connection Status: ${_connectionStatus .toString ()}' )),
100+ body: Column (
101+ mainAxisSize: MainAxisSize .min,
102+ children: [
103+ const Spacer (flex: 2 ),
104+ Text (
105+ 'Active connection types:' ,
106+ style: Theme .of (context).textTheme.headlineMedium,
107+ ),
108+ const Spacer (),
109+ ListView (
110+ shrinkWrap: true ,
111+ children: List .generate (
112+ _connectionStatus.length,
113+ (index) => Center (
114+ child: Text (
115+ _connectionStatus[index].toString (),
116+ style: Theme .of (context).textTheme.headlineSmall,
117+ ),
118+ )),
119+ ),
120+ const Spacer (flex: 2 ),
121+ ],
122+ ),
100123 );
101124 }
102125}
0 commit comments