BootpayAndroidJavaScriptChannelParams constructor

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

Implementation

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