initializeVless method
Future<void>
initializeVless({
- required void onStatusChanged(
- VlessStatus status
- required String notificationIconResourceType,
- required String notificationIconResourceName,
- required String providerBundleIdentifier,
- required String groupIdentifier,
override
Initializes platform channels and native configuration.
Implementation
@override
Future<void> initializeVless({
required void Function(VlessStatus status) onStatusChanged,
required String notificationIconResourceType,
required String notificationIconResourceName,
required String providerBundleIdentifier,
required String groupIdentifier,
}) async {
await _statusSubscription?.cancel();
_statusSubscription = eventChannel
.receiveBroadcastStream()
.distinct()
.listen((Object? event) {
final status = VlessStatus.tryParse(event);
if (status != null) {
onStatusChanged(status);
} else {
debugPrint('Ignoring malformed VLESS status payload: $event');
}
}, onError: (Object error, StackTrace stackTrace) {
debugPrint('VLESS status stream error: $error');
});
await methodChannel.invokeMethod(
'initializeVless',
{
'notificationIconResourceType': notificationIconResourceType,
'notificationIconResourceName': notificationIconResourceName,
'providerBundleIdentifier': providerBundleIdentifier,
'groupIdentifier': groupIdentifier,
},
);
}