From 15f1f5eb63b4f24ee572dbcae9fc8a10cf1a36f9 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Mon, 11 Jul 2022 09:41:44 +0200 Subject: [PATCH] fix --- android/app/build.gradle | 1 - .../settings/navigation/drawer_tab_albums.dart | 14 ++++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 51cf5992a..aebce2c0e 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -48,7 +48,6 @@ android { main.java.srcDirs += 'src/main/kotlin' } - defaultConfig { applicationId appId // minSdkVersion constraints: diff --git a/lib/widgets/settings/navigation/drawer_tab_albums.dart b/lib/widgets/settings/navigation/drawer_tab_albums.dart index 2708ef157..04e05a838 100644 --- a/lib/widgets/settings/navigation/drawer_tab_albums.dart +++ b/lib/widgets/settings/navigation/drawer_tab_albums.dart @@ -22,6 +22,8 @@ class DrawerAlbumTab extends StatefulWidget { } class _DrawerAlbumTabState extends State { + List get items => widget.items; + @override Widget build(BuildContext context) { final source = context.read(); @@ -32,7 +34,7 @@ class _DrawerAlbumTabState extends State { Flexible( child: ReorderableListView.builder( itemBuilder: (context, index) { - final album = widget.items[index]; + final album = items[index]; final filter = AlbumFilter(album, source.getAlbumDisplayName(context, album)); return ListTile( key: ValueKey(album), @@ -41,17 +43,17 @@ class _DrawerAlbumTabState extends State { trailing: IconButton( icon: const Icon(AIcons.clear), onPressed: () { - setState(() => widget.items.remove(album)); + setState(() => items.remove(album)); }, tooltip: context.l10n.actionRemove, ), ); }, - itemCount: widget.items.length, + itemCount: items.length, onReorder: (oldIndex, newIndex) { setState(() { if (oldIndex < newIndex) newIndex -= 1; - widget.items.insert(newIndex, widget.items.removeAt(oldIndex)); + items.insert(newIndex, items.removeAt(oldIndex)); }); }, shrinkWrap: true, @@ -64,8 +66,8 @@ class _DrawerAlbumTabState extends State { label: context.l10n.settingsNavigationDrawerAddAlbum, onPressed: () async { final album = await pickAlbum(context: context, moveType: null); - if (album == null) return; - setState(() => widget.items.add(album)); + if (album == null || items.contains(album)) return; + setState(() => items.add(album)); }, ), ],