diff --git a/flash/factory.common b/flash/factory.common index ce2d570e59ff028fe789157e19a2897b9643788f..9131a7d209d506f8a6eb45c4bf8ec3da5377ff17 100755 --- a/flash/factory.common +++ b/flash/factory.common @@ -1,6 +1,6 @@ #!/usr/bin/env bash -set -e +set -euo pipefail # Paths/files ROOT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" @@ -70,6 +70,9 @@ fi # Check for connected phone find_device() { echo "INFO: Looking for connected device(s)..." + PRODUCT="${PRODUCT:-unknown}" + PRODUCT_ID="${PRODUCT_ID:-unknown}" + PRODUCT_ID_OLD="${PRODUCT_ID_OLD:-unknown}" DEVICE_FOUND="false" while [ ${DEVICE_FOUND} = "false" ] do @@ -80,8 +83,18 @@ find_device() { # Checking the product ID PRODUCT_STRING=$("${FASTBOOT_BIN}" -s "${sn}" getvar product 2>&1) # Add serial, if product matches - if [[ ${PRODUCT_STRING} == *"${PRODUCT_ID}"* ]] || [[ ${PRODUCT_STRING} == *"${PRODUCT_ID_OLD}"* ]] - then + matched=false + if [[ "${PRODUCT_ID}" != "unknown" ]]; then + if [[ ${PRODUCT_STRING} == *"${PRODUCT_ID}"* ]]; then + matched=true + fi + fi + if [[ "${PRODUCT_ID_OLD}" != "unknown" ]]; then + if [[ ${PRODUCT_STRING} == *"${PRODUCT_ID_OLD}"* ]]; then + matched=true + fi + fi + if [[ "${matched}" == "true" ]]; then serial_numbers="${serial_numbers} $sn" fi done @@ -161,6 +174,16 @@ fi # Common flash function to be called from device flash script flash_factory() { # Begin with some OS checks and variable definition + USE_FASTBOOTD="${USE_FASTBOOTD:-false}" + FW_BL_RESTART="${FW_BL_RESTART:-false}" + CLEAN_FLASH="${CLEAN_FLASH:-false}" + VIRTUAL_AB="${VIRTUAL_AB:-false}" + FLASH_AB_FW_IMGS="${FLASH_AB_FW_IMGS:-}" + FLASH_A_FW_IMGS="${FLASH_A_FW_IMGS:-}" + FLASH_AB_IMGS="${FLASH_AB_IMGS:-}" + FLASH_A_IMGS="${FLASH_A_IMGS:-}" + ERASE_IMGS="${ERASE_IMGS:-}" + FORMAT_IMGS="${FORMAT_IMGS:-}" os_checks # Call function to look for device(s) @@ -215,7 +238,7 @@ then for BLOB in $2; do PARTITION="${BLOB%%:*}" - IMAGE=$(echo $BLOB | cut -s -d : -f 2) + IMAGE=$(echo "$BLOB" | cut -s -d : -f 2) if [[ "$PARTITION" = "userdata" && "${CLEAN_FLASH}" != "true" ]] then @@ -234,7 +257,7 @@ then for BLOB in $2; do PARTITION="${BLOB%%:*}" - IMAGE=$(echo $BLOB | cut -s -d : -f 2) + IMAGE=$(echo "$BLOB" | cut -s -d : -f 2) flash_image_ab_or_abort "${1}" "${PARTITION}" "${IMAGES_DIR}/${IMAGE:-$PARTITION.img}" done