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
}
}