start static method
Begins observing. Balanced by stop; observation runs while any caller has started it.
Implementation
static Future<void> start() async {
if (!_isIOS) return;
_clients++;
if (!_handlerInstalled) {
_handlerInstalled = true;
_channel.setMethodCallHandler((call) async {
if (call.method == 'onStateChanged') {
_state.value = CNFoldableState.fromMap(
call.arguments as Map<Object?, Object?>?,
);
}
});
}
if (_clients != 1) return;
try {
final reply = await _channel.invokeMapMethod<Object?, Object?>('start');
_state.value = CNFoldableState.fromMap(reply);
} on MissingPluginException {
// Tests and hot-restart edge cases: stay unsupported.
} on PlatformException {
// Same.
}
}