Implementation
static Future<CallClient> create() async {
// TODO(thomas): Keep this ID in the native layer to avoid problems with hot restarts.
final id = _nextId++;
final platformBridge = await PlatformBridge.instance;
final native = platformBridge.createClient(id);
final inputs = platformBridge.inputs(native);
final publishing = platformBridge.publishing(native);
final availableDevices = platformBridge.availableDevices(native);
final participants = platformBridge.participants(native);
final subscriptions = platformBridge.subscriptions(native);
final subscriptionProfiles = platformBridge.subscriptionProfiles(native);
return CallClient._(
platformBridge,
id,
native,
await inputs,
await publishing,
await availableDevices,
await participants,
await subscriptions,
await subscriptionProfiles,
);
}