I am using internet_connection_checker_plus for my flutter app to test real internet connection before every die request but when I run the simulator or emulator I get 403 on first run of my app for the URI that is being used by the package here is some of my code and this happen on simulator or emulator not happening on real device.
sealed class NetworkInfoService {
Future<bool> get isConnected;
}
class NetworkInfoServiceImpl implements NetworkInfoService {
NetworkInfoServiceImpl({
required Connectivity connectivity,
required InternetConnection checker,
}) : _connectivity = connectivity,
_checker = checker;
final Connectivity _connectivity;
final InternetConnection _checker;
@override
Future<bool> get isConnected async {
final List<ConnectivityResult> result =
await _connectivity.checkConnectivity();
final bool hasNetwork = result.contains(ConnectivityResult.wifi) ||
result.contains(ConnectivityResult.mobile) ||
result.contains(ConnectivityResult.vpn);
if (!hasNetwork) {
return false;
}
return _checker.hasInternetAccess;
}
}
sealed class InternetConnectivityGuard {
Future<void> ensureConnectedToInternet();
}
class InternetConnectivityGuardImpl implements InternetConnectivityGuard {
InternetConnectivityGuardImpl({
required NetworkInfoService networkInfo,
}) : _networkInfo = networkInfo;
final NetworkInfoService _networkInfo;
@override
Future<void> ensureConnectedToInternet() async {
final bool isConnected = await _networkInfo.isConnected;
if (!isConnected) {
final String message =
getItInstance.isRegistered<InternetFailureMessage>()
? getItInstance<InternetFailureMessage>().text
: _Constants.noInternetConnectionMessage;
throw NoInternetException(
message: message,
);
}
}
}