diff options
author | hunteraraujo <hunter_araujo@msn.com> | 2023-10-10 15:33:52 -0700 |
---|---|---|
committer | hunteraraujo <hunter_araujo@msn.com> | 2023-10-10 15:33:52 -0700 |
commit | 8245433d7f7cc4a8aecf18985812b62e46b92ca0 (patch) | |
tree | 4015454b596ed8a1f6f32ee640e6688b8daaf21d /frontend | |
parent | Refactor SettingsViewModel to use SharedPreferencesService (diff) | |
download | Auto-GPT-8245433d7f7cc4a8aecf18985812b62e46b92ca0.tar.gz Auto-GPT-8245433d7f7cc4a8aecf18985812b62e46b92ca0.tar.bz2 Auto-GPT-8245433d7f7cc4a8aecf18985812b62e46b92ca0.zip |
Refactor TaskViewModel to use SharedPreferencesService
Diffstat (limited to 'frontend')
-rw-r--r-- | frontend/lib/main.dart | 8 | ||||
-rw-r--r-- | frontend/lib/viewmodels/task_viewmodel.dart | 11 |
2 files changed, 12 insertions, 7 deletions
diff --git a/frontend/lib/main.dart b/frontend/lib/main.dart index 2bf634693..452aacb34 100644 --- a/frontend/lib/main.dart +++ b/frontend/lib/main.dart @@ -102,8 +102,12 @@ class MyApp extends StatelessWidget { create: (context) => ChatViewModel( Provider.of<ChatService>(context, listen: false))), ChangeNotifierProvider( - create: (context) => TaskViewModel( - Provider.of<TaskService>(context, listen: false))), + create: (context) => TaskViewModel( + Provider.of<TaskService>(context, listen: false), + Provider.of<SharedPreferencesService>(context, + listen: false), + ), + ), ChangeNotifierProvider( create: (context) => SkillTreeViewModel()), ChangeNotifierProvider( diff --git a/frontend/lib/viewmodels/task_viewmodel.dart b/frontend/lib/viewmodels/task_viewmodel.dart index b08047406..94d8bf94d 100644 --- a/frontend/lib/viewmodels/task_viewmodel.dart +++ b/frontend/lib/viewmodels/task_viewmodel.dart @@ -1,6 +1,7 @@ import 'dart:convert'; import 'package:auto_gpt_flutter_client/models/task.dart'; import 'package:auto_gpt_flutter_client/models/test_suite.dart'; +import 'package:auto_gpt_flutter_client/services/shared_preferences_service.dart'; import 'package:flutter/foundation.dart'; import 'package:collection/collection.dart'; import 'package:auto_gpt_flutter_client/services/task_service.dart'; @@ -10,6 +11,7 @@ import 'package:shared_preferences/shared_preferences.dart'; // TODO: How will all these functions work with test suites? class TaskViewModel with ChangeNotifier { final TaskService _taskService; + final SharedPreferencesService _prefsService; List<Task> _tasks = []; List<TestSuite> _testSuites = []; @@ -19,7 +21,7 @@ class TaskViewModel with ChangeNotifier { Task? _selectedTask; TestSuite? _selectedTestSuite; - TaskViewModel(this._taskService); + TaskViewModel(this._taskService, this._prefsService); /// Returns the currently selected task. Task? get selectedTask => _selectedTask; @@ -107,10 +109,9 @@ class TaskViewModel with ChangeNotifier { // Helper method to save test suites to SharedPreferences Future<void> _saveTestSuitesToPrefs() async { - final prefs = await SharedPreferences.getInstance(); final testSuitesToStore = _testSuites.map((testSuite) => jsonEncode(testSuite.toJson())).toList(); - prefs.setStringList('testSuites', testSuitesToStore); + await _prefsService.setStringList('testSuites', testSuitesToStore); } // Adds a new test suite and saves it to SharedPreferences @@ -123,8 +124,8 @@ class TaskViewModel with ChangeNotifier { // Fetch test suites from SharedPreferences Future<void> fetchTestSuites() async { - final prefs = await SharedPreferences.getInstance(); - final storedTestSuites = prefs.getStringList('testSuites') ?? []; + final storedTestSuites = + await _prefsService.getStringList('testSuites') ?? []; _testSuites = storedTestSuites .map((testSuiteMap) => TestSuite.fromJson(jsonDecode(testSuiteMap))) .toList(); |