Skip to content

Commit 429afd3

Browse files
committed
feat: initialize UI state with current connection status upon ViewModel instantiation
1 parent 2d0cfb0 commit 429afd3

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

app/src/main/java/com/sameerasw/airsync/presentation/viewmodel/AirSyncViewModel.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,17 @@ class AirSyncViewModel(
131131
}
132132

133133
init {
134+
// Initialize current connection state immediately
135+
val isWsConnected = WebSocketUtil.isConnected()
136+
val isBleConnected = com.sameerasw.airsync.AirSyncApp.getBleConnectionManager()?.isAuthenticated == true
137+
val isGlobalConnected = isWsConnected || isBleConnected
138+
139+
_uiState.value = _uiState.value.copy(
140+
isConnected = isGlobalConnected,
141+
activeIp = if (isWsConnected) WebSocketUtil.currentIpAddress else null,
142+
macDeviceStatus = if (isGlobalConnected) MacDeviceStatusManager.macDeviceStatus.value else null
143+
)
144+
134145
// Register for WebSocket connection status updates
135146
WebSocketUtil.registerConnectionStatusListener(connectionStatusListener)
136147
try {

0 commit comments

Comments
 (0)