@@ -39,6 +39,7 @@ import androidx.compose.material.icons.filled.QrCodeScanner
3939import androidx.compose.material.icons.filled.LinkOff
4040import androidx.compose.material.icons.outlined.Phonelink
4141import androidx.compose.material.icons.outlined.Settings
42+ import androidx.lifecycle.compose.LocalLifecycleOwner
4243import androidx.lifecycle.viewmodel.compose.viewModel
4344import com.sameerasw.airsync.presentation.viewmodel.AirSyncViewModel
4445import com.sameerasw.airsync.utils.ClipboardSyncManager
@@ -95,6 +96,7 @@ fun AirSyncMainScreen(
9596 val deviceInfo by viewModel.deviceInfo.collectAsState()
9697 val scope = rememberCoroutineScope()
9798 val haptics = LocalHapticFeedback .current
99+ val lifecycle = LocalLifecycleOwner .current.lifecycle
98100 val connectScrollState = rememberScrollState()
99101 val settingsScrollState = rememberScrollState()
100102 var hasProcessedQrDialog by remember { mutableStateOf(false ) }
@@ -306,8 +308,7 @@ fun AirSyncMainScreen(
306308 // Start/stop loading haptics when connecting
307309 LaunchedEffect (uiState.isConnecting) {
308310 if (uiState.isConnecting) {
309- loadingHapticsJob?.cancel()
310- loadingHapticsJob = HapticUtil .startLoadingHaptics(haptics)
311+ loadingHapticsJob = HapticUtil .startLoadingHaptics(haptics, lifecycle)
311312 } else {
312313 loadingHapticsJob?.cancel()
313314 loadingHapticsJob = null
0 commit comments