Skip to content

Conversation

@wjdrjs00
Copy link
Collaborator

@wjdrjs00 wjdrjs00 commented Jan 10, 2026

Related issue 🛠

Work Description ✏️

  • 기억력 퀴즈 정답 STT 발화 이후 stop 로직이 누락되어 있던 문제를 수정했습니다.

Screenshot 📸

  • N/A

Uncompleted Tasks 😅

  • N/A

Summary by CodeRabbit

  • 버그 수정
    • 음성 인식 기능에서 음성 입력이 감지된 즉시 수신을 중지하도록 개선되었습니다. 이로 인해 감지된 입력 이후의 불필요한 음성 인식 이벤트가 처리되지 않으며, 사용자의 답변 확인 절차가 더욱 정확하고 안정적으로 수행됩니다.

✏️ Tip: You can customize this high-level summary in your review settings.

@wjdrjs00 wjdrjs00 self-assigned this Jan 10, 2026
@coderabbitai
Copy link

coderabbitai bot commented Jan 10, 2026

Walkthrough

STT(음성 인식) 성공 처리 분기에서 리스너를 중지하는 로직을 추가했습니다. 일일 퀴즈와 기억력 퀴즈 뷰모델의 STT 결과 처리 전에 stopListening() 호출을 삽입하고, 기억력 퀴즈 화면에서 경미한 형식 개선 및 함수 참조 간소화를 수행했습니다.

Changes

Cohort / File(s) 변경 요약
STT 리스너 중지 로직 추가
feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/daily/DailyQuizViewModel.kt, feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/memory/MemoryQuizViewModel.kt
STT 성공 분기에서 checkAnswer() 호출 직전에 stopListening() 추가하여 답변 검증 전 리스너 종료 보장
기억력 퀴즈 화면 개선
feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/memory/MemoryQuizScreen.kt
미리보기 레이아웃에서 후행 쉼표 추가, 함수 참조 직접 전달로 단순화, 미리보기 데이터 URL을 빈 문자열로 변경

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 음성이 끝나면 귀를 쫑긋,
정답 확인 전 듣기를 멈춰,
STT 리스너 고운 정리에
퀴즈 흐름 더욱 매끄럽게,
토끼의 미래 스포트라이트! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed 제목은 기억력 퀴즈의 누락된 STT StopListening 로직 추가에 관한 변경사항을 명확하게 설명하고 있으며, 풀 리퀘스트의 주요 변경 내용과 일치합니다.
Description check ✅ Passed 풀 리퀘스트 설명은 템플릿의 주요 섹션(관련 이슈, 작업 내용, 스크린샷, 미완료 작업)을 모두 포함하고 있으며, 필수 정보가 충실하게 기재되어 있습니다.
Linked Issues check ✅ Passed 코드 변경사항은 #75 이슈의 요구사항을 충족합니다. DailyQuizViewModel과 MemoryQuizViewModel에서 STT 성공 후 checkAnswer() 호출 전에 stopListening() 로직을 추가했습니다.
Out of Scope Changes check ✅ Passed MemoryQuizScreen.kt의 미리보기 데이터 조정(imageUrls 변경)과 formatting 변경은 주요 목표와 직접적인 연관이 없으나, 전체적으로는 이슈 범위 내 변경으로 볼 수 있습니다.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

📜 Recent review details

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6e41083 and 006bb1a.

📒 Files selected for processing (3)
  • feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/daily/DailyQuizViewModel.kt
  • feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/memory/MemoryQuizScreen.kt
  • feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/memory/MemoryQuizViewModel.kt
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Run Unit Tests
🔇 Additional comments (6)
feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/memory/MemoryQuizViewModel.kt (2)

72-76: LGTM! STT 결과 처리 전 리스너 중지 로직이 올바르게 추가되었습니다.

STT 성공 시 stopListening()을 호출하여 정답 확인 전에 리스너를 중지하는 것은 올바른 구현입니다. 이는 불필요한 STT 리소스 사용을 방지하고 중복 결과를 막습니다.


78-82: Android의 SpeechRecognizer는 에러 발생 시 자동으로 리스닝을 중지합니다.

AndroidSttManagerRecognitionListener.onError() 콜백(line 34-48)은 Android 프레임워크가 리스닝을 이미 중지한 후에 호출됩니다. 따라서 에러 상태에서는 stopListening()을 명시적으로 호출할 필요가 없습니다. 현재 구현은 적절합니다.

Likely an incorrect or invalid review comment.

feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/daily/DailyQuizViewModel.kt (1)

96-100: LGTM! MemoryQuizViewModel과 일관되게 구현되었습니다.

일일 퀴즈에서도 STT 성공 시 stopListening()을 호출하여 리스너를 중지하는 로직이 올바르게 추가되었습니다. MemoryQuizViewModel과 동일한 패턴으로 구현되어 코드베이스 전체의 일관성이 유지됩니다.

feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/memory/MemoryQuizScreen.kt (3)

107-110: LGTM! Kotlin 코딩 컨벤션에 따른 trailing comma 추가입니다.

Kotlin 스타일 가이드에 따라 trailing comma를 추가한 것은 좋은 코드 스타일 개선입니다.


126-131: LGTM! 불필요한 lambda wrapper를 제거하여 코드가 간결해졌습니다.

함수 참조를 직접 전달하는 것이 lambda로 감싸는 것보다 간결하고 idiomatic한 Kotlin 코드입니다.


154-154: LGTM! Preview 데이터 간소화입니다.

Preview에서 실제 URL 대신 빈 문자열을 사용하는 것은 적절한 변경입니다. 프로덕션 코드에는 영향이 없습니다.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@wjdrjs00 wjdrjs00 merged commit 9bf677f into develop Jan 10, 2026
4 checks passed
@wjdrjs00 wjdrjs00 deleted the fix/75-memory-quiz branch January 10, 2026 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Fix] 기억력 퀴즈 누락된 STT StopListening 로직을 추가합니다.

2 participants