@@ -367,33 +367,28 @@ fun startDetection(doNotStop: Boolean = false, onGestureDetected: (Boolean) -> U
367367 val requiredExtremes = getRequiredExtremes()
368368 Log .d(TAG , " Current required extremes: $requiredExtremes " )
369369
370- if (verticalPeaks.size + verticalTroughs.size >= requiredExtremes) {
370+ val verticalConfidence = if (verticalPeaks.size + verticalTroughs.size >= requiredExtremes) {
371371 val allExtremes = (verticalPeaks + verticalTroughs).sortedBy { it.first }
372+ calculateConfidenceScore(allExtremes, isVertical = true )
373+ } else 0.0
372374
373- val confidence = calculateConfidenceScore(allExtremes, isVertical = true )
374-
375- Log .d(TAG , " Vertical motion confidence: $confidence (need $minConfidenceThreshold )" )
376-
377- if (confidence >= minConfidenceThreshold) {
378- Log .d(TAG , " \" Yes\" Gesture Detected (confidence: $confidence , extremes: ${allExtremes.size} /$requiredExtremes )" )
379- return true
380- }
381- }
382-
383- if (horizontalPeaks.size + horizontalTroughs.size >= requiredExtremes) {
375+ val horizontalConfidence = if (horizontalPeaks.size + horizontalTroughs.size >= requiredExtremes) {
384376 val allExtremes = (horizontalPeaks + horizontalTroughs).sortedBy { it.first }
377+ calculateConfidenceScore(allExtremes, isVertical = false )
378+ } else 0.0
385379
386- val confidence = calculateConfidenceScore(allExtremes, isVertical = false )
380+ Log .d( TAG , " Confidence: vertical= $verticalConfidence horizontal= $horizontalConfidence (need $minConfidenceThreshold ) " )
387381
388- Log .d(TAG , " Horizontal motion confidence: $confidence (need $minConfidenceThreshold )" )
382+ val maxConfidence = max(verticalConfidence, horizontalConfidence)
383+ if (maxConfidence < minConfidenceThreshold) return null
389384
390- if (confidence >= minConfidenceThreshold) {
391- Log .d(TAG , " \" No\" Gesture Detected (confidence: $confidence , extremes: ${allExtremes.size} /$requiredExtremes )" )
392- return false
393- }
385+ return if (verticalConfidence >= horizontalConfidence) {
386+ Log .d(TAG , " \" Yes\" Gesture Detected (vertical=$verticalConfidence , horizontal=$horizontalConfidence )" )
387+ true
388+ } else {
389+ Log .d(TAG , " \" No\" Gesture Detected (vertical=$verticalConfidence , horizontal=$horizontalConfidence )" )
390+ false
394391 }
395-
396- return null
397392 }
398393
399394 private fun clearData () {
0 commit comments