initialize method
Implementation
Future<void> initialize({
String? providerBundleIdentifier,
String? localizedDescription,
String? groupIdentifier,
Function(VpnStatus status)? lastStatus,
Function(VPNStage stage)? lastStage,
}) async {
if (Platform.isIOS) {
assert(
groupIdentifier != null &&
providerBundleIdentifier != null &&
localizedDescription != null,
"These values are required for ios.");
}
onVpnStatusChanged?.call(VpnStatus.empty());
initialized = true;
_initializeListener();
return _channelControl.invokeMethod("initialize", {
"groupIdentifier": groupIdentifier,
"providerBundleIdentifier": providerBundleIdentifier,
"localizedDescription": localizedDescription,
}).then((value) {
Future.wait([
status().then((value) => lastStatus?.call(value)),
stage().then((value) {
if (value == VPNStage.connected && _vpnStatusTimer == null) {
_createTimer();
}
return lastStage?.call(value);
}),
]);
});
}