1
0
mirror of https://github.com/flutter/samples.git synced 2025-11-10 14:58:34 +00:00

Flutter 3.29 beta (#2571)

This commit is contained in:
Eric Windmill
2025-02-12 18:08:01 -05:00
committed by GitHub
parent d62c784789
commit 719fd72c38
685 changed files with 76244 additions and 53721 deletions

View File

@@ -14,10 +14,7 @@ class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData.light(),
home: const HomePage(),
);
return MaterialApp(theme: ThemeData.light(), home: const HomePage());
}
}
@@ -36,9 +33,7 @@ class _HomePageState extends State<HomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Federated Plugin Demo'),
),
appBar: AppBar(title: const Text('Federated Plugin Demo')),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
@@ -46,9 +41,9 @@ class _HomePageState extends State<HomePage> {
batteryLevel == null
? const SizedBox.shrink()
: Text(
'Battery Level: $batteryLevel',
style: Theme.of(context).textTheme.headlineSmall,
),
'Battery Level: $batteryLevel',
style: Theme.of(context).textTheme.headlineSmall,
),
const SizedBox(height: 16),
FilledButton(
onPressed: () async {
@@ -62,9 +57,7 @@ class _HomePageState extends State<HomePage> {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
backgroundColor: Theme.of(context).primaryColor,
content: Text(
(error as dynamic).message as String,
),
content: Text((error as dynamic).message as String),
),
);
}

View File

@@ -4,7 +4,7 @@ description: Demonstrates how to use the federated_plugin plugin.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
environment:
sdk: ^3.5.0
sdk: ^3.7.0-0
dependencies:
flutter:

View File

@@ -5,7 +5,7 @@ version: 0.0.1
publish_to: "none"
environment:
sdk: ^3.5.0
sdk: ^3.7.0-0
dependencies:
flutter:

View File

@@ -4,7 +4,7 @@ version: 0.0.1
homepage:
environment:
sdk: ^3.5.0
sdk: ^3.7.0-0
dependencies:
flutter:

View File

@@ -4,7 +4,7 @@ version: 0.0.1
homepage:
environment:
sdk: ^3.5.0
sdk: ^3.7.0-0
dependencies:
flutter:

View File

@@ -2,11 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:html' as html;
import 'package:federated_plugin_platform_interface/federated_plugin_platform_interface.dart';
import 'package:flutter/services.dart';
import 'package:flutter_web_plugins/flutter_web_plugins.dart';
import 'package:web/web.dart' as html;
/// Web Implementation of [FederatedPluginInterface] to retrieve current battery
/// level of device.
@@ -15,7 +14,7 @@ class FederatedPlugin extends FederatedPluginInterface {
/// Constructor to override the navigator object for testing purpose.
FederatedPlugin({html.Navigator? navigator})
: _navigator = navigator ?? html.window.navigator;
: _navigator = navigator ?? html.window.navigator;
/// Method to register the plugin which sets [FederatedPlugin] to be the default
/// instance of [FederatedPluginInterface].
@@ -30,9 +29,9 @@ class FederatedPlugin extends FederatedPluginInterface {
@override
Future<int> getBatteryLevel() async {
try {
final battery = await _navigator.getBattery() as html.BatteryManager;
final battery = _navigator.getBattery() as html.BatteryManager;
// The battery level retrieved is in range of 0.0 to 1.0.
return battery.level! * 100 as int;
return battery.level * 100 as int;
} catch (error) {
throw PlatformException(
code: 'STATUS_UNAVAILABLE',

View File

@@ -4,7 +4,7 @@ version: 0.0.1
publish_to: none
environment:
sdk: ^3.5.0
sdk: ^3.7.0-0
dependencies:
flutter:
@@ -13,6 +13,7 @@ dependencies:
sdk: flutter
federated_plugin_platform_interface:
path: ../federated_plugin_platform_interface
web: ^1.1.0
dev_dependencies:
analysis_defaults:

View File

@@ -1,43 +0,0 @@
// Copyright 2020 The Flutter team. 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:html';
import 'package:federated_plugin_web/federated_plugin_web.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:integration_test/integration_test.dart';
import 'package:mockito/mockito.dart';
const kBatteryLevel = 0.49;
class NavigatorMock extends Mock implements Navigator {}
class BatteryManagerMock extends Mock implements BatteryManager {
@override
num get level => kBatteryLevel;
}
void main() {
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
group('FederatedPlugin test', () {
final navigatorMock = NavigatorMock();
setUp(() {
when(navigatorMock.getBattery())
.thenAnswer((realInvocation) async => BatteryManagerMock());
});
testWidgets('getBatteryLevel Method', (tester) async {
final federatedPlugin = FederatedPlugin(navigator: navigatorMock);
final batteryLevel = await federatedPlugin.getBatteryLevel();
// Verify that getBattery was called.
verify(navigatorMock.getBattery());
// Verify the battery level.
expect(batteryLevel, kBatteryLevel * 100);
});
});
}

View File

@@ -4,7 +4,7 @@ version: 0.0.1
homepage:
environment:
sdk: ^3.5.0
sdk: ^3.7.0-0
dependencies:
flutter: