Refactor TaskService to use SharedPreferencesService

This commit is contained in:
hunteraraujo
2023-10-10 12:35:34 -07:00
parent fc915d0469
commit 0eb476c3fa
2 changed files with 9 additions and 10 deletions

View File

@@ -47,9 +47,9 @@ void main() async {
update: (context, restApiUtility, chatService) => update: (context, restApiUtility, chatService) =>
ChatService(restApiUtility), ChatService(restApiUtility),
), ),
ProxyProvider<RestApiUtility, TaskService>( ProxyProvider2<RestApiUtility, SharedPreferencesService, TaskService>(
update: (context, restApiUtility, taskService) => update: (context, restApiUtility, prefsService, taskService) =>
TaskService(restApiUtility), TaskService(restApiUtility, prefsService),
), ),
ProxyProvider<RestApiUtility, BenchmarkService>( ProxyProvider<RestApiUtility, BenchmarkService>(
update: (context, restApiUtility, benchmarkService) => update: (context, restApiUtility, benchmarkService) =>

View File

@@ -1,15 +1,17 @@
import 'package:auto_gpt_flutter_client/models/task.dart'; import 'package:auto_gpt_flutter_client/models/task.dart';
import 'package:auto_gpt_flutter_client/models/task_request_body.dart'; import 'package:auto_gpt_flutter_client/models/task_request_body.dart';
import 'package:auto_gpt_flutter_client/models/task_response.dart'; import 'package:auto_gpt_flutter_client/models/task_response.dart';
import 'package:auto_gpt_flutter_client/services/shared_preferences_service.dart';
import 'package:auto_gpt_flutter_client/utils/rest_api_utility.dart'; import 'package:auto_gpt_flutter_client/utils/rest_api_utility.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
/// Service class for performing task-related operations. /// Service class for performing task-related operations.
class TaskService { class TaskService {
final RestApiUtility api; final RestApiUtility api;
final SharedPreferencesService prefsService;
List<String> _deletedTaskIds = []; List<String> _deletedTaskIds = [];
TaskService(this.api); TaskService(this.api, this.prefsService);
/// Creates a new task. /// Creates a new task.
/// ///
@@ -84,17 +86,14 @@ class TaskService {
} }
Future<void> loadDeletedTasks() async { Future<void> loadDeletedTasks() async {
SharedPreferences prefs = await SharedPreferences.getInstance(); _deletedTaskIds = await prefsService.getStringList('deletedTasks') ?? [];
_deletedTaskIds = prefs.getStringList('deletedTasks') ?? [];
// Print out all deleted task IDs
print("Deleted tasks fetched successfully!"); print("Deleted tasks fetched successfully!");
} }
void saveDeletedTask(String taskId) { void saveDeletedTask(String taskId) {
_deletedTaskIds.add(taskId); _deletedTaskIds.add(taskId);
SharedPreferences.getInstance() prefsService.setStringList('deletedTasks', _deletedTaskIds);
.then((prefs) => prefs.setStringList('deletedTasks', _deletedTaskIds)); print("Task $taskId deleted successfully!");
} }
bool isTaskDeleted(String taskId) { bool isTaskDeleted(String taskId) {