You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
959 B
Dart
41 lines
959 B
Dart
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();
|
|
});
|
|
}
|
|
|
|
}
|