startVlessWithReport method

  1. @override
Future<VlessPreparationReport> startVlessWithReport({
  1. required String remark,
  2. required String config,
  3. required String notificationDisconnectButtonName,
  4. List<String>? blockedApps,
  5. List<String>? bypassSubnets,
  6. bool proxyOnly = false,
  7. String? geoAssetsDirectory,
  8. String? certificateAssetsDirectory,
  9. AndroidDnsPolicy androidDnsPolicy = AndroidDnsPolicy.config,
  10. String? androidDnsProxyOutboundTag,
  11. VpnRoutingOptions? vpnRouting,
})
override

Starts with an optional safe report. Older third-party implementations keep their existing start behavior and explicitly report unavailability.

Parameters and startup errors follow startVless. The report belongs to this invocation; a successful Core check does not prove traffic works.

Implementation

@override
Future<VlessPreparationReport> startVlessWithReport({
  required String remark,
  required String config,
  required String notificationDisconnectButtonName,
  List<String>? blockedApps,
  List<String>? bypassSubnets,
  bool proxyOnly = false,
  String? geoAssetsDirectory,
  String? certificateAssetsDirectory,
  AndroidDnsPolicy androidDnsPolicy = AndroidDnsPolicy.config,
  String? androidDnsProxyOutboundTag,
  VpnRoutingOptions? vpnRouting,
}) async {
  final capture = _StartReportCapture(config);
  await runZoned(
      () => startVless(
            remark: remark,
            config: config,
            notificationDisconnectButtonName:
                notificationDisconnectButtonName,
            blockedApps: blockedApps,
            bypassSubnets: bypassSubnets,
            proxyOnly: proxyOnly,
            geoAssetsDirectory: geoAssetsDirectory,
            certificateAssetsDirectory: certificateAssetsDirectory,
            androidDnsPolicy: androidDnsPolicy,
            androidDnsProxyOutboundTag: androidDnsProxyOutboundTag,
            vpnRouting: vpnRouting,
          ),
      zoneValues: {_reportCaptureKey: capture});
  return capture.report;
}