Improve the code.
This commit is contained in:
parent
60cb0806fa
commit
31fc60f40e
1 changed files with 15 additions and 15 deletions
|
|
@ -12,7 +12,6 @@ import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.LaunchedEffect
|
import androidx.compose.runtime.LaunchedEffect
|
||||||
import androidx.compose.runtime.MutableState
|
import androidx.compose.runtime.MutableState
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.remember
|
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.runtime.saveable.rememberSaveable
|
import androidx.compose.runtime.saveable.rememberSaveable
|
||||||
import dev.zacsweers.metro.AppScope
|
import dev.zacsweers.metro.AppScope
|
||||||
|
|
@ -62,16 +61,6 @@ class DefaultRageshakeDetectionPresenter(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val state = remember(preferencesState, isStarted.value, takeScreenshot.value, showDialog.value) {
|
|
||||||
RageshakeDetectionState(
|
|
||||||
isStarted = isStarted.value,
|
|
||||||
takeScreenshot = takeScreenshot.value,
|
|
||||||
showDialog = showDialog.value,
|
|
||||||
preferenceState = preferencesState,
|
|
||||||
eventSink = ::handleEvent,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
LaunchedEffect(preferencesState.sensitivity) {
|
LaunchedEffect(preferencesState.sensitivity) {
|
||||||
rageShake.setSensitivity(preferencesState.sensitivity)
|
rageShake.setSensitivity(preferencesState.sensitivity)
|
||||||
}
|
}
|
||||||
|
|
@ -83,14 +72,25 @@ class DefaultRageshakeDetectionPresenter(
|
||||||
!showDialog.value
|
!showDialog.value
|
||||||
|
|
||||||
LaunchedEffect(shouldStart) {
|
LaunchedEffect(shouldStart) {
|
||||||
handleRageShake(shouldStart, state, takeScreenshot)
|
handleRageShake(
|
||||||
|
start = shouldStart,
|
||||||
|
sensitivity = preferencesState.sensitivity,
|
||||||
|
takeScreenshot = takeScreenshot,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
return state
|
|
||||||
|
return RageshakeDetectionState(
|
||||||
|
isStarted = isStarted.value,
|
||||||
|
takeScreenshot = takeScreenshot.value,
|
||||||
|
showDialog = showDialog.value,
|
||||||
|
preferenceState = preferencesState,
|
||||||
|
eventSink = ::handleEvent,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun handleRageShake(start: Boolean, state: RageshakeDetectionState, takeScreenshot: MutableState<Boolean>) {
|
private fun handleRageShake(start: Boolean, sensitivity: Float, takeScreenshot: MutableState<Boolean>) {
|
||||||
if (start) {
|
if (start) {
|
||||||
rageShake.start(state.preferenceState.sensitivity)
|
rageShake.start(sensitivity)
|
||||||
rageShake.setInterceptor {
|
rageShake.setInterceptor {
|
||||||
takeScreenshot.value = true
|
takeScreenshot.value = true
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue