import 'dart:io'; import 'package:vibration/vibration.dart'; class HapticsService { const HapticsService(); Future quickVibration() async => _tryVibrate(duration: 25, amplitude: 96); Future responseVibration() async => _tryVibrate(duration: 50, amplitude: 128); Future errorVibration() async => _tryVibrate(duration: 100, amplitude: 128); Future _tryVibrate({required int duration, required int amplitude}) async { if (await _canVibrate()) { if (Platform.isAndroid) { await Vibration.vibrate( duration: duration, amplitude: amplitude, ); } else { await Vibration.vibrate( pattern: [duration], intensities: [amplitude], ); } } } Future _canVibrate() async => await Vibration.hasVibrator() ?? false; }