mirror of
https://github.com/immich-app/immich.git
synced 2024-12-23 02:06:15 +02:00
3c7f70ec30
* feat(mobile): haptic feedback testing * linting
57 lines
1.4 KiB
Dart
57 lines
1.4 KiB
Dart
import 'package:flutter/services.dart';
|
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
import 'package:immich_mobile/modules/settings/providers/app_settings.provider.dart';
|
|
import 'package:immich_mobile/modules/settings/services/app_settings.service.dart';
|
|
|
|
final hapticFeedbackProvider =
|
|
StateNotifierProvider<HapticNotifier, void>((ref) {
|
|
return HapticNotifier(ref);
|
|
});
|
|
|
|
class HapticNotifier extends StateNotifier<void> {
|
|
void build() {}
|
|
final Ref _ref;
|
|
|
|
HapticNotifier(this._ref) : super(null);
|
|
|
|
selectionClick() {
|
|
if (_ref
|
|
.read(appSettingsServiceProvider)
|
|
.getSetting(AppSettingsEnum.enableHapticFeedback)) {
|
|
HapticFeedback.selectionClick();
|
|
}
|
|
}
|
|
|
|
lightImpact() {
|
|
if (_ref
|
|
.read(appSettingsServiceProvider)
|
|
.getSetting(AppSettingsEnum.enableHapticFeedback)) {
|
|
HapticFeedback.lightImpact();
|
|
}
|
|
}
|
|
|
|
mediumImpact() {
|
|
if (_ref
|
|
.read(appSettingsServiceProvider)
|
|
.getSetting(AppSettingsEnum.enableHapticFeedback)) {
|
|
HapticFeedback.mediumImpact();
|
|
}
|
|
}
|
|
|
|
heavyImpact() {
|
|
if (_ref
|
|
.read(appSettingsServiceProvider)
|
|
.getSetting(AppSettingsEnum.enableHapticFeedback)) {
|
|
HapticFeedback.heavyImpact();
|
|
}
|
|
}
|
|
|
|
vibrate() {
|
|
if (_ref
|
|
.read(appSettingsServiceProvider)
|
|
.getSetting(AppSettingsEnum.enableHapticFeedback)) {
|
|
HapticFeedback.vibrate();
|
|
}
|
|
}
|
|
}
|