From 6fef1985419483a9718889296e57393e4ee733fd Mon Sep 17 00:00:00 2001 From: Sad Ellie Date: Tue, 5 Sep 2023 13:29:38 +0300 Subject: [PATCH] Haptic feedback on delete button long press closes #84 --- .../unitto/core/ui/common/KeyboardButton.kt | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/KeyboardButton.kt b/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/KeyboardButton.kt index aa4493b4..0f663262 100644 --- a/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/KeyboardButton.kt +++ b/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/KeyboardButton.kt @@ -42,22 +42,22 @@ fun BasicKeyboardButton( icon: ImageVector, iconColor: Color, allowVibration: Boolean, - contentHeight: Float + contentHeight: Float, ) { val view = LocalView.current val coroutineScope = rememberCoroutineScope() + fun vibrate() { + if (allowVibration) { + coroutineScope.launch { + view.performHapticFeedback(HapticFeedbackConstants.KEYBOARD_TAP) + } + } + } UnittoButton( modifier = modifier, - onClick = { - onClick() - if (allowVibration) { - coroutineScope.launch { - view.performHapticFeedback(HapticFeedbackConstants.KEYBOARD_TAP) - } - } - }, - onLongClick = onLongClick, + onClick = { onClick(); vibrate() }, + onLongClick = if (onLongClick != null) { { onLongClick(); vibrate() } } else null, containerColor = containerColor, contentPadding = PaddingValues() ) { @@ -116,7 +116,7 @@ fun KeyboardButtonAdditional( icon: ImageVector, allowVibration: Boolean, onLongClick: (() -> Unit)? = null, - onClick: () -> Unit + onClick: () -> Unit, ) { BasicKeyboardButton( modifier = modifier, @@ -131,4 +131,5 @@ fun KeyboardButtonAdditional( } @Composable -private fun isPortrait() = LocalConfiguration.current.orientation == Configuration.ORIENTATION_PORTRAIT +private fun isPortrait() = + LocalConfiguration.current.orientation == Configuration.ORIENTATION_PORTRAIT