read method

  1. @override
Future<GlassQuality?> read()
override

Reads the previously-persisted quality, or null if none has been saved yet (e.g. first launch).

Implementation

@override
Future<GlassQuality?> read() async {
  final prefs = await SharedPreferences.getInstance();
  final name = prefs.getString(key);
  if (name == null) return null;
  for (final quality in GlassQuality.values) {
    if (quality.name == name) return quality;
  }
  // Unknown/stale value (e.g. from a future enum member) — ignore it
  // rather than throwing, so Phase 2 just re-benchmarks normally.
  return null;
}