#!/bin/bash

## $1 noCI/stable/master: wether to run deleteOutdatedComments.sh or uploadReport.sh
## $2 true/false: record or verify screenshots
## $3 classMethod: piped from androidScreenshotTest
## $4 github event number

if [[ $2 = "true" ]]; then
    record="-Precord"
else
    record=""
fi

classMethod=$3

resultCode=0
while read line
do
    darkMode=$(echo "$line" | cut -d" " -f1)
    color=$(echo "$line" | cut -d" " -f2)

    echo "Run $color on $darkMode mode"

    if [[ $1 = "noCI" ]]; then
        ./gradlew --console plain gplayDebugExecuteScreenshotTests \
        $record \
        -Pandroid.testInstrumentationRunnerArguments.annotation=com.owncloud.android.utils.ScreenshotTest \
        -Pandroid.testInstrumentationRunnerArguments.COLOR="$color" \
        -Pandroid.testInstrumentationRunnerArguments.DARKMODE="$darkMode" \
        $classMethod </dev/null > /dev/null
        if [[ $? -ne 0 ]]; then
            exit
        fi
    else
        ./gradlew --console plain gplayDebugExecuteScreenshotTests \
        $record \
        -Pandroid.testInstrumentationRunnerArguments.annotation=com.owncloud.android.utils.ScreenshotTest \
        -Pandroid.testInstrumentationRunnerArguments.COLOR="$color" \
        -Pandroid.testInstrumentationRunnerArguments.DARKMODE="$darkMode" </dev/null > /dev/null \
        && scripts/deleteOutdatedComments.sh "$1-$darkMode-$color" "Screenshot" "$4" \
        "$GIT_USERNAME" "$GIT_TOKEN" \
        || resultCode=1 && scripts/uploadReport.sh "$LOG_USERNAME" "$LOG_PASSWORD" "$4" \
        "$1-$darkMode-$color" "Screenshot" "$4" "$GIT_USERNAME" "$GIT_TOKEN"
    fi
done < scripts/screenshotCombinations

exit $resultCode
