Integrate voiding diary into Piezo catheterization flow

Catheterize button now opens a voiding record sheet with 3 input modes:
- Manual: number TextField (1-1000ml)
- Voice: SpeechRecognizer + VolumeParser (Korean/English)
- Camera: placeholder for YOLO cup measurement (TODO)

On save: "배뇨일지에 등록되었습니다" toast, bladder level resets to 0

New modules (from Uridiary):
- measure/: SimpleMeasureService, YoloDetector, CCPosition, VoidingRecord
- speech/: SpeechRecognizerManager, VolumeParser, HfVolumeExtractor
- assets/urinecup_best.onnx: YOLO model for cup detection

VoidingRecordStore: local SharedPreferences+JSON storage for voiding records

Dependencies added: ONNX Runtime, ML Kit OCR, CameraX, OkHttp
Permissions added: CAMERA, RECORD_AUDIO, INTERNET

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-02 11:47:59 +09:00
parent 064f1d1f8d
commit c15fcfccca
12 changed files with 1408 additions and 3 deletions
+10
View File
@@ -57,6 +57,16 @@ dependencies {
implementation(libs.androidx.security.crypto)
implementation(libs.rive.android)
implementation(libs.androidx.startup.runtime)
// 소변컵 측정 모듈
implementation("com.microsoft.onnxruntime:onnxruntime-android:1.17.0") // YOLO
implementation("com.google.mlkit:text-recognition:16.0.1") // OCR
implementation("androidx.camera:camera-core:1.3.4") // CameraX
implementation("androidx.camera:camera-camera2:1.3.4")
implementation("androidx.camera:camera-lifecycle:1.3.4")
implementation("androidx.camera:camera-view:1.3.4")
implementation("com.squareup.okhttp3:okhttp:4.12.0") // HF API
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)