fbdevTryStep function

Future<bool> fbdevTryStep(
  1. FutureOr<void> step()
)

Runs step, swallowing any error so a platform service that's unavailable on the minimal embedder (shared_preferences, audio, haptics, Game Center, …) can't abort startup. Wrap each risky bootstrap call. Returns true on success.

await fbdevTryStep(() => settings.load());
await fbdevTryStep(() => progress.load());

Implementation

Future<bool> fbdevTryStep(FutureOr<void> Function() step) async {
  try {
    await step();
    return true;
  } catch (_) {
    return false;
  }
}