initializeVless method
Future<void>
initializeVless({
- required void onStatusChanged(
- VlessStatus status
- required String notificationIconResourceType,
- required String notificationIconResourceName,
- required String providerBundleIdentifier,
- required String groupIdentifier,
override
Initializes the VPN plugin with platform-specific 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 {
eventChannel.receiveBroadcastStream().distinct().cast().listen((event) {
if (event != null) {
onStatusChanged.call(VlessStatus(
duration: int.parse(event[0]),
uploadSpeed: int.parse(event[1]),
downloadSpeed: int.parse(event[2]),
upload: int.parse(event[3]),
download: int.parse(event[4]),
state: event[5],
));
}
});
await methodChannel.invokeMethod(
'initializeVless',
{
"notificationIconResourceType": notificationIconResourceType,
"notificationIconResourceName": notificationIconResourceName,
"providerBundleIdentifier": providerBundleIdentifier,
"groupIdentifier": groupIdentifier,
},
);
}