From 61f0bb80c1e57a6cd416c001d58d30ae291bace5 Mon Sep 17 00:00:00 2001 From: Jonathan Daniels Date: Fri, 29 Apr 2022 11:40:36 -0700 Subject: [PATCH] feat(platform_helper): import platform helper into pinball --- .../view/character_selection_page.dart | 2 +- lib/start_game/widgets/how_to_play_dialog.dart | 13 +++++++++---- pubspec.lock | 7 +++++++ pubspec.yaml | 2 ++ 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/lib/select_character/view/character_selection_page.dart b/lib/select_character/view/character_selection_page.dart index 9392c515..284659ba 100644 --- a/lib/select_character/view/character_selection_page.dart +++ b/lib/select_character/view/character_selection_page.dart @@ -56,7 +56,7 @@ class CharacterSelectionView extends StatelessWidget { child: SizedBox( height: height, width: height * 1.4, - child: const HowToPlayDialog(), + child: HowToPlayDialog(), ), ), ); diff --git a/lib/start_game/widgets/how_to_play_dialog.dart b/lib/start_game/widgets/how_to_play_dialog.dart index 4f714b26..1665d35d 100644 --- a/lib/start_game/widgets/how_to_play_dialog.dart +++ b/lib/start_game/widgets/how_to_play_dialog.dart @@ -2,12 +2,12 @@ import 'dart:async'; -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:pinball/gen/gen.dart'; import 'package:pinball/l10n/l10n.dart'; import 'package:pinball/theme/theme.dart'; import 'package:pinball_ui/pinball_ui.dart'; +import 'package:platform_helper/platform_helper.dart'; @visibleForTesting enum Control { @@ -52,7 +52,13 @@ extension on Control { } class HowToPlayDialog extends StatefulWidget { - const HowToPlayDialog({Key? key}) : super(key: key); + HowToPlayDialog({ + Key? key, + @visibleForTesting PlatformHelper? platformHelper, + }) : platformHelper = platformHelper ?? PlatformHelper(), + super(key: key); + + final PlatformHelper platformHelper; @override State createState() => _HowToPlayDialogState(); @@ -78,8 +84,7 @@ class _HowToPlayDialogState extends State { @override Widget build(BuildContext context) { - final isMobile = defaultTargetPlatform == TargetPlatform.iOS || - defaultTargetPlatform == TargetPlatform.android; + final isMobile = widget.platformHelper.isMobile; return PixelatedDecoration( header: const _HowToPlayHeader(), body: isMobile ? const _MobileBody() : const _DesktopBody(), diff --git a/pubspec.lock b/pubspec.lock index 4b71c77b..ab39378a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -513,6 +513,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "3.1.0" + platform_helper: + dependency: "direct main" + description: + path: "packages/platform_helper" + relative: true + source: path + version: "1.0.0+1" plugin_platform_interface: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index f129ea19..51c85cd5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -37,6 +37,8 @@ dependencies: path: packages/pinball_theme pinball_ui: path: packages/pinball_ui + platform_helper: + path: packages/platform_helper dev_dependencies: bloc_test: ^9.0.2