loadAsync method

Implementation

@visibleForTesting
Future<ui.Codec> loadAsync(
    ResourceImage key, ImageDecoderCallback decode) async {
  assert(key == this);
  Uint8List? bytes = await (_awesomeNotifications ?? AwesomeNotifications())
      .getDrawableData(drawablePath);

  if ((bytes?.lengthInBytes ?? 0) == 0) {
    throw const AwesomeNotificationsException(message: 'image is invalid');
  }

  final ImmutableBuffer buffer = await ImmutableBuffer.fromUint8List(bytes!);
  final ImageDescriptor descriptor = await ImageDescriptor.encoded(buffer);

  buffer.dispose();
  return descriptor.instantiateCodec();
}