import 'dart:async'; import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; final connectivityServiceProvider = Provider((ref) => ConnectivityService()); final connectivityStreamProvider = StreamProvider((ref) { return ref.watch(connectivityServiceProvider).onConnectivityChanged; }); class ConnectivityService { final Connectivity _connectivity = Connectivity(); Stream get onConnectivityChanged { return _connectivity.onConnectivityChanged.map((results) { return results.any((r) => r != ConnectivityResult.none); }); } Future get isConnected async { final results = await _connectivity.checkConnectivity(); return results.any((r) => r != ConnectivityResult.none); } }