import 'dart:async'; import 'package:connectivity/connectivity.dart'; import 'package:flutter/material.dart'; import 'package:queuing_system/core/base/view_state.dart'; class BaseViewModel extends ChangeNotifier { ViewState _state = ViewState.Idle; bool isInternetConnection = true; StreamSubscription subscription; ViewState get state => _state; String error = ""; void setState(ViewState viewState) { _state = viewState; notifyListeners(); } BaseViewModel(){ subscription = Connectivity() .onConnectivityChanged .listen((ConnectivityResult result) { switch (result) { case ConnectivityResult.wifi: isInternetConnection = true; break; case ConnectivityResult.mobile: isInternetConnection = true; break; case ConnectivityResult.none: isInternetConnection = false; break; } notifyListeners(); }); } }