Files
umbrix/lib/services/connectivity/connectivity_service.dart

27 lines
868 B
Dart
Raw Normal View History

2023-08-19 22:27:23 +03:30
import 'package:hiddify/domain/connectivity/connectivity.dart';
2023-07-06 17:18:41 +03:30
import 'package:hiddify/services/connectivity/desktop_connectivity_service.dart';
import 'package:hiddify/services/connectivity/mobile_connectivity_service.dart';
import 'package:hiddify/services/notification/notification.dart';
2023-08-19 22:27:23 +03:30
import 'package:hiddify/services/singbox/singbox_service.dart';
2023-07-06 17:18:41 +03:30
import 'package:hiddify/utils/utils.dart';
abstract class ConnectivityService {
2023-08-19 22:27:23 +03:30
factory ConnectivityService(
SingboxService singboxService,
NotificationService notificationService,
) {
if (PlatformUtils.isDesktop) {
return DesktopConnectivityService(singboxService);
}
return MobileConnectivityService(singboxService, notificationService);
2023-07-06 17:18:41 +03:30
}
Future<void> init();
2023-08-19 22:27:23 +03:30
Stream<ConnectionStatus> watchConnectionStatus();
2023-07-06 17:18:41 +03:30
2023-08-19 22:27:23 +03:30
Future<void> connect();
2023-07-06 17:18:41 +03:30
Future<void> disconnect();
}