mirror of
https://github.com/aljazceru/Auto-GPT.git
synced 2025-12-17 14:04:27 +01:00
Refactor TaskViewModel to use SharedPreferencesService
This commit is contained in:
@@ -103,7 +103,11 @@ class MyApp extends StatelessWidget {
|
|||||||
Provider.of<ChatService>(context, listen: false))),
|
Provider.of<ChatService>(context, listen: false))),
|
||||||
ChangeNotifierProvider(
|
ChangeNotifierProvider(
|
||||||
create: (context) => TaskViewModel(
|
create: (context) => TaskViewModel(
|
||||||
Provider.of<TaskService>(context, listen: false))),
|
Provider.of<TaskService>(context, listen: false),
|
||||||
|
Provider.of<SharedPreferencesService>(context,
|
||||||
|
listen: false),
|
||||||
|
),
|
||||||
|
),
|
||||||
ChangeNotifierProvider(
|
ChangeNotifierProvider(
|
||||||
create: (context) => SkillTreeViewModel()),
|
create: (context) => SkillTreeViewModel()),
|
||||||
ChangeNotifierProvider(
|
ChangeNotifierProvider(
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
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/test_suite.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:flutter/foundation.dart';
|
||||||
import 'package:collection/collection.dart';
|
import 'package:collection/collection.dart';
|
||||||
import 'package:auto_gpt_flutter_client/services/task_service.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?
|
// TODO: How will all these functions work with test suites?
|
||||||
class TaskViewModel with ChangeNotifier {
|
class TaskViewModel with ChangeNotifier {
|
||||||
final TaskService _taskService;
|
final TaskService _taskService;
|
||||||
|
final SharedPreferencesService _prefsService;
|
||||||
|
|
||||||
List<Task> _tasks = [];
|
List<Task> _tasks = [];
|
||||||
List<TestSuite> _testSuites = [];
|
List<TestSuite> _testSuites = [];
|
||||||
@@ -19,7 +21,7 @@ class TaskViewModel with ChangeNotifier {
|
|||||||
Task? _selectedTask;
|
Task? _selectedTask;
|
||||||
TestSuite? _selectedTestSuite;
|
TestSuite? _selectedTestSuite;
|
||||||
|
|
||||||
TaskViewModel(this._taskService);
|
TaskViewModel(this._taskService, this._prefsService);
|
||||||
|
|
||||||
/// Returns the currently selected task.
|
/// Returns the currently selected task.
|
||||||
Task? get selectedTask => _selectedTask;
|
Task? get selectedTask => _selectedTask;
|
||||||
@@ -107,10 +109,9 @@ class TaskViewModel with ChangeNotifier {
|
|||||||
|
|
||||||
// Helper method to save test suites to SharedPreferences
|
// Helper method to save test suites to SharedPreferences
|
||||||
Future<void> _saveTestSuitesToPrefs() async {
|
Future<void> _saveTestSuitesToPrefs() async {
|
||||||
final prefs = await SharedPreferences.getInstance();
|
|
||||||
final testSuitesToStore =
|
final testSuitesToStore =
|
||||||
_testSuites.map((testSuite) => jsonEncode(testSuite.toJson())).toList();
|
_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
|
// Adds a new test suite and saves it to SharedPreferences
|
||||||
@@ -123,8 +124,8 @@ class TaskViewModel with ChangeNotifier {
|
|||||||
|
|
||||||
// Fetch test suites from SharedPreferences
|
// Fetch test suites from SharedPreferences
|
||||||
Future<void> fetchTestSuites() async {
|
Future<void> fetchTestSuites() async {
|
||||||
final prefs = await SharedPreferences.getInstance();
|
final storedTestSuites =
|
||||||
final storedTestSuites = prefs.getStringList('testSuites') ?? [];
|
await _prefsService.getStringList('testSuites') ?? [];
|
||||||
_testSuites = storedTestSuites
|
_testSuites = storedTestSuites
|
||||||
.map((testSuiteMap) => TestSuite.fromJson(jsonDecode(testSuiteMap)))
|
.map((testSuiteMap) => TestSuite.fromJson(jsonDecode(testSuiteMap)))
|
||||||
.toList();
|
.toList();
|
||||||
|
|||||||
Reference in New Issue
Block a user