chore(cleanup): NIRS/VIVAMYO 세트 완전 제거 (Category A · 사용자 요청)
배경: NIRS 는 초기 iOS 앱에서 이식했으나 현재 완전 미사용. Piezo 만 실사용.
완전 제거 (6 파일):
· managers/NirsManager.kt (94 L)
· managers/NirsCalcEngine.kt (206 L)
· models/NirsConstants.kt (49 L)
· models/NirsData.kt (106 L · NirsMcjPacket · NirsMagResponse · NirsOxyResult)
· ui/views/monitoring/VivamyoMonitoringView.kt (497 L)
· ui/views/calibration/CalibrationView.kt (216 L) + calibration/ 디렉토리
부분 편집:
· AppState.kt — NirsManager import · NIRS_CALIBRATION/VIVAMYO_MONITORING enum ·
calibrationComplete() · sensor 분기 3곳 (goHome/enterDemoMode/
deviceConnected/backToMonitoring) 모두 PIEZO 로 단순화
· MainActivity.kt — CalibrationView/VivamyoMonitoringView import + Crossfade branch +
back-handler branch 삭제
· BleManager.kt — 콜백 4개 (onNirsPowerOn/SensorActivated/MagReceived/McjReceived) ·
sendRawWrite when-branch 4개 · NIRS Commands 섹션 5 함수 ·
RX branch 4개 삭제
· MeasurementService.kt — performNirsMeasurement 제거 · performMeasurement 단순화 ·
stop() 콜백 정리 · SensorMode 유지 (센서 추가 대비)
· SensorMode.kt — NIRS enum value 삭제 · PIEZO 만 남음 · UserStorage 는
valueOf 실패 시 PIEZO fallback 이라 마이그레이션 불필요
· SensorSelectView.kt — NIRS SensorCard 제거
· strings.xml × 2 — sensor_nirs_desc · calibration_* 10개 · vivamyo_* 17개 삭제
(calibration_continue 는 PiezoPersonalization 사용 → 유지)
합계: 약 1,300 LOC 감소.
빌드: BUILD SUCCESSFUL 17s.
This commit is contained in:
@@ -287,10 +287,6 @@ class BleManager private constructor(private val context: Context) {
|
||||
|
||||
// Callbacks
|
||||
var onConnectionStateChanged: ((Boolean) -> Unit)? = null
|
||||
var onNirsPowerOnReceived: (() -> Unit)? = null
|
||||
var onNirsSensorActivated: (() -> Unit)? = null
|
||||
var onNirsMagReceived: ((ByteArray) -> Unit)? = null
|
||||
var onNirsMcjReceived: ((ByteArray) -> Unit)? = null
|
||||
var onPiezoDataReceived: ((ByteArray) -> Unit)? = null
|
||||
var onUnexpectedDisconnect: (() -> Unit)? = null
|
||||
var onReconnectionFailed: (() -> Unit)? = null
|
||||
@@ -717,10 +713,6 @@ class BleManager private constructor(private val context: Context) {
|
||||
"mps" -> "piezo stop"
|
||||
"mec" -> "single burst"
|
||||
"msn" -> "battery query"
|
||||
"mta" -> if (data.size > 4 && data[4].toInt() == 1) "NIRS power ON" else "NIRS power OFF"
|
||||
"mqq" -> "NIRS activate"
|
||||
"mag" -> "NIRS gain query"
|
||||
"mcj" -> "NIRS MCJ query"
|
||||
"mid" -> "device info query"
|
||||
// mls 는 buildCommandBE 로 16bit BE 인코딩 → data[4]=High, data[5]=Low
|
||||
"mls" -> "LED mode ${
|
||||
@@ -831,28 +823,6 @@ class BleManager private constructor(private val context: Context) {
|
||||
return true
|
||||
}
|
||||
|
||||
// ── NIRS Commands ──
|
||||
|
||||
fun sendNirsPowerOn() {
|
||||
sendRaw(CRC16.buildCommandBE("mta", intArrayOf(1)))
|
||||
}
|
||||
|
||||
fun sendNirsPowerOff() {
|
||||
sendRaw(CRC16.buildCommandBE("mta", intArrayOf(0)))
|
||||
}
|
||||
|
||||
fun sendMqqQuery() {
|
||||
sendRaw(CRC16.buildCommandASCII("mqq", " "))
|
||||
}
|
||||
|
||||
fun sendMagQuery() {
|
||||
sendRaw(CRC16.buildCommandASCII("mag", " "))
|
||||
}
|
||||
|
||||
fun sendMcjQuery() {
|
||||
sendRaw(CRC16.buildCommandASCII("mcj", " "))
|
||||
}
|
||||
|
||||
// ── Common Commands ──
|
||||
|
||||
fun sendBatteryQuery() {
|
||||
@@ -1644,22 +1614,6 @@ class BleManager private constructor(private val context: Context) {
|
||||
val prefix = String(data, 0, minOf(4, data.size), Charsets.US_ASCII)
|
||||
logd { "Received: $prefix (${data.size} bytes)" }
|
||||
when (prefix) {
|
||||
"rta:", "rta!" -> {
|
||||
debugLogger.rx("rta", data.size, "piezo power ON")
|
||||
onNirsPowerOnReceived?.invoke()
|
||||
}
|
||||
"rsh:", "rsh!", "rqq:", "rqq!" -> {
|
||||
debugLogger.rx(prefix.take(3), data.size, "sensor activated")
|
||||
onNirsSensorActivated?.invoke()
|
||||
}
|
||||
"rag:", "rag!" -> {
|
||||
debugLogger.rx("rag", data.size, "gain calibration (${(data.size - 6) / 2} values)")
|
||||
onNirsMagReceived?.invoke(data)
|
||||
}
|
||||
"rcj:", "rcj!" -> {
|
||||
debugLogger.rx("rcj", data.size, "MCJ packet")
|
||||
onNirsMcjReceived?.invoke(data)
|
||||
}
|
||||
"rpa:" -> {
|
||||
debugLogger.rx("rpa", data.size, "piezo ack")
|
||||
onPiezoDataReceived?.invoke(data)
|
||||
|
||||
Reference in New Issue
Block a user