fun aggregateUserDecision()

in plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/telemetry/CodeWhispererTelemetryServiceNew.kt [455:486]


    fun aggregateUserDecision(decisions: List<CodewhispererSuggestionState>): CodewhispererSuggestionState {
        var isEmpty = true
        var isUnseen = true
        var isDiscard = true

        for (decision in decisions) {
            if (decision == CodewhispererSuggestionState.Accept) {
                return CodewhispererSuggestionState.Accept
            } else if (decision == CodewhispererSuggestionState.Reject) {
                return CodewhispererSuggestionState.Reject
            } else if (decision == CodewhispererSuggestionState.Unseen) {
                isEmpty = false
                isDiscard = false
            } else if (decision == CodewhispererSuggestionState.Ignore) {
                isUnseen = false
                isEmpty = false
                isDiscard = false
            } else if (decision == CodewhispererSuggestionState.Discard) {
                isEmpty = false
            }
        }

        return if (isEmpty) {
            CodewhispererSuggestionState.Empty
        } else if (isDiscard) {
            CodewhispererSuggestionState.Discard
        } else if (isUnseen) {
            CodewhispererSuggestionState.Unseen
        } else {
            CodewhispererSuggestionState.Ignore
        }
    }