import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:internet_connection_checker/internet_connection_checker.dart'; part 'network_state.dart'; class NetworkCubit extends Cubit<NetworkState> { final NetworkInfo networkService; NetworkCubit({required this.networkService}) : super(NetworkInitial()) { listenConnection(); } static bool _isOnline = false; bool get isOnline => _isOnline; listenConnection() async { networkService.connectionStream.listen((status) { if(status == InternetConnectionStatus.connected) { _isOnline = true; emit(NetworkConnectedState()); }else { _isOnline = false; emit(NetworkLostState()); } }); } }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter