diff --git a/lib/helper/utils.dart b/lib/helper/utils.dart index 7b97e5c4..0d706f4e 100644 --- a/lib/helper/utils.dart +++ b/lib/helper/utils.dart @@ -2,24 +2,11 @@ import 'dart:convert'; import 'dart:io'; import 'dart:typed_data'; -// import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:flutter_vibrate/flutter_vibrate.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:google_api_availability/google_api_availability.dart'; - -// import 'package:mohem_flutter_app/app_state/app_state.dart'; -// import 'package:mohem_flutter_app/classes/colors.dart'; -// import 'package:mohem_flutter_app/config/routes.dart'; -// import 'package:mohem_flutter_app/exceptions/api_exception.dart'; -// import 'package:mohem_flutter_app/extensions/int_extensions.dart'; -// import 'package:mohem_flutter_app/extensions/string_extensions.dart'; -// import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; -// import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; -// import 'package:mohem_flutter_app/widgets/dialogs/confirm_dialog.dart'; -// import 'package:mohem_flutter_app/widgets/loading_dialog.dart'; +import 'package:haptic_feedback/haptic_feedback.dart'; import 'package:nfc_manager/nfc_manager.dart'; import 'package:nfc_manager/nfc_manager_android.dart' show NfcAAndroid, NfcBAndroid; import 'package:nfc_manager/nfc_manager_ios.dart' show MiFareIos, Iso15693Ios; @@ -81,9 +68,9 @@ class Utils { } static void hapticFeedback() async { - bool canVibrate = await Vibrate.canVibrate; + bool canVibrate = await Haptics.canVibrate(); if (canVibrate) { - Vibrate.feedback(FeedbackType.heavy); + Haptics.vibrate(HapticsType.heavy, useAndroidHapticConstants: Platform.isAndroid); } } diff --git a/lib/views/widgets/qr/asset_scan_qr.dart b/lib/views/widgets/qr/asset_scan_qr.dart index b35b085d..03ba6062 100644 --- a/lib/views/widgets/qr/asset_scan_qr.dart +++ b/lib/views/widgets/qr/asset_scan_qr.dart @@ -1,4 +1,3 @@ - import 'dart:async'; import 'dart:io'; import 'package:flutter/material.dart'; @@ -133,13 +132,13 @@ class _AssetScanQrState extends State { setState(() { _scanning = true; }); - + Utils.hapticFeedback(); final result = await _getDevice(scanData, isQr: true); + await Future.delayed(const Duration(milliseconds: 250)); setState(() { _scanning = false; }); - Utils.hapticFeedback(); if (result.isNotEmpty) { if (widget.multiSelection) { @@ -177,13 +176,12 @@ class _AssetScanQrState extends State { setState(() { _scanning = true; }); - + Utils.hapticFeedback(); final result = await _getDevice(code, isQr: true); - + await Future.delayed(const Duration(milliseconds: 250)); setState(() { _scanning = false; }); - Utils.hapticFeedback(); if (result.isNotEmpty) { if (widget.multiSelection) { Navigator.of(context).pop([result[0]]); diff --git a/pubspec.yaml b/pubspec.yaml index d4b29e02..2a3b1d5e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -107,7 +107,7 @@ dependencies: signalr_netcore: ^1.4.4 ellipsized_text: ^2.0.0 local_auth_darwin: ^1.4.0 - flutter_vibrate: ^1.4.0 + haptic_feedback: ^0.6.4+3 dev_dependencies: flutter_test: @@ -125,7 +125,8 @@ flutter_icons: # The following section is specific to Flutter. flutter: - + config: + enable-swift-package-manager: false # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class.