mediaBinary method

Future<FfiBufferUint8> mediaBinary(
  1. String eventId,
  2. ThumbnailSize? thumbSize
)

decrypted media file data if thumb size is given, media thumbnail is returned if thumb size is not given, media file is returned The reason that this function belongs to room object is because ChatScreen keeps it as member variable If this function belongs to message object, we may have to load too many message objects in ChatScreen

Implementation

Future<FfiBufferUint8> mediaBinary(
  String eventId,
  ThumbnailSize? thumbSize,
) {
  final tmp1 = eventId;
  final tmp5 = thumbSize;
  var tmp0 = 0;
  var tmp2 = 0;
  var tmp3 = 0;
  var tmp4 = 0;
  var tmp6 = 0;
  var tmp8 = 0;
  tmp0 = _box.borrow();
  final tmp1_0 = utf8.encode(tmp1);
  tmp3 = tmp1_0.length;

  final ffi.Pointer<ffi.Uint8> tmp2_0 = _api.__allocate(tmp3 * 1, 1);
  final Uint8List tmp2_1 = tmp2_0.asTypedList(tmp3);
  tmp2_1.setAll(0, tmp1_0);
  tmp2 = tmp2_0.address;
  tmp4 = tmp3;
  if (tmp5 == null) {
    tmp6 = 0;
  } else {
    tmp6 = 1;
    final tmp7 = tmp5;
    tmp8 = tmp7._box.move();
  }
  final tmp9 = _api._convoMediaBinary(
    tmp0,
    tmp2,
    tmp3,
    tmp4,
    tmp6,
    tmp8,
  );
  final tmp11 = tmp9;
  final ffi.Pointer<ffi.Void> tmp11_0 = ffi.Pointer.fromAddress(tmp11);
  final tmp11_1 = _Box(_api, tmp11_0, "__Convo_media_binary_future_drop");
  tmp11_1._finalizer = _api._registerFinalizer(tmp11_1);
  final tmp10 = _nativeFuture(tmp11_1, _api.__convoMediaBinaryFuturePoll);
  return tmp10;
}