proxyStateStream property
A stream of proxy state updates.
Implementation
@override
Stream<ProxyState> get proxyStateStream {
_proxyStateStream ??= _eventChannelProxyState.receiveBroadcastStream().transform(
StreamTransformer<dynamic, ProxyState>.fromHandlers(
handleData: (data, sink) {
debugPrint('proxyStateStream handleData: $data');
sink.add(ProxyState.fromName(data.toString()));
},
handleError: (error, stackTrace, sink) {
debugPrint('proxyStateStream handleError: $error');
// Android 原生侧异常停止经 EventSink.error(code: "Stopped", message: 错误信息) 下发,
// PlatformException.message 即错误原因;其他错误兜底用 toString。
final message = error is PlatformException ? error.message : null;
sink.add(ProxyStopped(errMessage: message ?? error.toString()));
},
),
);
return _proxyStateStream!;
}