initialQuality property
The quality to start at, skipping Phase 2 (the warm-up benchmark).
When non-null, the adapter jumps directly to Phase 3 (runtime hysteresis) using this quality as the starting point — eliminating the ~3-second warm-up jank window on repeat launches.
Use this to restore a persisted quality across cold starts:
// In main.dart — persist settled quality to SharedPreferences:
final prefs = await SharedPreferences.getInstance();
final saved = prefs.getString('glass_quality');
final initial = saved != null
? GlassQuality.values.byName(saved)
: null; // null = run Phase 2 on first launch
runApp(LiquidGlassWidgets.wrap(
const MyApp(),
adaptiveQuality: true,
adaptiveConfig: GlassAdaptiveScopeConfig(
initialQuality: initial,
allowStepUp: true,
onQualityChanged: (_, to) => prefs.setString('glass_quality', to.name),
),
));
Within a single app process, GlassQualityAdapter._sessionSettledQuality
also auto-skips Phase 2 on remounts — no extra code required.
Implementation
final GlassQuality? initialQuality;