fix: scheme storage on web.

dev
DebuggerX 3 years ago
parent e169078b6c
commit 7ef959f9f7

@ -2,6 +2,7 @@ import 'dart:convert';
import 'dart:html'; import 'dart:html';
import 'package:dde_gesture_manager/builder/provider_annotation.dart'; import 'package:dde_gesture_manager/builder/provider_annotation.dart';
import 'package:dde_gesture_manager/extensions.dart';
import 'package:dde_gesture_manager/models/local_schemes_provider.dart'; import 'package:dde_gesture_manager/models/local_schemes_provider.dart';
import 'package:dde_gesture_manager/models/scheme.dart'; import 'package:dde_gesture_manager/models/scheme.dart';
import 'package:uuid/uuid.dart'; import 'package:uuid/uuid.dart';
@ -22,12 +23,19 @@ class LocalSchemes implements LocalSchemesInterface<LocalSchemeEntryWeb> {
for (var key in window.localStorage.keys) { for (var key in window.localStorage.keys) {
if (key.startsWith('schemes.')) { if (key.startsWith('schemes.')) {
var content = window.localStorage[key] ?? ''; var content = window.localStorage[key] ?? '';
var schemeJson = json.decode(content); var schemeJson;
_localeSchemes.add(LocalSchemeEntryWeb( try {
path: key, schemeJson = json.decode(content);
scheme: Scheme.parse(schemeJson), } catch (e) {
lastModifyTime: DateTime.parse(schemeJson['modified_at']), e.sout();
)); }
if (schemes != null) {
_localeSchemes.add(LocalSchemeEntryWeb(
path: key,
scheme: Scheme.parse(schemeJson),
lastModifyTime: DateTime.parse(schemeJson['modified_at']),
));
}
} }
} }
return Future.value(_localeSchemes); return Future.value(_localeSchemes);

Loading…
Cancel
Save