buildContent method
- required BuildContext context,
- required PageChangeCallback<
ResetFaultsPage> setPage, - required int deviceId,
override
Implementation
@override
Widget buildContent({
required BuildContext context,
required PageChangeCallback<ResetFaultsPage> setPage,
required int deviceId,
}) {
return ActionStatusIndicator<void>(
action: () async {
final resetFaults = context.read(resetFaultsProvider);
await resetFaults(context: context, id: deviceId);
if (context.mounted) {
context.logEvent(
'remote_fault_resets',
parameters: {
'reset_faults': 'remote_fault_resets_count',
'target': 1,
},
);
}
const kResetFaultsDelay = Duration(seconds: 2);
await Future.delayed(kResetFaultsDelay);
if (!context.mounted) return;
await fullRefreshEventLog(context, deviceId);
// Refresh all devices to capture the potential change in state of
// the current device.
if (!context.mounted) return;
final refreshDevices = context.read(fullRefreshCachedDevicesProvider);
unawaited(refreshDevices(context));
},
onSuccess: (_) => setPage(const SuccessResetFaultsPage()),
onError: (_, __) => setPage(const ErrorResetFaultsPage()),
);
}