apply from: file("./../../app/android/firebase-json.gradle")

def mlModels = [
  'ml_vision_face_model',
  'ml_vision_image_label_model',
  // 'ml_vision_object_detection_model', // object tracking -> TODO 6.1
]

dependencies {
  if (rootProject.ext && rootProject.ext.firebaseJson) {
    mlModels.each { modelFlag ->
      if (rootProject.ext.firebaseJson.isFlagEnabled(modelFlag) == true) {
        rootProject.logger.info ":${project.name} model enabled: '${modelFlag}'"
        implementation "com.google.firebase:firebase-${modelFlag.replaceAll("_", "-")}"
      } else {
        rootProject.logger.warn ":${project.name} model disabled: '${modelFlag}'"
      }
    }
  } else {
    rootProject.logger.warn ":${project.name} skipping optional models as no firebaseJson extension found, you may be missing a firebase.json file in the root of your React Native project, or you've not installed the @react-native-firebase/app package and included it in your app build."
  }
}

def manifestModels = [
  'ml_vision_ocr_model',
  'ml_vision_face_model',
  'ml_vision_barcode_model',
  'ml_vision_label_model',
  // 'ml_vision_ica_model', // object tracking -> TODO 6.1
]

def manifestModelsString = ""

manifestModels.each { modelFlag ->
  if (rootProject.ext && rootProject.ext.firebaseJson && rootProject.ext.firebaseJson.isFlagEnabled(modelFlag) == true) {
    def modelIdentifier = modelFlag.replace("ml_vision_", "").replace("_model", "")
    if (manifestModelsString.length() > 0) {
      manifestModelsString += "," + modelIdentifier
    } else {
      manifestModelsString += modelIdentifier
    }
  }
}

android {
  defaultConfig {
    manifestPlaceholders = [visionModels: manifestModelsString]
  }
}
