|
- import 'dart:async';
-
- import 'package:bloc/bloc.dart';
- import 'package:equatable/equatable.dart';
- import 'dart:io';
- import 'package:path_provider/path_provider.dart';
- import 'package:path/path.dart';
- import 'package:unitstocks/main.dart';
- import '../../../Utils/keys.dart';
-
- part 'clear_data_event.dart';
- part 'clear_data_state.dart';
-
- class ClearDataBloc extends Bloc<ClearDataEvent, ClearDataState> {
- ClearDataBloc() : super(ClearDataInitial()) {
- on<ClearDataEvent>((event, emit) async{
- if(event is ClearDataInit){
- emit(ClearDataLoading());
- try{
- Directory? documentsDirectory = await getExternalStorageDirectory();
- String path = join(documentsDirectory!.path, "UnitStocking.db");
- File db = File(path);
- if(db.existsSync()){
- db.deleteSync();
- }
- await prefs.remove(Keys.lastDownload);
- await prefs.remove(Keys.lastUpload);
- await prefs.remove(Keys.targetProccess);
- await prefs.remove(Keys.submitProccess);
- await prefs.remove(Keys.stockId);
- emit(ClearDataFinish(msg: 'Data Cleared'));
- }
- catch(e){
- emit(ClearDataFinish(cleared: false, msg: 'Failed to delete database file'));
- }
- }
- });
- }
- }
|