diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/RecordButton.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/RecordButton.kt index 7c70dd1ef6..f8dd6dc05f 100644 --- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/RecordButton.kt +++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/RecordButton.kt @@ -21,8 +21,10 @@ import androidx.compose.foundation.layout.size import androidx.compose.runtime.Composable import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier +import androidx.compose.ui.hapticfeedback.HapticFeedbackType import androidx.compose.ui.input.pointer.PointerEventType import androidx.compose.ui.input.pointer.pointerInput +import androidx.compose.ui.platform.LocalHapticFeedback import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import io.element.android.libraries.designsystem.preview.ElementPreview @@ -47,12 +49,26 @@ internal fun RecordButton( ) { val coroutineScope = rememberCoroutineScope() val pressState = rememberPressState() + val hapticFeedback = LocalHapticFeedback.current + + val performHapticFeedback = { + hapticFeedback.performHapticFeedback(HapticFeedbackType.LongPress) + } PressStateEffects( pressState = pressState.value, - onPressStart = onPressStart, - onLongPressEnd = onLongPressEnd, - onTap = onTap, + onPressStart = { + onPressStart() + performHapticFeedback() + }, + onLongPressEnd = { + onLongPressEnd() + performHapticFeedback() + }, + onTap = { + onTap() + performHapticFeedback() + }, ) RecordButtonView(