shake method

Future<void> shake()

Implementation

Future<void> shake() async {
  _controller.forward(from: 0.0);

  switch (config.vibrationType) {
    case VibrationType.none:
      return;
    case VibrationType.haptic:
      HapticFeedback.heavyImpact();
      break;
    case VibrationType.custom:
      try {
        final supportsPattern = await Vibration.hasCustomVibrationsSupport();
        if (supportsPattern &&
            config.pattern != null &&
            config.intensities != null) {
          await Vibration.vibrate(
            pattern: config.pattern ?? [0, 40, 80, 40, 80, 40],
            intensities: config.intensities ?? [180, 0, 180, 0, 180, 0],
          );
        } else {
          HapticFeedback.mediumImpact();
        }
      } catch (_) {
        HapticFeedback.mediumImpact();
      }
      break;
  }
}