load method
Implementation
@override
Future<LottieComposition> load({BuildContext? context}) {
return sharedLottieCache.putIfAbsent(this, () async {
final finalContext = context;
final chosenBundle = bundle ??
(finalContext != null
? DefaultAssetBundle.of(finalContext)
: rootBundle);
var data = await chosenBundle.load(keyName);
LottieComposition composition;
if (backgroundLoading) {
composition =
await compute(parseJsonBytes, (data.buffer.asUint8List(), decoder));
} else {
composition =
await LottieComposition.fromByteData(data, decoder: decoder);
}
for (var image in composition.images.values) {
image.loadedImage ??= await _loadImage(composition, image);
}
await ensureLoadedFonts(composition);
return composition;
});
}