TKK_E32220332/lib/services/recording_service.dart

34 lines
1.2 KiB
Dart

import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
class RecordingService extends ChangeNotifier {
// Membuat Singleton
static final RecordingService _instance = RecordingService._internal();
factory RecordingService() => _instance;
RecordingService._internal() {
// Saat file ini pertama kali dipanggil (saat app dibuka),
// langsung cek ke dalam memori hardisk HP!
_loadStatusDariMemoriHP();
}
bool isRecording = false; // Status bawaan
// FUNGSI BARU: Membaca status terakhir dari dalam HP
Future<void> _loadStatusDariMemoriHP() async {
final prefs = await SharedPreferences.getInstance();
// Jika ada catatan sebelumnya, pakai itu. Jika tidak, anggap false.
isRecording = prefs.getBool('status_perekaman') ?? false;
notifyListeners(); // Beritahu layar untuk update UI
}
// FUNGSI DIUPDATE: Mengubah status DAN menyimpannya ke memori HP
Future<void> setRecordingStatus(bool status) async {
isRecording = status;
notifyListeners(); // Beritahu layar untuk update tombol
// Simpan ke hardisk HP agar tahan banting walau app di-close paksa!
final prefs = await SharedPreferences.getInstance();
await prefs.setBool('status_perekaman', status);
}
}