pickImage method

Future<void> pickImage(
  1. ImageSourceType sourceType
)

Picks an image from sourceType, then invokes onImageSelected.

Implementation

Future<void> pickImage(ImageSourceType sourceType) async {
  final permission = sourceType == ImageSourceType.camera
      ? Permission.camera
      : Permission.photos;
  if (!await _requestPermission(permission)) {
    return;
  }

  final picker = ImagePicker();
  final source = sourceType == ImageSourceType.camera
      ? ImageSource.camera
      : ImageSource.gallery;
  final file = await picker.pickImage(
    source: source,
    imageQuality: 70,
    maxWidth: 1440,
  );

  if (file == null) {
  } else {
    final message = ChatMessage(
      text: '',
      isSender: true,
      chatMedia: ChatMedia(
        url: file.path,
        mediaType: MediaType.imageMediaType(),
      ),
    );
    onImageSelected(message);
  }
}