load method

Future<void> load()

Implementation

Future<void> load() async {
  final prefs = await SharedPreferences.getInstance();
  final raw = prefs.getString(storageKey);
  var printers = const <TargetPrinter>[];
  if (raw != null && raw.isNotEmpty) {
    try {
      printers = (jsonDecode(raw) as List)
          .whereType<Map>()
          .map((m) => TargetPrinter.fromJson(m.cast<String, dynamic>()))
          .toList(growable: false);
    } catch (_) {
      printers = const [];
    }
  }
  _printers = printers;
  _facts = _readFacts(prefs.getString('$storageKey.facts'));
  final table = prefs.getString('$storageKey.model_table');
  if (table != null && table.isNotEmpty) {
    try {
      await _printing.setModelTable(table);
    } catch (_) {}
  }
  _loaded = true;
  await _printing.setPrinters(_printers);
  notifyListeners();
}