diff --git a/app/src/main/java/com/example/medilightv2android/AppState.kt b/app/src/main/java/com/example/medilightv2android/AppState.kt index 762cfcc..e216934 100644 --- a/app/src/main/java/com/example/medilightv2android/AppState.kt +++ b/app/src/main/java/com/example/medilightv2android/AppState.kt @@ -82,8 +82,10 @@ class AppState(private val context: Context) { fun goHome() { NirsManager.instance.stopStreaming() NirsManager.instance.reset() - if (!isDemoMode) bleManager.disconnect() - isDeviceConnected = false + // 회의 결정: 실제 BLE 연결은 HOME에서도 유지. 다음 Start 시 설정/scan skip하고 + // 바로 PiezoMonitoring으로 진입할 수 있도록. + // Demo 모드는 가짜 연결이므로 isDeviceConnected reset. + if (isDemoMode) isDeviceConnected = false isDemoMode = false currentScreen = AppScreen.HOME } @@ -101,8 +103,9 @@ class AppState(private val context: Context) { fun startFromHome() { sensorMode = SensorMode.PIEZO storage.sensorMode = SensorMode.PIEZO - // 페어링 완료 상태에서도 Personalization부터 시작해야 함 — Monitoring 직행 버그 fix - currentScreen = if (isDeviceConnected) AppScreen.PIEZO_PERSONALIZATION else AppScreen.DEVICE_SCAN + // 회의 결정: 이미 연결된 상태이면 설정/Placement skip하고 바로 도넛차트. + // 연결되지 않은 상태에서만 DeviceScan부터 일련의 과정 진행. + currentScreen = if (isDeviceConnected) AppScreen.PIEZO_MONITORING else AppScreen.DEVICE_SCAN } fun selectSensor(mode: SensorMode) { diff --git a/app/src/main/java/com/example/medilightv2android/ui/views/home/HomeView.kt b/app/src/main/java/com/example/medilightv2android/ui/views/home/HomeView.kt index 23e14a0..a5ea3b2 100644 --- a/app/src/main/java/com/example/medilightv2android/ui/views/home/HomeView.kt +++ b/app/src/main/java/com/example/medilightv2android/ui/views/home/HomeView.kt @@ -80,6 +80,21 @@ fun HomeView(appState: AppState) { val versionName = context.packageManager.getPackageInfo(context.packageName, 0).versionName Text(versionName ?: "", fontSize = 12.sp, color = MlSecondaryText.copy(alpha = 0.5f)) + Spacer(modifier = Modifier.height(8.dp)) + + // BLE 연결 상태 chip — 연결 유지 정책에서 사용자가 인지 가능하도록 + if (appState.isDeviceConnected) { + Text( + "● Connected — Start to resume", + fontSize = 12.sp, + fontWeight = FontWeight.SemiBold, + color = Color(0xFF4CAF50), + modifier = Modifier + .background(Color(0xFF4CAF50).copy(alpha = 0.12f), RoundedCornerShape(8.dp)) + .padding(horizontal = 10.dp, vertical = 4.dp) + ) + } + Spacer(modifier = Modifier.weight(1f)) Button(