| // Copyright 2013 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. |
| |
| import 'package:flutter/material.dart'; |
| import 'package:flutter/services.dart'; |
| import 'package:windows_unit_tests/windows_unit_tests.dart'; |
| |
| // ignore_for_file: public_member_api_docs |
| |
| void main() { |
| runApp(const MyApp()); |
| } |
| |
| class MyApp extends StatefulWidget { |
| const MyApp({Key? key}) : super(key: key); |
| |
| @override |
| State<MyApp> createState() => _MyAppState(); |
| } |
| |
| class _MyAppState extends State<MyApp> { |
| bool _result = false; |
| |
| @override |
| void initState() { |
| super.initState(); |
| initPlatformState(); |
| } |
| |
| // Platform messages are asynchronous, so we initialize in an async method. |
| Future<void> initPlatformState() async { |
| bool result; |
| // Platform messages may fail, so we use a try/catch PlatformException. |
| // We also handle the message potentially returning null. |
| try { |
| result = await WindowsUnitTests.checkPlaceholder ?? false; |
| } on PlatformException { |
| result = false; |
| } |
| |
| // If the widget was removed from the tree while the asynchronous platform |
| // message was in flight, we want to discard the reply rather than calling |
| // setState to update our non-existent appearance. |
| if (!mounted) { |
| return; |
| } |
| |
| setState(() { |
| _result = result; |
| }); |
| } |
| |
| @override |
| Widget build(BuildContext context) { |
| return MaterialApp( |
| home: Scaffold( |
| appBar: AppBar( |
| title: const Text('Plugin example app'), |
| ), |
| body: Center( |
| child: Text('Placeholder: $_result\n'), |
| ), |
| ), |
| ); |
| } |
| } |