bsky-app/patches/expo-haptics+12.8.1.md
Hailey 740cd029d7
Improve Android haptic, offer toggle for haptics in the app (#3482)
* improve android haptics, offer toggle for haptics

* update haptics.ts

* default to false

* simplify to `playHaptic`

* just leave them as `feedInfo`

* use a hook for `playHaptic`

* missed one of them
2024-04-11 15:20:26 -07:00

955 B

Expo Haptics Patch

Whenever we migrated to Expo Haptics, there was a difference between how the previous and new libraries handled the Android implementation of an iOS "light" haptic. The previous library used the Vibration API solely, which does not have any configuration for intensity of vibration. The Vibration API has also been deprecated since SDK 26. See: https://github.com/mkuczera/react-native-haptic-feedback/blob/master/android/src/main/java/com/mkuczera/vibrateFactory/VibrateWithDuration.java

Expo Haptics is using VibrationManager API on SDK >= 31. See: https://github.com/expo/expo/blob/main/packages/expo-haptics/android/src/main/java/expo/modules/haptics/HapticsModule.kt#L19 The timing and intensity of their haptic configurations though differs greatly from the original implementation. This patch uses the new VibrationManager API to create the same vibration that would have been seen in the deprecated Vibration API.