autoSelectPicker method

Future<List<NsgFilePickerObject>> autoSelectPicker({
  1. bool oneFile = false,
  2. ESourceType eSourceType = ESourceType.auto,
  3. BuildContext? mainContext,
})

Implementation

Future<List<NsgFilePickerObject>> autoSelectPicker({bool oneFile = false, ESourceType eSourceType = ESourceType.auto, BuildContext? mainContext}) async {
  /* ------------------------------------------------------------------- Если Веб ------------------------------------------------------------------- */
  if (kIsWeb) {
    return galleryImage(oneFile: oneFile);
    /* ------------------------------------------------------------ Если Windows или MacOs ------------------------------------------------------------ */
  } else if (GetPlatform.isWindows || GetPlatform.isMacOS) {
    return pickFile(oneFile: oneFile);
  } else {
    if (eSourceType == ESourceType.auto && mainContext != null) {
      var type = await showSourceTypeDialog(mainContext);
      if (type != null) {
        eSourceType = type;
      } else {
        return [];
      }
    } else if (eSourceType == ESourceType.auto && mainContext == null) {
      eSourceType = ESourceType.gallery;
    }
    switch (eSourceType) {
      case ESourceType.camera:
        return cameraImage(oneFile: oneFile);
      case ESourceType.gallery:
        return galleryImage(oneFile: oneFile);
      case ESourceType.files:
        return pickFile(oneFile: oneFile);
      default:
        return pickFile(oneFile: oneFile);
    }
  }
}