AndroidJavaScriptChannelParams constructor

AndroidJavaScriptChannelParams({
  1. required String name,
  2. required void onMessageReceived(
    1. JavaScriptMessage
    ),
  3. @visibleForTesting AndroidWebViewProxy webViewProxy = const AndroidWebViewProxy(),
})

Implementation

AndroidJavaScriptChannelParams({
  required super.name,
  required super.onMessageReceived,
  @visibleForTesting
  AndroidWebViewProxy webViewProxy = const AndroidWebViewProxy(),
})  : assert(name.isNotEmpty),
      _javaScriptChannel = webViewProxy.createJavaScriptChannel(
        name,
        postMessage: withWeakReferenceTo(
          onMessageReceived,
          (WeakReference<void Function(JavaScriptMessage)> weakReference) {
            return (
              String message,
            ) {
              if (weakReference.target != null) {
                weakReference.target!(
                  JavaScriptMessage(message: message),
                );
              }
            };
          },
        ),
      );