Skip to content

Commit

Permalink
fix: fallback to wifi if connectivity errors, for example if there is…
Browse files Browse the repository at this point in the history
… no network manager on linux (#952)

Ref #949
  • Loading branch information
Feichtmeier authored Oct 14, 2024
1 parent e605df1 commit 498f32e
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 35 deletions.
16 changes: 13 additions & 3 deletions lib/app/connectivity_model.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:safe_change_notifier/safe_change_notifier.dart';

import '../common/data/audio.dart';
import '../extensions/connectivity_x.dart';
import '../player/player_service.dart';

class ConnectivityModel extends SafeChangeNotifier {
Expand All @@ -20,15 +19,17 @@ class ConnectivityModel extends SafeChangeNotifier {

Future<void> init() async {
// TODO: fix https://github.com/fluttercommunity/plus_plugins/issues/1451
final fallback = [ConnectivityResult.wifi];

_connectivitySubscription ??= _connectivity.onConnectivityChanged.listen(
_updateConnectivity,
onError: (e) => _result = [ConnectivityResult.wifi],
onError: (e) => _result = fallback,
);

return _connectivity
.checkConnectivity()
.then(_updateConnectivity)
.catchError((_) => _updateConnectivity(ConnectivityResult.values));
.catchError((_) => _updateConnectivity(fallback));
}

bool get isOnline => _connectivity.isOnline(_result);
Expand All @@ -49,3 +50,12 @@ class ConnectivityModel extends SafeChangeNotifier {
super.dispose();
}
}

extension _ConnectivityX on Connectivity {
bool isOnline(List<ConnectivityResult>? res) =>
res?.contains(ConnectivityResult.ethernet) == true ||
res?.contains(ConnectivityResult.bluetooth) == true ||
res?.contains(ConnectivityResult.mobile) == true ||
res?.contains(ConnectivityResult.vpn) == true ||
res?.contains(ConnectivityResult.wifi) == true;
}
10 changes: 0 additions & 10 deletions lib/extensions/connectivity_x.dart

This file was deleted.

22 changes: 0 additions & 22 deletions needs_translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -841,17 +841,6 @@
"regionZimbabwe"
],

"it": [
"skipToLivStream",
"searchSimilarStation",
"onlineArtError",
"clicks",
"exposeOnlineHeadline",
"exposeToDiscordTitle",
"exposeToDiscordSubTitle",
"featureDisabledOnPlatform"
],

"nl": [
"shuffle",
"repeat",
Expand Down Expand Up @@ -2900,17 +2889,6 @@
"regionZimbabwe"
],

"sk": [
"skipToLivStream",
"searchSimilarStation",
"onlineArtError",
"clicks",
"exposeOnlineHeadline",
"exposeToDiscordTitle",
"exposeToDiscordSubTitle",
"featureDisabledOnPlatform"
],

"sv": [
"shuffle",
"repeat",
Expand Down

0 comments on commit 498f32e

Please sign in to comment.