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:
@@ -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),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -5,7 +5,7 @@ version: 0.0.1
|
||||
publish_to: "none"
|
||||
|
||||
environment:
|
||||
sdk: ^3.5.0
|
||||
sdk: ^3.7.0-0
|
||||
|
||||
dependencies:
|
||||
flutter:
|
||||
|
||||
@@ -4,7 +4,7 @@ version: 0.0.1
|
||||
homepage:
|
||||
|
||||
environment:
|
||||
sdk: ^3.5.0
|
||||
sdk: ^3.7.0-0
|
||||
|
||||
dependencies:
|
||||
flutter:
|
||||
|
||||
@@ -4,7 +4,7 @@ version: 0.0.1
|
||||
homepage:
|
||||
|
||||
environment:
|
||||
sdk: ^3.5.0
|
||||
sdk: ^3.7.0-0
|
||||
|
||||
dependencies:
|
||||
flutter:
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -4,7 +4,7 @@ version: 0.0.1
|
||||
homepage:
|
||||
|
||||
environment:
|
||||
sdk: ^3.5.0
|
||||
sdk: ^3.7.0-0
|
||||
|
||||
dependencies:
|
||||
flutter:
|
||||
|
||||
Reference in New Issue
Block a user