summaryrefslogtreecommitdiff
path: root/player-android
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-22 16:57:32 +0300
committerPaul Buetow <paul@buetow.org>2026-05-22 16:57:32 +0300
commit32aa3946cc1a0f5166ecff59dc229d0c02c7e9b6 (patch)
tree535291d3f2809deed4b9a62d4aba5c71cac2a1ea /player-android
parent19f535df56ba17760bc81351c91fc7b8bb568035 (diff)
Remove dead index parameter from _restore and _hardDelete in admin_trash_screen
The index was never used after identity-based removeWhere replaced index-based removal. Drop it from the method signatures, the _TrashList/_TrashTile callback types, and all call sites. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'player-android')
-rw-r--r--player-android/lib/screens/admin_trash_screen.dart19
1 files changed, 8 insertions, 11 deletions
diff --git a/player-android/lib/screens/admin_trash_screen.dart b/player-android/lib/screens/admin_trash_screen.dart
index db0354a..768bb11 100644
--- a/player-android/lib/screens/admin_trash_screen.dart
+++ b/player-android/lib/screens/admin_trash_screen.dart
@@ -86,7 +86,7 @@ class _AdminTrashScreenState extends ConsumerState<AdminTrashScreen> {
/// On error the item is re-appended to the list and a SnackBar reports the
/// problem. Re-appending (rather than re-inserting at the original index)
/// avoids position jitter from concurrent mutations.
- Future<void> _restore(Media item, int index) async {
+ Future<void> _restore(Media item) async {
// Identity-based removal (by id) avoids position drift from concurrent
// operations that could shift list indices between tap and setState.
setState(() => _items!.removeWhere((e) => e.id == item.id));
@@ -119,7 +119,7 @@ class _AdminTrashScreenState extends ConsumerState<AdminTrashScreen> {
/// permanent removal. The server's GC worker completes the physical file
/// removal. The item is removed from the local list optimistically and
/// reverted on error.
- Future<void> _hardDelete(Media item, int index) async {
+ Future<void> _hardDelete(Media item) async {
final confirmed = await _confirmHardDelete(item.fileName);
if (!confirmed || !mounted) return;
@@ -260,8 +260,8 @@ class _TrashList extends StatelessWidget {
});
final List<Media> items;
- final Future<void> Function(Media item, int index) onRestore;
- final Future<void> Function(Media item, int index) onHardDelete;
+ final Future<void> Function(Media item) onRestore;
+ final Future<void> Function(Media item) onHardDelete;
@override
Widget build(BuildContext context) {
@@ -271,7 +271,6 @@ class _TrashList extends StatelessWidget {
separatorBuilder: (_, __) => const Divider(height: 1),
itemBuilder: (_, index) => _TrashTile(
item: items[index],
- index: index,
onRestore: onRestore,
onHardDelete: onHardDelete,
),
@@ -283,15 +282,13 @@ class _TrashList extends StatelessWidget {
class _TrashTile extends StatelessWidget {
const _TrashTile({
required this.item,
- required this.index,
required this.onRestore,
required this.onHardDelete,
});
final Media item;
- final int index;
- final Future<void> Function(Media item, int index) onRestore;
- final Future<void> Function(Media item, int index) onHardDelete;
+ final Future<void> Function(Media item) onRestore;
+ final Future<void> Function(Media item) onHardDelete;
@override
Widget build(BuildContext context) {
@@ -313,14 +310,14 @@ class _TrashTile extends StatelessWidget {
key: Key('admin_trash_restore_${item.id}'),
icon: const Icon(Icons.restore_outlined),
tooltip: 'Restore',
- onPressed: () => onRestore(item, index),
+ onPressed: () => onRestore(item),
),
IconButton(
key: Key('admin_trash_delete_${item.id}'),
icon: const Icon(Icons.delete_forever_outlined),
tooltip: 'Delete permanently',
color: Theme.of(context).colorScheme.error,
- onPressed: () => onHardDelete(item, index),
+ onPressed: () => onHardDelete(item),
),
],
),