Browse Source

修改设备设置

weicu
tanlongsheng 11 months ago
parent
commit
e47f2e338a
  1. 14
      lib/modules/eq_settings/controllers/eq_settings_controller.dart
  2. 21
      lib/modules/eq_settings/views/widgets/select_equalizer_widget.dart

14
lib/modules/eq_settings/controllers/eq_settings_controller.dart

@ -1,5 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import '../../../core/utils/logger.dart'; import '../../../core/utils/logger.dart';
import '../../../routes/app_routes.dart'; import '../../../routes/app_routes.dart';
@ -187,6 +188,19 @@ class EqSettingsController extends GetxController {
} }
].obs; ].obs;
final GetStorage _storage = GetStorage();
@override
void onInit() {
super.onInit();
final List equalizerOptions = _storage.read('equalizer_options') ?? [];
if (equalizerOptions.isNotEmpty) {
List options =
equalizerOptions.map((e) => Map<String, Object>.from(e)).toList();
uiList[0]['templates'][0]['options'].addAll(options);
}
}
Widget getTemplate(Map data) { Widget getTemplate(Map data) {
return switch (data['type']) { return switch (data['type']) {
'equalizer' => RowEqualizerWidget(data), 'equalizer' => RowEqualizerWidget(data),

21
lib/modules/eq_settings/views/widgets/select_equalizer_widget.dart

@ -2,6 +2,7 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import 'settings_input_widget.dart'; import 'settings_input_widget.dart';
@ -21,12 +22,16 @@ class _SelectEqualizerWidgetState extends State<SelectEqualizerWidget> {
bool isEdit = false; bool isEdit = false;
final GetStorage _storage = GetStorage();
List _equalizerOptions = [];
@override @override
void initState() { void initState() {
super.initState(); super.initState();
if (_templateData['value'].isNotEmpty) { if (_templateData['value'].isNotEmpty) {
_values = List.from(_templateData['value']); _values = List.from(_templateData['value']);
} }
_equalizerOptions = _storage.read('equalizer_options') ?? [];
} }
@override @override
@ -244,6 +249,9 @@ class _SelectEqualizerWidgetState extends State<SelectEqualizerWidget> {
_templateData['value'] = []; _templateData['value'] = [];
_templateData['onCallback']([]); _templateData['onCallback']([]);
} }
_equalizerOptions.removeWhere(
(e) => listEquals(e['value'], option['value']));
_storage.write('equalizer_options', _equalizerOptions);
setState(() { setState(() {
_templateData['options'].remove(option); _templateData['options'].remove(option);
}); });
@ -281,12 +289,15 @@ class _SelectEqualizerWidgetState extends State<SelectEqualizerWidget> {
), ),
).then((value) { ).then((value) {
if (value != null) { if (value != null) {
Map<String, Object> option = {
'label': value,
'value': List.from(_values),
'default': false,
};
_equalizerOptions.add(option);
_storage.write('equalizer_options', _equalizerOptions);
setState(() { setState(() {
_templateData['options'].add(<String, Object>{ _templateData['options'].add(option);
'label': value,
'value': List.from(_values),
'default': false,
});
}); });
} }
}); });

Loading…
Cancel
Save