Skip to content

Commit a287cb6

Browse files
committed
Copy file aset audio notifikasi reminder not track ke file system
1 parent db4f433 commit a287cb6

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

lib/feature/presentation/page/home/home_page.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,12 @@ import 'package:dipantau_desktop_client/feature/presentation/widget/widget_error
2929
import 'package:dipantau_desktop_client/injection_container.dart';
3030
import 'package:easy_localization/easy_localization.dart';
3131
import 'package:flutter/material.dart';
32+
import 'package:flutter/services.dart';
3233
import 'package:flutter_bloc/flutter_bloc.dart';
3334
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
3435
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
3536
import 'package:go_router/go_router.dart';
37+
import 'package:path_provider/path_provider.dart';
3638
import 'package:tray_manager/tray_manager.dart';
3739
import 'package:window_manager/window_manager.dart';
3840

@@ -99,6 +101,7 @@ class _HomePageState extends State<HomePage> with TrayListener, WindowListener {
99101
setupWindow();
100102
setupTray();
101103
doStartActivityListener();
104+
checkAssetAudio();
102105
notificationHelper.requestPermissionNotification();
103106
WidgetsBinding.instance.addPostFrameCallback((_) async {
104107
try {
@@ -1059,4 +1062,22 @@ class _HomePageState extends State<HomePage> with TrayListener, WindowListener {
10591062
},
10601063
);
10611064
}
1065+
1066+
void checkAssetAudio() async {
1067+
// Copy file audio dari aset ke /Library/Sounds [macOS]
1068+
final bytes = await rootBundle.load('assets/audio/hasta_la_vista.aiff');
1069+
final libraryDirectory = await getLibraryDirectory();
1070+
final directory = Directory('${libraryDirectory.path}/sounds');
1071+
final pathDirectory = directory.path;
1072+
final buffer = bytes.buffer;
1073+
final fileAudioReminderNotTrack = File('$pathDirectory/hasta_la_vista.aiff');
1074+
if (!fileAudioReminderNotTrack.existsSync()) {
1075+
fileAudioReminderNotTrack.writeAsBytes(
1076+
buffer.asUint8List(
1077+
bytes.offsetInBytes,
1078+
buffer.lengthInBytes,
1079+
),
1080+
);
1081+
}
1082+
}
10621083
}

0 commit comments

Comments
 (0)