loadRangeFromLocal static method

void loadRangeFromLocal({
  1. List<String>? ranges,
})

Implementation

static void loadRangeFromLocal({List<String>? ranges}) async {
  if (ranges == null || ranges.isEmpty) {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    ranges = prefs.getStringList(_range) ?? [];
  }
  Common.mapRange = Map.fromIterable(
    ranges,
    key: (e) {
      String key = e as String;
      return key.split(_splitTable).first;
    },
    value: (e) {
      String dataset = e as String;
      return Map.fromIterable(
        dataset.split(_splitTable).last.split(_splitData),
        key: (e) {
          String key = e as String;
          return Methods.toInt(key.split(_splitValue).first);
        },
        value: (e) {
          String rangeValue = e as String;
          List<String> splits = rangeValue.split(_splitValue);
          double start = Methods.toDouble(splits[1]);
          double end = Methods.toDouble(splits[2]);
          String title = splits[3];
          return RangeValue(start, end, title: title);
        },
      );
    },
  );
  if (kDebugMode) {
    print('//===========================');
    print('load Range from local success');
    Common.mapRange.forEach((key, value) {
      if (kDebugMode) {
        print('||$key: ${value.length} item');
      }
    });
    print('\\\\===========================');
  }
}