fix: Make NetworkService web-safe by skipping connectivity monitoring on web platform
This commit is contained in:
parent
2b3704a3f9
commit
6d43ae2b09
|
|
@ -1,4 +1,5 @@
|
|||
import 'dart:async';
|
||||
import 'package:flutter/foundation.dart' show kIsWeb;
|
||||
import 'package:connectivity_plus/connectivity_plus.dart';
|
||||
|
||||
/// Service for monitoring network connectivity status
|
||||
|
|
@ -7,7 +8,7 @@ class NetworkService {
|
|||
factory NetworkService() => _instance;
|
||||
NetworkService._internal();
|
||||
|
||||
final Connectivity _connectivity = Connectivity();
|
||||
Connectivity? _connectivity;
|
||||
final StreamController<bool> _connectionController =
|
||||
StreamController<bool>.broadcast();
|
||||
|
||||
|
|
@ -18,7 +19,15 @@ class NetworkService {
|
|||
|
||||
/// Initialize the network service and start monitoring
|
||||
void initialize() {
|
||||
_connectivity.onConnectivityChanged.listen((List<ConnectivityResult> results) {
|
||||
// Skip connectivity monitoring on web - it's not supported
|
||||
if (kIsWeb) {
|
||||
_isConnected = true;
|
||||
_connectionController.add(true);
|
||||
return;
|
||||
}
|
||||
|
||||
_connectivity = Connectivity();
|
||||
_connectivity!.onConnectivityChanged.listen((List<ConnectivityResult> results) {
|
||||
final result = results.isNotEmpty ? results.first : ConnectivityResult.none;
|
||||
_isConnected = result != ConnectivityResult.none;
|
||||
_connectionController.add(_isConnected);
|
||||
|
|
@ -29,7 +38,9 @@ class NetworkService {
|
|||
}
|
||||
|
||||
Future<void> _checkConnection() async {
|
||||
final results = await _connectivity.checkConnectivity();
|
||||
if (kIsWeb || _connectivity == null) return;
|
||||
|
||||
final results = await _connectivity!.checkConnectivity();
|
||||
final result = results.isNotEmpty ? results.first : ConnectivityResult.none;
|
||||
_isConnected = result != ConnectivityResult.none;
|
||||
_connectionController.add(_isConnected);
|
||||
|
|
|
|||
Loading…
Reference in a new issue