sendToFlutter method

Future<void> sendToFlutter(
  1. Map<String, dynamic> params,
  2. BuildContext context,
  3. WebViewCookieManager cookieManager
)

Implementation

Future<void> sendToFlutter(
  Map<String, dynamic> params,
  BuildContext context,
  WebViewCookieManager cookieManager,
) async {
  try {
    final String bridgeName = params['bridgeName'];
    final Map<String, dynamic> bridgeParams = params['params'] ?? {};
    final BridgeCommand command = BridgeCommand.fromString(bridgeName);
    switch (command) {
      case BridgeCommand.pop:
        _pop(context);
        break;
      case BridgeCommand.popRoot:
        _popToRoot(context);
        break;
      case BridgeCommand.push:
        _push(context, bridgeParams);
        break;
      case BridgeCommand.popAndPush:
        _popAndPush(context, bridgeParams);
        break;
      case BridgeCommand.popRootAndPush:
        _popRootAndPush(context, bridgeParams);
        break;
      case BridgeCommand.closeAndAlert:
        _handleAlert(context, bridgeParams);
        break;
      case BridgeCommand.getToken:
        await _getToken();
        break;
      case BridgeCommand.setToken:
        await _setToken(bridgeParams);
        break;
      case BridgeCommand.deleteToken:
        await _deleteToken();
        break;
      case BridgeCommand.refresh:
        _handleRefresh(bridgeParams);
        break;
      case BridgeCommand.saveLocally:
        await _saveLocally(bridgeParams);
        break;
      case BridgeCommand.getLocally:
        await _getLocally(bridgeParams);
        break;
      case BridgeCommand.deleteLocally:
        await _deleteLocally(bridgeParams);
        break;
      case BridgeCommand.clearAll:
        await _clearAll();
        break;
      case BridgeCommand.unknown:
      default:
        debugPrint("Unknown bridge command: $bridgeName");
    }
  } catch (e) {
    debugPrint("Error processing message: $e");
  }
}