mirror of
				https://github.com/immich-app/immich.git
				synced 2025-11-03 19:17:11 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			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/providers/app_settings.provider.dart';
 | 
						|
import 'package:immich_mobile/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();
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 |