1
0
mirror of https://github.com/flutter/samples.git synced 2026-03-22 04:17:50 +00:00

Dart 3.9 / Flutter 3.35 [first LLM release] (#2714)

I got carried away with Gemini and basically rewrote CI and the release
process for the new LLM reality. This work was largely completed by
Gemini.

- Bump all SDK versions to the current beta (3.9.0-0)
- Run `flutter channel beta`
- Wrote `ci_script.dart` to replace the bash scripts
- Converted repository to pub workspace #2499 
- Added llm.md and release.md
- Added redirect for deprecated Samples Index

## Pre-launch Checklist

- [x] I read the [Flutter Style Guide] _recently_, and have followed its
advice.
- [x] I signed the [CLA].
- [x] I read the [Contributors Guide].
- [x] I have added sample code updates to the [changelog].
- [x] I updated/added relevant documentation (doc comments with `///`).
This commit is contained in:
Eric Windmill
2025-08-14 12:26:24 -07:00
committed by GitHub
parent 0aa5415d5e
commit 2999d738b8
410 changed files with 28166 additions and 27661 deletions

View File

@@ -74,7 +74,9 @@ class DataTransferPage extends StatelessWidget {
},
),
onPressed: () => controller.generateRandomNumbers(true),
child: const Text('Transfer Data with TransferableTypedData'),
child: const Text(
'Transfer Data with TransferableTypedData',
),
),
ElevatedButton(
style: ElevatedButton.styleFrom(
@@ -207,8 +209,9 @@ class RunningList extends StatelessWidget {
@override
Widget build(BuildContext context) {
final progress =
Provider.of<DataTransferIsolateController>(context).currentProgress;
final progress = Provider.of<DataTransferIsolateController>(
context,
).currentProgress;
return DecoratedBox(
decoration: BoxDecoration(color: Colors.grey[200]),

View File

@@ -35,7 +35,9 @@ class InfiniteProcessPage extends StatelessWidget {
@override
Widget build(context) {
final controller = Provider.of<InfiniteProcessIsolateController>(context);
final controller = Provider.of<InfiniteProcessIsolateController>(
context,
);
return SafeArea(
child: Column(
@@ -196,7 +198,9 @@ class RunningList extends StatelessWidget {
@override
Widget build(context) {
final controller = Provider.of<InfiniteProcessIsolateController>(context);
final controller = Provider.of<InfiniteProcessIsolateController>(
context,
);
var sums = controller.currentResults;
@@ -208,10 +212,9 @@ class RunningList extends StatelessWidget {
return Column(
children: [
Card(
color:
(controller.created && !controller.paused)
? Colors.lightGreenAccent
: Colors.deepOrangeAccent,
color: (controller.created && !controller.paused)
? Colors.lightGreenAccent
: Colors.deepOrangeAccent,
child: ListTile(
leading: Text('${sums.length - index}.'),
title: Text('${sums[index]}.'),

View File

@@ -31,7 +31,8 @@ const double windowWidth = 1024;
const double windowHeight = 800;
void setupWindow() {
if (!kIsWeb && (Platform.isWindows || Platform.isLinux || Platform.isMacOS)) {
if (!kIsWeb &&
(Platform.isWindows || Platform.isLinux || Platform.isMacOS)) {
WidgetsFlutterBinding.ensureInitialized();
setWindowTitle('Isolate Example');
setWindowMinSize(const Size(windowWidth, windowHeight));

View File

@@ -57,8 +57,9 @@ class _PerformancePageState extends State<PerformancePage> {
return ElevatedButton(
style: ElevatedButton.styleFrom(elevation: 8.0),
onPressed: switch (snapshot.connectionState) {
ConnectionState.done =>
() => handleComputeOnMain(context),
ConnectionState.done => () => handleComputeOnMain(
context,
),
_ => null,
},
child: const Text('Compute on Main'),
@@ -71,8 +72,9 @@ class _PerformancePageState extends State<PerformancePage> {
return ElevatedButton(
style: ElevatedButton.styleFrom(elevation: 8.0),
onPressed: switch (snapshot.connectionState) {
ConnectionState.done =>
() => handleComputeOnSecondary(context),
ConnectionState.done => () => handleComputeOnSecondary(
context,
),
_ => null,
},
child: const Text('Compute on Secondary'),
@@ -88,12 +90,12 @@ class _PerformancePageState extends State<PerformancePage> {
}
void handleComputeOnMain(BuildContext context) {
var future =
computeOnMainIsolate()..then((_) {
var snackBar = const SnackBar(content: Text('Main Isolate Done!'));
if (!context.mounted) return;
ScaffoldMessenger.of(context).showSnackBar(snackBar);
});
var future = computeOnMainIsolate()
..then((_) {
var snackBar = const SnackBar(content: Text('Main Isolate Done!'));
if (!context.mounted) return;
ScaffoldMessenger.of(context).showSnackBar(snackBar);
});
setState(() {
computeFuture = future;
@@ -101,14 +103,14 @@ class _PerformancePageState extends State<PerformancePage> {
}
void handleComputeOnSecondary(BuildContext context) {
var future =
computeOnSecondaryIsolate()..then((_) {
var snackBar = const SnackBar(
content: Text('Secondary Isolate Done!'),
);
if (!context.mounted) return;
ScaffoldMessenger.of(context).showSnackBar(snackBar);
});
var future = computeOnSecondaryIsolate()
..then((_) {
var snackBar = const SnackBar(
content: Text('Secondary Isolate Done!'),
);
if (!context.mounted) return;
ScaffoldMessenger.of(context).showSnackBar(snackBar);
});
setState(() {
computeFuture = future;