updatePinIcon function
Future<void>
updatePinIcon( - dynamic context,
- dynamic ref,
- dynamic pin,
- dynamic color,
- dynamic acterIcon,
)
Implementation
Future<void> updatePinIcon(
BuildContext context,
WidgetRef ref,
ActerPin pin,
Color color,
ActerIcon acterIcon,
) async {
try {
EasyLoading.show(status: L10n.of(context).updatingIcon);
// Pin 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 = pin.updateBuilder();
updateBuilder.display(displayBuilder.build());
await updateBuilder.send();
EasyLoading.dismiss();
ref.invalidate(pinProvider);
if (!context.mounted) return;
} catch (e, s) {
_log.severe('Failed to change icon of pin', e, s);
if (!context.mounted) {
EasyLoading.dismiss();
return;
}
EasyLoading.showError(
L10n.of(context).updateNameFailed(e),
duration: const Duration(seconds: 3),
);
}
}