Закрытие соединения спектра
This commit is contained in:
parent
bd10b5b6b6
commit
df30906056
|
|
@ -1,5 +1,6 @@
|
||||||
package llc.arma.ble.app.ui.screen.inspection.accelerometer
|
package llc.arma.ble.app.ui.screen.inspection.accelerometer
|
||||||
|
|
||||||
|
import android.util.Log
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.material.ExperimentalMaterialApi
|
import androidx.compose.material.ExperimentalMaterialApi
|
||||||
import androidx.compose.material.ModalBottomSheetValue
|
import androidx.compose.material.ModalBottomSheetValue
|
||||||
|
|
@ -45,7 +46,6 @@ fun AccelerometerScreen(
|
||||||
|
|
||||||
val bottomDialog = rememberBottomDialogState()
|
val bottomDialog = rememberBottomDialogState()
|
||||||
|
|
||||||
|
|
||||||
LaunchedEffect(ble){
|
LaunchedEffect(ble){
|
||||||
viewModel.setEvent(AccelerometerContract.Event.OnBleChanged(ble))
|
viewModel.setEvent(AccelerometerContract.Event.OnBleChanged(ble))
|
||||||
}
|
}
|
||||||
|
|
@ -57,7 +57,10 @@ fun AccelerometerScreen(
|
||||||
LaunchedEffect(
|
LaunchedEffect(
|
||||||
key1 = bottomDialog.sheetState?.currentValue,
|
key1 = bottomDialog.sheetState?.currentValue,
|
||||||
block = {
|
block = {
|
||||||
|
Log.d("sheet", bottomDialog.sheetState?.currentValue.toString())
|
||||||
if(bottomDialog.sheetState?.currentValue == ModalBottomSheetValue.Hidden) {
|
if(bottomDialog.sheetState?.currentValue == ModalBottomSheetValue.Hidden) {
|
||||||
|
Log.d("sheet", "dispose")
|
||||||
|
bottomDialog.setContent({})
|
||||||
sheetPage = null
|
sheetPage = null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -74,6 +74,15 @@ fun AccelerometerHistory(
|
||||||
viewModel.setEvent(AccelerometerHistoryContract.Event.OnStart(ble.serial, accelMode, fftAxis, fftMode, frequency, accelScale))
|
viewModel.setEvent(AccelerometerHistoryContract.Event.OnStart(ble.serial, accelMode, fftAxis, fftMode, frequency, accelScale))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DisposableEffect(key1 = "ble", effect = {
|
||||||
|
|
||||||
|
onDispose {
|
||||||
|
Log.d("history", "dispose")
|
||||||
|
viewModel.setEvent(AccelerometerHistoryContract.Event.StopMeasure)
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier.fillMaxHeight(0.9f)
|
modifier = Modifier.fillMaxHeight(0.9f)
|
||||||
) {
|
) {
|
||||||
|
|
@ -306,6 +315,8 @@ class AccelerometerHistoryContract {
|
||||||
|
|
||||||
sealed class Event : ViewEvent {
|
sealed class Event : ViewEvent {
|
||||||
|
|
||||||
|
object StopMeasure : Event()
|
||||||
|
|
||||||
data class OnStart(
|
data class OnStart(
|
||||||
val serial: String,
|
val serial: String,
|
||||||
val accelMode: AccelViewMode,
|
val accelMode: AccelViewMode,
|
||||||
|
|
@ -362,6 +373,7 @@ class AccelerometerHistoryViewModel @Inject constructor(
|
||||||
when(event){
|
when(event){
|
||||||
is AccelerometerHistoryContract.Event.OnStart -> reduce(viewState.value, event)
|
is AccelerometerHistoryContract.Event.OnStart -> reduce(viewState.value, event)
|
||||||
is AccelerometerHistoryContract.Event.OnRefreshHistory -> reduce(viewState.value, event)
|
is AccelerometerHistoryContract.Event.OnRefreshHistory -> reduce(viewState.value, event)
|
||||||
|
is AccelerometerHistoryContract.Event.StopMeasure -> reduce(viewState.value, event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -411,9 +423,6 @@ class AccelerometerHistoryViewModel @Inject constructor(
|
||||||
|
|
||||||
val currentState = viewState.value
|
val currentState = viewState.value
|
||||||
|
|
||||||
Log.d("currentState", currentState.toString())
|
|
||||||
|
|
||||||
|
|
||||||
if(currentState is AccelerometerHistoryContract.State.Display) {
|
if(currentState is AccelerometerHistoryContract.State.Display) {
|
||||||
|
|
||||||
it.fold(
|
it.fold(
|
||||||
|
|
@ -483,4 +492,11 @@ class AccelerometerHistoryViewModel @Inject constructor(
|
||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun reduce(
|
||||||
|
state: AccelerometerHistoryContract.State,
|
||||||
|
event: AccelerometerHistoryContract.Event.StopMeasure
|
||||||
|
) {
|
||||||
|
job?.cancel()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package llc.arma.ble.app.ui.screen.inspection.accelerometer.view
|
package llc.arma.ble.app.ui.screen.inspection.accelerometer.view
|
||||||
|
|
||||||
|
import android.util.Log
|
||||||
import androidx.compose.animation.core.tween
|
import androidx.compose.animation.core.tween
|
||||||
import androidx.compose.foundation.layout.*
|
import androidx.compose.foundation.layout.*
|
||||||
import androidx.compose.material3.*
|
import androidx.compose.material3.*
|
||||||
|
|
@ -62,9 +63,10 @@ fun AccelerometerMeasure(
|
||||||
|
|
||||||
viewModel.setEvent(AccelerometerMeasureContract.Event.OnStart(ble.serial, accelScale, accelMode, fftAxis, fftMode, frequency))
|
viewModel.setEvent(AccelerometerMeasureContract.Event.OnStart(ble.serial, accelScale, accelMode, fftAxis, fftMode, frequency))
|
||||||
|
|
||||||
DisposableEffect(key1 = ble, effect = {
|
DisposableEffect(key1 = "ble", effect = {
|
||||||
|
|
||||||
onDispose {
|
onDispose {
|
||||||
|
Log.d("measure", "dispose")
|
||||||
viewModel.setEvent(AccelerometerMeasureContract.Event.StopMeasure)
|
viewModel.setEvent(AccelerometerMeasureContract.Event.StopMeasure)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -323,6 +325,7 @@ class AccelerometerMeasureViewModel @Inject constructor(
|
||||||
event: AccelerometerMeasureContract.Event.StopMeasure
|
event: AccelerometerMeasureContract.Event.StopMeasure
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
|
||||||
measureJob?.cancel()
|
measureJob?.cancel()
|
||||||
measureJob = null
|
measureJob = null
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -600,6 +600,7 @@ class BleRepositoryImpl @Inject constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
awaitClose {
|
awaitClose {
|
||||||
|
Log.d("measure", "close")
|
||||||
gatt?.close()
|
gatt?.close()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue