1
0
mirror of https://github.com/flutter/samples.git synced 2025-11-08 13:58:47 +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

@@ -240,10 +240,9 @@ class _Reviews extends StatelessWidget {
),
),
Column(
children:
StubData.reviewStrings
.map((reviewText) => _buildSingleReview(reviewText))
.toList(),
children: StubData.reviewStrings
.map((reviewText) => _buildSingleReview(reviewText))
.toList(),
),
],
);
@@ -308,17 +307,16 @@ class _StarBar extends StatelessWidget {
Widget build(BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.center,
children:
List.generate(maxStars, (index) {
return IconButton(
icon: const Icon(Icons.star),
iconSize: 40,
color: rating > index ? Colors.amber : Colors.grey[400],
onPressed: () {
onChanged(index + 1);
},
);
}).toList(),
children: List.generate(maxStars, (index) {
return IconButton(
icon: const Icon(Icons.star),
iconSize: 40,
color: rating > index ? Colors.amber : Colors.grey[400],
onPressed: () {
onChanged(index + 1);
},
);
}).toList(),
);
}
}

View File

@@ -33,11 +33,10 @@ class _PlaceListState extends State<PlaceList> {
padding: const EdgeInsets.fromLTRB(16.0, 0.0, 16.0, 8.0),
controller: _scrollController,
shrinkWrap: true,
children:
state.places
.where((place) => place.category == state.selectedCategory)
.map((place) => _PlaceListTile(place: place))
.toList(),
children: state.places
.where((place) => place.category == state.selectedCategory)
.map((place) => _PlaceListTile(place: place))
.toList(),
),
),
],
@@ -158,17 +157,15 @@ class _PlaceListTile extends StatelessWidget {
maxLines: 3,
),
Row(
children:
List.generate(5, (index) {
return Icon(
Icons.star,
size: 28.0,
color:
place.starRating > index
? Colors.amber
: Colors.grey[400],
);
}).toList(),
children: List.generate(5, (index) {
return Icon(
Icons.star,
size: 28.0,
color: place.starRating > index
? Colors.amber
: Colors.grey[400],
);
}).toList(),
),
Text(
place.description ?? '',

View File

@@ -278,8 +278,9 @@ class _PlaceMapState extends State<PlaceMap> {
// At this point, we know the places have been updated from the list
// view. We need to reconfigure the map to respect the updates.
for (final place in newConfiguration.places) {
final oldPlace =
_configuration!.places.where((p) => p.id == place.id).firstOrNull;
final oldPlace = _configuration!.places
.where((p) => p.id == place.id)
.firstOrNull;
if (oldPlace == null || oldPlace != place) {
// New place or updated place.
_updateExistingPlaceMarker(place: place);
@@ -355,8 +356,9 @@ class _PlaceMapState extends State<PlaceMap> {
final updatedMarker = marker.copyWith(
infoWindowParam: InfoWindow(
title: place.name,
snippet:
place.starRating != 0 ? '${place.starRating} Star Rating' : null,
snippet: place.starRating != 0
? '${place.starRating} Star Rating'
: null,
),
);
_updateMarker(marker: marker, updatedMarker: updatedMarker, place: place);
@@ -502,8 +504,8 @@ class _CategoryButtonBar extends StatelessWidget {
style: FilledButton.styleFrom(
backgroundColor:
selectedPlaceCategory == PlaceCategory.favorite
? Colors.green[700]
: Colors.lightGreen,
? Colors.green[700]
: Colors.lightGreen,
),
onPressed: () => onChanged(PlaceCategory.favorite),
child: const Text(
@@ -515,8 +517,8 @@ class _CategoryButtonBar extends StatelessWidget {
style: FilledButton.styleFrom(
backgroundColor:
selectedPlaceCategory == PlaceCategory.visited
? Colors.green[700]
: Colors.lightGreen,
? Colors.green[700]
: Colors.lightGreen,
),
onPressed: () => onChanged(PlaceCategory.visited),
child: const Text(
@@ -528,8 +530,8 @@ class _CategoryButtonBar extends StatelessWidget {
style: FilledButton.styleFrom(
backgroundColor:
selectedPlaceCategory == PlaceCategory.wantToGo
? Colors.green[700]
: Colors.lightGreen,
? Colors.green[700]
: Colors.lightGreen,
),
onPressed: () => onChanged(PlaceCategory.wantToGo),
child: const Text(

View File

@@ -1,27 +1,25 @@
name: place_tracker
description: A new Flutter project.
version: 1.0.0+1
resolution: workspace
environment:
sdk: ^3.7.0-0
sdk: ^3.9.0-0
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.0
google_maps_flutter: ^2.2.0
provider: ^6.0.2
uuid: ^4.0.0
go_router: ">=10.0.0 <17.0.0"
go_router: ^16.0.0
dev_dependencies:
analysis_defaults:
path: ../analysis_defaults
flutter_test:
sdk: flutter
flutter:
assets:
- assets/