Skip to content

Commit

Permalink
adds different vibration when cash recognitions is successfull or fai…
Browse files Browse the repository at this point in the history
…lure
  • Loading branch information
iamsannyrai committed Jul 18, 2021
1 parent 978c70c commit c7c8750
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 1 deletion.
1 change: 1 addition & 0 deletions android/app/src/main/AndroidManifest.xml
Expand Up @@ -9,6 +9,7 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<application
android:name="io.flutter.app.FlutterApplication"
android:label="Drishti Nepal"
Expand Down
2 changes: 2 additions & 0 deletions lib/main.dart
@@ -1,9 +1,11 @@
import 'package:drishti/src/utils/haptic_feedback.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:drishti/src/home/home_screen.dart';

void main() {
WidgetsFlutterBinding.ensureInitialized();
HapticFeedback.ensureInitialized();
runApp(MyApp());
}

Expand Down
8 changes: 8 additions & 0 deletions lib/src/cash_recognition/classifier.dart
@@ -1,3 +1,5 @@
import 'package:drishti/src/utils/haptic_feedback.dart';
import 'package:flutter_vibrate/flutter_vibrate.dart';
import 'package:tflite/tflite.dart';
import 'dart:async';
import 'package:drishti/src/utils/media_player.dart';
Expand Down Expand Up @@ -29,10 +31,16 @@ Future<void> classifyImage(String imagePath) async {
Note noteObj = Note(label: note);
await DatabaseHelper.instance.insert(noteObj);
playAudio(note);
if(HapticFeedback.canVibrate){
Vibrate.feedback(FeedbackType.success);
}
}
// else play [wrong.mp3]
else {
await MediaPlayer.playAudio(audiofile + 'wrong.mp3');
if(HapticFeedback.canVibrate){
Vibrate.feedback(FeedbackType.error);
}
}
}

Expand Down
12 changes: 12 additions & 0 deletions lib/src/utils/haptic_feedback.dart
@@ -0,0 +1,12 @@
import 'package:flutter_vibrate/flutter_vibrate.dart';

class HapticFeedback{
static bool canVibrate;

/// makes sure whether vibration is supported or not
/// this function runs only once preventing method call from being
/// called again and again.
static Future<void> ensureInitialized() async{
canVibrate = await Vibrate.canVibrate;
}
}
9 changes: 8 additions & 1 deletion pubspec.lock
Expand Up @@ -151,6 +151,13 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
flutter_vibrate:
dependency: "direct main"
description:
name: flutter_vibrate
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
flutter_web_plugins:
dependency: transitive
description: flutter
Expand Down Expand Up @@ -428,5 +435,5 @@ packages:
source: hosted
version: "2.2.1"
sdks:
dart: ">=2.12.0-0.0 <3.0.0"
dart: ">=2.12.0-259.8.beta <3.0.0"
flutter: ">=1.22.2"
1 change: 1 addition & 0 deletions pubspec.yaml
Expand Up @@ -31,6 +31,7 @@ dependencies:
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.0
flutter_vibrate: ^1.1.0

dev_dependencies:
google_fonts:
Expand Down

0 comments on commit c7c8750

Please sign in to comment.