From 31eb61433e8fb89ad2aa886d00bcc436d32b7504 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sat, 7 Sep 2019 12:56:38 +0900 Subject: [PATCH] album icons: shadow only in section headers --- lib/widgets/album/thumbnail_collection.dart | 12 +++++++++++- lib/widgets/common/icons.dart | 18 +++++------------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/lib/widgets/album/thumbnail_collection.dart b/lib/widgets/album/thumbnail_collection.dart index 1f126e85a..e909b0551 100644 --- a/lib/widgets/album/thumbnail_collection.dart +++ b/lib/widgets/album/thumbnail_collection.dart @@ -97,8 +97,18 @@ class SectionSliver extends StatelessWidget { if (collection.sortFactor == SortFactor.date) { switch (collection.groupFactor) { case GroupFactor.album: + Widget albumIcon = IconUtils.getAlbumIcon(context, sectionKey); + if (albumIcon != null) { + albumIcon = Material( + type: MaterialType.circle, + elevation: 3, + color: Colors.transparent, + shadowColor: Colors.black, + child: albumIcon, + ); + } header = SectionHeader( - leading: IconUtils.getAlbumIcon(context, sectionKey), + leading: albumIcon, title: collection.getUniqueAlbumName(sectionKey, sections.keys.toList()), ); break; diff --git a/lib/widgets/common/icons.dart b/lib/widgets/common/icons.dart index 403688cd2..8351c8c89 100644 --- a/lib/widgets/common/icons.dart +++ b/lib/widgets/common/icons.dart @@ -92,28 +92,20 @@ class IconUtils { appNameMap = await AndroidAppService.getAppNames(); } - static Widget _buildAlbumIcon(Widget child) => Material( - type: MaterialType.circle, - elevation: 3, - color: Colors.transparent, - shadowColor: Colors.black, - child: child, - ); - static Widget getAlbumIcon(BuildContext context, String albumDirectory) { if (albumDirectory == null) return null; - if (androidFileUtils.isCameraPath(albumDirectory)) return _buildAlbumIcon(Icon(Icons.photo_camera)); - if (androidFileUtils.isScreenshotsPath(albumDirectory)) return _buildAlbumIcon(Icon(Icons.smartphone)); - if (androidFileUtils.isDownloadPath(albumDirectory)) return _buildAlbumIcon(Icon(Icons.file_download)); + if (androidFileUtils.isCameraPath(albumDirectory)) return Icon(Icons.photo_camera); + if (androidFileUtils.isScreenshotsPath(albumDirectory)) return Icon(Icons.smartphone); + if (androidFileUtils.isDownloadPath(albumDirectory)) return Icon(Icons.file_download); final parts = albumDirectory.split(separator); if (albumDirectory.startsWith(androidFileUtils.picturesPath) && appNameMap.keys.contains(parts.last)) { final packageName = appNameMap[parts.last]; - return _buildAlbumIcon(AppIcon( + return AppIcon( packageName: packageName, size: IconTheme.of(context).size, devicePixelRatio: MediaQuery.of(context).devicePixelRatio, - )); + ); } return null; }