saveAndRefresh method Null safety

Future<bool> saveAndRefresh(
  1. {required dynamic context,
  2. required dynamic localDatabase,
  3. required dynamic product}
)

Implementation

Future<bool> saveAndRefresh({
  required final BuildContext context,
  required final LocalDatabase localDatabase,
  required final Product product,
}) async {
  final AppLocalizations appLocalizations = AppLocalizations.of(context);
  final bool? savedAndRefreshed = await LoadingDialog.run<bool>(
    future: _saveAndRefresh(product, localDatabase),
    context: context,
    title: appLocalizations.nutrition_page_update_running,
  );
  if (savedAndRefreshed == null) {
    // probably the end user stopped the dialog
    return false;
  }
  if (!savedAndRefreshed) {
    await LoadingDialog.error(context: context);
    return false;
  }
  await showDialog<void>(
    context: context,
    builder: (BuildContext context) => SmoothAlertDialog(
      body: Text(appLocalizations.nutrition_page_update_done),
      actions: <SmoothActionButton>[
        SmoothActionButton(
          text: appLocalizations.okay,
          onPressed: () => Navigator.of(context).pop(),
        ),
      ],
    ),
  );
  return true;
}