// 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. import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter_driver/driver_extension.dart'; import 'src/system_navigation.dart'; import 'src/test_step.dart'; void main() { enableFlutterDriverExtension(); runApp(const TestApp()); } class TestApp extends StatefulWidget { const TestApp({super.key}); @override State createState() => _TestAppState(); } class _TestAppState extends State { static final List steps = [() => systemNavigatorPop()]; Future? _result; int _step = 0; void _executeNextStep() { setState(() { if (_step < steps.length) { _result = steps[_step++](); } else { _result = Future.value(TestStepResult.complete); } }); } Widget _buildTestResultWidget(BuildContext context, AsyncSnapshot snapshot) { return TestStepResult.fromSnapshot(snapshot).asWidget(context); } @override Widget build(BuildContext context) { return MaterialApp( title: 'Platform Interaction Test', home: Scaffold( appBar: AppBar(title: const Text('Platform Interaction Test')), body: Padding( padding: const EdgeInsets.all(20.0), child: FutureBuilder(future: _result, builder: _buildTestResultWidget), ), floatingActionButton: FloatingActionButton( key: const ValueKey('step'), onPressed: _executeNextStep, child: const Icon(Icons.navigate_next), ), ), ); } }