updateTaskListIcon function

Future<void> updateTaskListIcon(
  1. dynamic context,
  2. dynamic ref,
  3. dynamic taskList,
  4. dynamic color,
  5. dynamic acterIcon,
)

Implementation

Future<void> updateTaskListIcon(
    BuildContext context,
    WidgetRef ref,
    TaskList taskList,
    Color color,
    ActerIcon acterIcon,
) async {
  EasyLoading.show(status: L10n.of(context).updatingIcon);

  // TaskList IconData
  final sdk = await ref.watch(sdkProvider.future);
  final displayBuilder = sdk.api.newDisplayBuilder();
  displayBuilder.color(color.value);
  displayBuilder.icon('acter-icon', acterIcon.name);

  final updateBuilder = taskList.updateBuilder();
  updateBuilder.display(displayBuilder.build());

  try {
    await updateBuilder.send();
    EasyLoading.dismiss();
    ref.invalidate(taskListProvider);
    if (!context.mounted) return;
  } catch (e, s) {
    _log.severe('Failed to rename tasklist', e, s);
    if (!context.mounted) {
      EasyLoading.dismiss();
      return;
    }
    EasyLoading.showError(
      L10n.of(context).updatingTaskFailed(e),
      duration: const Duration(seconds: 3),
    );
  }
}