mirror of
https://github.com/aljazceru/Android-nRF-Toolbox.git
synced 2026-01-15 20:54:27 +01:00
Disconnect dfu device after redirection
This commit is contained in:
@@ -29,12 +29,12 @@ import no.nordicsemi.android.common.permissions.ble.RequireLocation
|
||||
import no.nordicsemi.android.common.permissions.notification.RequestNotificationPermission
|
||||
import no.nordicsemi.android.toolbox.lib.utils.Profile
|
||||
import no.nordicsemi.android.toolbox.profile.data.displayMessage
|
||||
import no.nordicsemi.android.toolbox.profile.view.dfu.DFUScreen
|
||||
import no.nordicsemi.android.toolbox.profile.view.battery.BatteryScreen
|
||||
import no.nordicsemi.android.toolbox.profile.view.bps.BPSScreen
|
||||
import no.nordicsemi.android.toolbox.profile.view.cgms.CGMScreen
|
||||
import no.nordicsemi.android.toolbox.profile.view.channelSounding.ChannelSoundingScreen
|
||||
import no.nordicsemi.android.toolbox.profile.view.cscs.CSCScreen
|
||||
import no.nordicsemi.android.toolbox.profile.view.dfu.DFUScreen
|
||||
import no.nordicsemi.android.toolbox.profile.view.directionFinder.DFSScreen
|
||||
import no.nordicsemi.android.toolbox.profile.view.gls.GLSScreen
|
||||
import no.nordicsemi.android.toolbox.profile.view.hrs.HRSScreen
|
||||
@@ -208,7 +208,7 @@ internal fun DeviceConnectedView(
|
||||
Profile.BATTERY -> BatteryScreen()
|
||||
Profile.THROUGHPUT -> ThroughputScreen(state.maxValueLength)
|
||||
Profile.UART -> UARTScreen(state.maxValueLength)
|
||||
Profile.DFU -> DFUScreen()
|
||||
Profile.DFU -> DFUScreen { onEvent(ConnectionEvent.DisconnectEvent) }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,10 +26,11 @@ import androidx.compose.ui.unit.dp
|
||||
import androidx.hilt.navigation.compose.hiltViewModel
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import no.nordicsemi.android.toolbox.profile.R
|
||||
import no.nordicsemi.android.toolbox.profile.viewmodel.ConnectionEvent
|
||||
import no.nordicsemi.android.toolbox.profile.viewmodel.DFUViewModel
|
||||
|
||||
@Composable
|
||||
internal fun DFUScreen() {
|
||||
internal fun DFUScreen(onRedirection: (ConnectionEvent.DisconnectEvent) -> Unit) {
|
||||
val dfuViewModel = hiltViewModel<DFUViewModel>()
|
||||
val dfuServiceState by dfuViewModel.dfuServiceState.collectAsStateWithLifecycle()
|
||||
val context = LocalContext.current
|
||||
@@ -91,6 +92,8 @@ internal fun DFUScreen() {
|
||||
onClick = {
|
||||
intent?.let { context.startActivity(it) }
|
||||
?: uriHandler.openUri(dfuApp.appLink)
|
||||
// Also disconnect from the current device.
|
||||
onRedirection(ConnectionEvent.DisconnectEvent)
|
||||
}
|
||||
) {
|
||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||
|
||||
Reference in New Issue
Block a user