From a6f3fe46903d7111e823d23a3eeaf479f809ab48 Mon Sep 17 00:00:00 2001 From: eulaly Date: Tue, 12 May 2026 08:31:13 -0400 Subject: [PATCH] init icon list empty instead of late --- lib/screens/iconpicker.dart | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/lib/screens/iconpicker.dart b/lib/screens/iconpicker.dart index 4521c30..166579c 100644 --- a/lib/screens/iconpicker.dart +++ b/lib/screens/iconpicker.dart @@ -1,6 +1,5 @@ -import 'dart:convert'; -import 'dart:async'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; class IconPicker extends StatefulWidget { IconPicker({super.key}); @@ -12,12 +11,8 @@ class IconPicker extends StatefulWidget { } class _IconPickerState extends State { - late Future manifestJson; - late List icons; - late List iconList; - late List items; - - TextEditingController editingController = TextEditingController(); + List icons = []; + List items = []; @override void initState() { @@ -26,14 +21,19 @@ class _IconPickerState extends State { } Future> loadAssets() async { - final manifestJson = - await DefaultAssetBundle.of(context).loadString('AssetManifest.json'); - // ignore: no_leading_underscores_for_local_identifiers - final _icons = await json - .decode(manifestJson) - .keys - .where((String key) => key.startsWith('images/car_icons/')) - .toList(); + List _icons = []; + try { + final assetManifest = await AssetManifest.loadFromAssetBundle(rootBundle); + _icons = assetManifest + .listAssets() + .where((String key) => key.startsWith('images/car_icons/')) + .toList(); + } catch (error) { + print('unable to load car icon assets: $error'); + } + if (!mounted) { + return _icons; + } setState(() { icons = _icons; items = _icons;