fix
This commit is contained in:
parent
40d71223ae
commit
ba5bde24e1
@ -1,4 +1,4 @@
|
|||||||
import 'dart:convert' show jsonDecode;
|
import 'dart:convert' show jsonDecode, jsonEncode;
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
@ -28,6 +28,7 @@ class _EditSettingsScreenState extends State<EditSettingsScreen> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return UISettingsWidget(
|
return UISettingsWidget(
|
||||||
|
origSettings: jsonDecode(jsonEncode(snapshot.requireData)),
|
||||||
settings: snapshot.requireData,
|
settings: snapshot.requireData,
|
||||||
showAdvanced: false,
|
showAdvanced: false,
|
||||||
);
|
);
|
||||||
@ -56,7 +57,6 @@ class _EditSettingsScreenState extends State<EditSettingsScreen> {
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
// UISettingsWidget(settings: {}, showAdvanced: false),
|
|
||||||
@override
|
@override
|
||||||
void setState(VoidCallback fn) {
|
void setState(VoidCallback fn) {
|
||||||
if (!mounted) {
|
if (!mounted) {
|
||||||
|
@ -16,8 +16,10 @@ import 'package:settings_ui/settings_ui.dart';
|
|||||||
class UISettingsWidget extends StatefulWidget {
|
class UISettingsWidget extends StatefulWidget {
|
||||||
final bool showAdvanced;
|
final bool showAdvanced;
|
||||||
final Map<String, dynamic> settings;
|
final Map<String, dynamic> settings;
|
||||||
|
final Map<String, dynamic> origSettings;
|
||||||
const UISettingsWidget({
|
const UISettingsWidget({
|
||||||
super.key,
|
super.key,
|
||||||
|
required this.origSettings,
|
||||||
required this.settings,
|
required this.settings,
|
||||||
required this.showAdvanced,
|
required this.showAdvanced,
|
||||||
});
|
});
|
||||||
@ -27,8 +29,6 @@ class UISettingsWidget extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _UISettingsWidgetState extends State<UISettingsWidget> {
|
class _UISettingsWidgetState extends State<UISettingsWidget> {
|
||||||
late Map<String, dynamic> _origSettings;
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
List<SettingsTile> commonSettings = [];
|
List<SettingsTile> commonSettings = [];
|
||||||
@ -100,7 +100,12 @@ class _UISettingsWidgetState extends State<UISettingsWidget> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
if (!DeepCollectionEquality().equals(widget.settings, _origSettings)) {
|
debugPrint('current: ${jsonEncode(widget.settings)}');
|
||||||
|
debugPrint('orig: ${jsonEncode(widget.origSettings)}');
|
||||||
|
if (!DeepCollectionEquality().equals(
|
||||||
|
widget.settings,
|
||||||
|
widget.origSettings,
|
||||||
|
)) {
|
||||||
http
|
http
|
||||||
.put(
|
.put(
|
||||||
Uri.parse(
|
Uri.parse(
|
||||||
@ -118,12 +123,6 @@ class _UISettingsWidgetState extends State<UISettingsWidget> {
|
|||||||
super.dispose();
|
super.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
void initState() {
|
|
||||||
_origSettings = jsonDecode(jsonEncode(widget.settings));
|
|
||||||
super.initState();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void setState(VoidCallback fn) {
|
void setState(VoidCallback fn) {
|
||||||
if (!mounted) {
|
if (!mounted) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user