From 03c81340055587153c1c85bb5750a71a96de0b48 Mon Sep 17 00:00:00 2001 From: arturplaczek Date: Thu, 28 Apr 2022 23:53:19 +0200 Subject: [PATCH] fix: precache images --- lib/game/view/pinball_game_page.dart | 2 +- lib/select_character/widgets/selected_character.dart | 6 +++++- test/select_character/widgets/selected_character_test.dart | 6 +++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/game/view/pinball_game_page.dart b/lib/game/view/pinball_game_page.dart index c7331888..2516022a 100644 --- a/lib/game/view/pinball_game_page.dart +++ b/lib/game/view/pinball_game_page.dart @@ -44,7 +44,7 @@ class PinballGamePage extends StatelessWidget { ...game.preLoadAssets(), pinballAudio.load(), ...BonusAnimation.loadAssets(), - ...SelectedCharacter.loadAssets(), + ...SelectedCharacter.loadAssets(context), ...StarAnimation.loadAssets(), ]; diff --git a/lib/select_character/widgets/selected_character.dart b/lib/select_character/widgets/selected_character.dart index b668c21e..72dffd6c 100644 --- a/lib/select_character/widgets/selected_character.dart +++ b/lib/select_character/widgets/selected_character.dart @@ -24,7 +24,7 @@ class SelectedCharacter extends StatefulWidget { State createState() => _SelectedCharacterState(); /// Returns a list of assets to be loaded. - static List loadAssets() { + static List loadAssets(BuildContext context) { Flame.images.prefix = ''; const dashTheme = DashTheme(); @@ -41,6 +41,10 @@ class SelectedCharacter extends StatefulWidget { Flame.images.load(androidTheme.background.keyName), Flame.images.load(dinoTheme.background.keyName), Flame.images.load(sparkyTheme.background.keyName), + precacheImage(AssetImage(dashTheme.background.keyName), context), + precacheImage(AssetImage(androidTheme.background.keyName), context), + precacheImage(AssetImage(dinoTheme.background.keyName), context), + precacheImage(AssetImage(sparkyTheme.background.keyName), context), ]; } } diff --git a/test/select_character/widgets/selected_character_test.dart b/test/select_character/widgets/selected_character_test.dart index 70ccf3fc..2f7ff22b 100644 --- a/test/select_character/widgets/selected_character_test.dart +++ b/test/select_character/widgets/selected_character_test.dart @@ -2,13 +2,17 @@ import 'package:bloc_test/bloc_test.dart'; import 'package:flame/flame.dart'; +import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:mocktail/mocktail.dart'; import 'package:pinball/select_character/select_character.dart'; import 'package:pinball_flame/pinball_flame.dart'; import 'package:pinball_theme/pinball_theme.dart'; import '../../helpers/helpers.dart'; +class MockBuildContext extends Mock implements BuildContext {} + void main() { TestWidgetsFlutterBinding.ensureInitialized(); @@ -31,7 +35,7 @@ void main() { group('SelectedCharacter', () { testWidgets('loadAssets method returns list of futures', (tester) async { - expect(SelectedCharacter.loadAssets(), isList); + expect(SelectedCharacter.loadAssets(MockBuildContext()), isList); }); testWidgets('renders selected character', (tester) async {