addJavaScriptChannel method

  1. @override
Future<void> addJavaScriptChannel(
  1. JavaScriptChannelParams javaScriptChannelParams
)

Adds a new JavaScript channel to the set of enabled channels.

Implementation

@override
Future<void> addJavaScriptChannel(
  JavaScriptChannelParams javaScriptChannelParams,
) {
  final AndroidJavaScriptChannelParams androidJavaScriptParams =
      javaScriptChannelParams is AndroidJavaScriptChannelParams
          ? javaScriptChannelParams
          : AndroidJavaScriptChannelParams.fromJavaScriptChannelParams(
              javaScriptChannelParams);

  // When JavaScript channel with the same name exists make sure to remove it
  // before registering the new channel.
  if (_javaScriptChannelParams.containsKey(androidJavaScriptParams.name)) {
    _webView
        .removeJavaScriptChannel(androidJavaScriptParams._javaScriptChannel);
  }

  _javaScriptChannelParams[androidJavaScriptParams.name] =
      androidJavaScriptParams;

  return _webView
      .addJavaScriptChannel(androidJavaScriptParams._javaScriptChannel);
}