loadFlutterAsset method

  1. @override
Future<void> loadFlutterAsset(
  1. String key
)

Loads the Flutter asset specified in the pubspec.yaml file.

Throws an ArgumentError if key is not part of the specified assets in the pubspec.yaml file.

Implementation

@override
Future<void> loadFlutterAsset(
  String key,
) async {
  final String assetFilePath =
      await _flutterAssetManager.getAssetFilePathByName(key);
  final List<String> pathElements = assetFilePath.split('/');
  final String fileName = pathElements.removeLast();
  final List<String?> paths =
      await _flutterAssetManager.list(pathElements.join('/'));

  if (!paths.contains(fileName)) {
    throw ArgumentError(
      'Asset for key "$key" not found.',
      'key',
    );
  }

  return _webView.loadUrl(
    Uri.file('/android_asset/$assetFilePath').toString(),
    <String, String>{},
  );
}