Skip to content

Commit f310550

Browse files
committed
Use specialItemModels as args.
1 parent 38cc19f commit f310550

File tree

2 files changed

+21
-20
lines changed

2 files changed

+21
-20
lines changed

example/lib/customs/pickers/directory_file_asset_picker.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -645,7 +645,7 @@ class FileAssetPickerBuilder
645645
id: key.value,
646646
assets: assets,
647647
placeholderCount: placeholderCount,
648-
prependSpecialItemResults: specialItemModels
648+
specialItemModels: specialItemModels
649649
.where(
650650
(item) => item.position == SpecialItemPosition.prepend,
651651
)
@@ -775,7 +775,7 @@ class FileAssetPickerBuilder
775775
int index,
776776
File asset,
777777
Widget child,
778-
List<SpecialItemModel> prependSpecialItemResults,
778+
List<SpecialItemModel> specialItemModels,
779779
) {
780780
return Semantics(child: child);
781781
}
@@ -1213,7 +1213,7 @@ class FileAssetPickerBuilder
12131213
int findChildIndexBuilder({
12141214
required String id,
12151215
required List<File> assets,
1216-
required List<SpecialItemModel> prependSpecialItemResults,
1216+
required List<SpecialItemModel> specialItemModels,
12171217
int placeholderCount = 0,
12181218
}) {
12191219
return assets.indexWhere((File file) => file.path == id);

lib/src/delegates/asset_picker_builder_delegate.dart

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ abstract class AssetPickerBuilderDelegate<Asset, Path> {
330330
int? findChildIndexBuilder({
331331
required String id,
332332
required List<Asset> assets,
333-
required List<SpecialItemModel> prependSpecialItemResults,
333+
required List<SpecialItemModel> specialItemModels,
334334
int placeholderCount = 0,
335335
}) =>
336336
null;
@@ -358,7 +358,7 @@ abstract class AssetPickerBuilderDelegate<Asset, Path> {
358358
int index,
359359
Asset asset,
360360
Widget child,
361-
List<SpecialItemModel> prependSpecialItemResults,
361+
List<SpecialItemModel> specialItemModels,
362362
);
363363

364364
/// The item builder for audio type of asset.
@@ -1317,12 +1317,7 @@ class DefaultAssetPickerBuilderDelegate
13171317
id: key.value,
13181318
assets: assets,
13191319
placeholderCount: placeholderCount,
1320-
prependSpecialItemResults: specialItemModels
1321-
.where(
1322-
(item) =>
1323-
item.position == SpecialItemPosition.prepend,
1324-
)
1325-
.toList(),
1320+
specialItemModels: specialItemModels,
13261321
);
13271322
}
13281323
return null;
@@ -1492,15 +1487,18 @@ class DefaultAssetPickerBuilderDelegate
14921487
index,
14931488
asset,
14941489
content,
1495-
prependItems,
1490+
specialItemModels,
14961491
);
14971492
}
14981493

14991494
int semanticIndex(
15001495
int index,
1501-
List<SpecialItemModel> prependSpecialItemResults,
1496+
List<SpecialItemModel> specialItemModels,
15021497
) {
1503-
return index - prependSpecialItemResults.length;
1498+
final prependSpecialItemModels = specialItemModels.where(
1499+
(SpecialItemModel model) => model.position == SpecialItemPosition.prepend,
1500+
);
1501+
return index - prependSpecialItemModels.length;
15041502
}
15051503

15061504
@override
@@ -1509,7 +1507,7 @@ class DefaultAssetPickerBuilderDelegate
15091507
int index,
15101508
AssetEntity asset,
15111509
Widget child,
1512-
List<SpecialItemModel> prependSpecialItemResults,
1510+
List<SpecialItemModel> specialItemModels,
15131511
) {
15141512
return ValueListenableBuilder<bool>(
15151513
valueListenable: isSwitchingPath,
@@ -1543,7 +1541,7 @@ class DefaultAssetPickerBuilderDelegate
15431541
excludeSemantics: true,
15441542
focusable: !isSwitchingPath,
15451543
label: '${semanticsTextDelegate.semanticTypeLabel(asset.type)}'
1546-
'${semanticIndex(index, prependSpecialItemResults)}, '
1544+
'${semanticIndex(index, specialItemModels)}, '
15471545
'${asset.createDateTime.toString().replaceAll('.000', '')}',
15481546
hidden: isSwitchingPath,
15491547
hint: hint,
@@ -1561,7 +1559,7 @@ class DefaultAssetPickerBuilderDelegate
15611559
onLongPressHint: semanticsTextDelegate.sActionPreviewHint,
15621560
selected: isSelected,
15631561
sortKey: OrdinalSortKey(
1564-
semanticIndex(index, prependSpecialItemResults).toDouble(),
1562+
semanticIndex(index, specialItemModels).toDouble(),
15651563
name: 'GridItem',
15661564
),
15671565
value: selectedIndex > 0 ? '$selectedIndex' : null,
@@ -1574,7 +1572,7 @@ class DefaultAssetPickerBuilderDelegate
15741572
}
15751573
: null,
15761574
child: IndexedSemantics(
1577-
index: semanticIndex(index, prependSpecialItemResults),
1575+
index: semanticIndex(index, specialItemModels),
15781576
child: child,
15791577
),
15801578
),
@@ -1590,11 +1588,14 @@ class DefaultAssetPickerBuilderDelegate
15901588
int findChildIndexBuilder({
15911589
required String id,
15921590
required List<AssetEntity> assets,
1593-
required List<SpecialItemModel> prependSpecialItemResults,
1591+
required List<SpecialItemModel> specialItemModels,
15941592
int placeholderCount = 0,
15951593
}) {
1594+
final prependSpecialItemModels = specialItemModels.where(
1595+
(SpecialItemModel model) => model.position == SpecialItemPosition.prepend,
1596+
);
15961597
int index = assets.indexWhere((AssetEntity e) => e.id == id);
1597-
index += prependSpecialItemResults.length;
1598+
index += prependSpecialItemModels.length;
15981599
index += placeholderCount;
15991600
return index;
16001601
}

0 commit comments

Comments
 (0)