Skip to content

Commit 9511638

Browse files
authored
Replace ListView with ListView.builder for LicensesPage (#102692)
1 parent 6504f28 commit 9511638

1 file changed

Lines changed: 23 additions & 25 deletions

File tree

‎packages/flutter/lib/src/material/about.dart‎

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -607,31 +607,29 @@ class _PackagesViewState extends State<_PackagesView> {
607607
final _LicenseData data,
608608
final bool drawSelection,
609609
) {
610-
return ListView(
611-
children: <Widget>[
612-
widget.about,
613-
...data.packages
614-
.asMap()
615-
.entries
616-
.map<Widget>((MapEntry<int, String> entry) {
617-
final String packageName = entry.value;
618-
final int index = entry.key;
619-
final List<int> bindings = data.packageLicenseBindings[packageName]!;
620-
return _PackageListTile(
621-
packageName: packageName,
622-
index: index,
623-
isSelected: drawSelection && entry.key == (selectedId ?? 0),
624-
numberLicenses: bindings.length,
625-
onTap: () {
626-
widget.selectedId.value = index;
627-
_MasterDetailFlow.of(context)!.openDetailPage(_DetailArguments(
628-
packageName,
629-
bindings.map((int i) => data.licenses[i]).toList(growable: false),
630-
));
631-
},
632-
);
633-
}),
634-
],
610+
return ListView.builder(
611+
itemCount: data.packages.length + 1,
612+
itemBuilder: (BuildContext context, int index) {
613+
if (index == 0) {
614+
return widget.about;
615+
}
616+
final int packageIndex = index - 1;
617+
final String packageName = data.packages[packageIndex];
618+
final List<int> bindings = data.packageLicenseBindings[packageName]!;
619+
return _PackageListTile(
620+
packageName: packageName,
621+
index: packageIndex,
622+
isSelected: drawSelection && packageIndex == (selectedId ?? 0),
623+
numberLicenses: bindings.length,
624+
onTap: () {
625+
widget.selectedId.value = packageIndex;
626+
_MasterDetailFlow.of(context)!.openDetailPage(_DetailArguments(
627+
packageName,
628+
bindings.map((int i) => data.licenses[i]).toList(growable: false),
629+
));
630+
},
631+
);
632+
},
635633
);
636634
}
637635
}

0 commit comments

Comments
 (0)