Coverage Summary for Class: ForcedHapticFeedbackKt (com.vsevolodganin.clicktrack.utils.compose)

Class Method, % Branch, % Line, % Instruction, %
ForcedHapticFeedbackKt 0% (0/2) 0% (0/6) 0% (0/7) 0% (0/103)
ForcedHapticFeedbackKt$ForcedHapticFeedback$1 0% (0/2) 0% (0/6) 0% (0/7) 0% (0/26)
Total 0% (0/4) 0% (0/12) 0% (0/14) 0% (0/129)


 package com.vsevolodganin.clicktrack.utils.compose
 
 import android.os.Build
 import android.view.HapticFeedbackConstants
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.CompositionLocalProvider
 import androidx.compose.ui.hapticfeedback.HapticFeedback
 import androidx.compose.ui.hapticfeedback.HapticFeedbackType
 import androidx.compose.ui.hapticfeedback.HapticFeedbackType.Companion.LongPress
 import androidx.compose.ui.hapticfeedback.HapticFeedbackType.Companion.TextHandleMove
 import androidx.compose.ui.platform.LocalHapticFeedback
 import androidx.compose.ui.platform.LocalView
 
 @Composable
 actual fun ForcedHapticFeedback(content: @Composable () -> Unit) {
     val view = LocalView.current
     CompositionLocalProvider(
         LocalHapticFeedback provides object : HapticFeedback {
             override fun performHapticFeedback(hapticFeedbackType: HapticFeedbackType) {
                 view.performHapticFeedback(
                     when (hapticFeedbackType) {
                         LongPress -> HapticFeedbackConstants.LONG_PRESS
                         TextHandleMove -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
                             HapticFeedbackConstants.TEXT_HANDLE_MOVE
                         } else {
                             return
                         }
 
                         else -> return
                     },
                     @Suppress("DEPRECATION") // TODO: Fix deprecation
                     HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING,
                 )
             }
         },
     ) {
         content()
     }
 }