initializeVless method

  1. @override
Future<void> initializeVless({
  1. required void onStatusChanged(
    1. VlessStatus status
    ),
  2. required String notificationIconResourceType,
  3. required String notificationIconResourceName,
  4. required String providerBundleIdentifier,
  5. 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,
    },
  );
}