Add haptic feedback to voice message record button (#1686)
This commit is contained in:
parent
84ddef3e6c
commit
b1fffdc9e9
1 changed files with 19 additions and 3 deletions
|
|
@ -21,8 +21,10 @@ import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.hapticfeedback.HapticFeedbackType
|
||||||
import androidx.compose.ui.input.pointer.PointerEventType
|
import androidx.compose.ui.input.pointer.PointerEventType
|
||||||
import androidx.compose.ui.input.pointer.pointerInput
|
import androidx.compose.ui.input.pointer.pointerInput
|
||||||
|
import androidx.compose.ui.platform.LocalHapticFeedback
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
|
|
@ -47,12 +49,26 @@ internal fun RecordButton(
|
||||||
) {
|
) {
|
||||||
val coroutineScope = rememberCoroutineScope()
|
val coroutineScope = rememberCoroutineScope()
|
||||||
val pressState = rememberPressState()
|
val pressState = rememberPressState()
|
||||||
|
val hapticFeedback = LocalHapticFeedback.current
|
||||||
|
|
||||||
|
val performHapticFeedback = {
|
||||||
|
hapticFeedback.performHapticFeedback(HapticFeedbackType.LongPress)
|
||||||
|
}
|
||||||
|
|
||||||
PressStateEffects(
|
PressStateEffects(
|
||||||
pressState = pressState.value,
|
pressState = pressState.value,
|
||||||
onPressStart = onPressStart,
|
onPressStart = {
|
||||||
onLongPressEnd = onLongPressEnd,
|
onPressStart()
|
||||||
onTap = onTap,
|
performHapticFeedback()
|
||||||
|
},
|
||||||
|
onLongPressEnd = {
|
||||||
|
onLongPressEnd()
|
||||||
|
performHapticFeedback()
|
||||||
|
},
|
||||||
|
onTap = {
|
||||||
|
onTap()
|
||||||
|
performHapticFeedback()
|
||||||
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
RecordButtonView(
|
RecordButtonView(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue