| // Copyright 2014 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // ignore_for_file: avoid_print |
| import 'package:flutter/services.dart' show rootBundle; |
| |
| // Only run the code once for each version. |
| String lastVersion = ''; |
| |
| class AssetData { |
| const AssetData(this.version, this.found, this.notFound); |
| final String version; |
| final Map<String, String> found; |
| final List<String> notFound; |
| } |
| |
| Future<AssetData?> loadAppAssets() async { |
| const version = 'version1'; // @version |
| if (lastVersion == version) { |
| return null; |
| } |
| lastVersion = version; |
| |
| final found = <String, String>{}; |
| final notFound = <String>[]; |
| final assets = <String>['packages/data_asset_app/data/id1.txt']; // @assets |
| for (final assetId in assets) { |
| try { |
| found[assetId] = await rootBundle.loadString(assetId); |
| } catch (e) { |
| print('EXCEPTION $e'); |
| notFound.add(assetId); |
| } |
| } |
| |
| return AssetData(version, found, notFound); |
| } |