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(
    'file:///android_asset/$assetFilePath',
    <String, String>{},
  );
}