getActualMediaPath static method

Map<String, dynamic> getActualMediaPath(
  1. MessageType messageType,
  2. String? mediaPath,
  3. String uuid,
  4. String? extension,
)

Implementation

static Map<String, dynamic> getActualMediaPath(
    MessageType messageType, String? mediaPath, String uuid, String? extension) {
  String actualMediaPath = "";
  bool isLocalExist = false;
  final mediaHomePath = ChatUtil.getMediaHomePath(messageType: messageType);

  if (mediaPath != null && mediaPath.isNotEmpty) {
    actualMediaPath = mediaPath;
    if (File(actualMediaPath).existsSync()) {
      isLocalExist = true;
      return {'filePath': actualMediaPath, 'isLocalExist': isLocalExist};
    }
  }

  if (!isLocalExist) {
    if (messageType == MessageType.image) {
      actualMediaPath = "$mediaHomePath/$extension$uuid";
    } else if (messageType == MessageType.file) {
      actualMediaPath = "$mediaHomePath/$uuid";
    } else if (messageType == MessageType.video || messageType == MessageType.sound) {
      actualMediaPath = "$mediaHomePath/$uuid";
    }

    if (File(actualMediaPath).existsSync()) {
      isLocalExist = true;
    }
  }

  return {'filePath': actualMediaPath, 'isLocalExist': isLocalExist};
}