From a23577f88245a5eee36867b1e40652a202ca2954 Mon Sep 17 00:00:00 2001 From: Feichtmeier Date: Wed, 13 Nov 2024 22:47:19 +0100 Subject: [PATCH] fix notifying --- lib/common/view/four_images_grid.dart | 51 ++---------------- lib/common/view/round_image_container.dart | 53 ++++++------------- lib/local_audio/local_audio_model.dart | 3 ++ lib/local_audio/local_audio_service.dart | 17 +++--- lib/local_audio/local_cover_model.dart | 2 +- lib/local_audio/local_cover_service.dart | 7 +-- lib/local_audio/view/artist_page.dart | 10 ++-- .../view/artist_round_image_container.dart | 39 ++++++++++++++ lib/local_audio/view/artists_view.dart | 7 ++- lib/local_audio/view/genres_view.dart | 2 +- lib/local_audio/view/local_cover.dart | 42 +++++++++------ lib/local_audio/view/playlists_view.dart | 2 +- 12 files changed, 112 insertions(+), 123 deletions(-) create mode 100644 lib/local_audio/view/artist_round_image_container.dart diff --git a/lib/common/view/four_images_grid.dart b/lib/common/view/four_images_grid.dart index 0adaff3a7..73d3a56af 100644 --- a/lib/common/view/four_images_grid.dart +++ b/lib/common/view/four_images_grid.dart @@ -1,16 +1,12 @@ -import 'dart:typed_data'; - import 'package:flutter/material.dart'; class FourImagesGrid extends StatelessWidget { const FourImagesGrid({ super.key, required this.images, - this.fit = BoxFit.cover, }); - final Set images; - final BoxFit fit; + final List images; @override Widget build(BuildContext context) { @@ -20,16 +16,10 @@ class FourImagesGrid extends StatelessWidget { child: Row( children: [ Expanded( - child: _Image( - bytes: images.elementAt(0), - fit: fit, - ), + child: images.elementAt(0), ), Expanded( - child: _Image( - bytes: images.elementAt(1), - fit: fit, - ), + child: images.elementAt(1), ), ], ), @@ -38,16 +28,10 @@ class FourImagesGrid extends StatelessWidget { child: Row( children: [ Expanded( - child: _Image( - bytes: images.elementAt(2), - fit: fit, - ), + child: images.elementAt(2), ), Expanded( - child: _Image( - bytes: images.elementAt(3), - fit: fit, - ), + child: images.elementAt(3), ), ], ), @@ -56,28 +40,3 @@ class FourImagesGrid extends StatelessWidget { ); } } - -class _Image extends StatelessWidget { - final Uint8List bytes; - - const _Image({ - required this.bytes, - required this.fit, - }); - - final BoxFit fit; - - @override - Widget build(BuildContext context) { - const quality = FilterQuality.medium; - const height = double.infinity; - const width = double.infinity; - return Image.memory( - bytes, - height: height, - width: width, - fit: fit, - filterQuality: quality, - ); - } -} diff --git a/lib/common/view/round_image_container.dart b/lib/common/view/round_image_container.dart index 6862d45df..e6b2aba48 100644 --- a/lib/common/view/round_image_container.dart +++ b/lib/common/view/round_image_container.dart @@ -1,5 +1,3 @@ -import 'dart:typed_data'; - import 'package:flutter/material.dart'; import 'package:yaru/yaru.dart'; @@ -10,11 +8,11 @@ import 'theme.dart'; class RoundImageContainer extends StatelessWidget { const RoundImageContainer({ super.key, - this.images, + required this.images, required this.fallBackText, }); - final Set? images; + final List images; final String fallBackText; @override @@ -27,23 +25,12 @@ class RoundImageContainer extends StatelessWidget { color: theme.shadowColor.withOpacity(0.4), ); - if (images?.length == 1) { - return Container( - decoration: BoxDecoration( - image: DecorationImage( - image: MemoryImage(images!.first), - fit: BoxFit.fitHeight, - filterQuality: FilterQuality.medium, - ), - boxShadow: [ - boxShadow, - ], - ), - ); + if (images.length == 1) { + return images.first; } - if (images?.isNotEmpty == true) { - if (images!.length >= 4) { + if (images.isNotEmpty) { + if (images.length >= 4) { return Container( decoration: BoxDecoration( boxShadow: [ @@ -51,28 +38,18 @@ class RoundImageContainer extends StatelessWidget { ], ), child: FourImagesGrid( - images: images!, + images: images, ), ); - } else if (images!.length >= 2) { - return Container( - decoration: BoxDecoration( - image: DecorationImage( - fit: BoxFit.fitHeight, - image: MemoryImage(images!.first), + } else if (images.length >= 2) { + return Stack( + children: [ + images.first, + YaruClip.diagonal( + position: YaruDiagonalClip.bottomLeft, + child: images.elementAt(1), ), - boxShadow: [ - boxShadow, - ], - ), - child: YaruClip.diagonal( - position: YaruDiagonalClip.bottomLeft, - child: Image.memory( - images!.elementAt(1), - fit: BoxFit.fitHeight, - filterQuality: FilterQuality.medium, - ), - ), + ], ); } } diff --git a/lib/local_audio/local_audio_model.dart b/lib/local_audio/local_audio_model.dart index 03834561f..5b554d5f9 100644 --- a/lib/local_audio/local_audio_model.dart +++ b/lib/local_audio/local_audio_model.dart @@ -65,6 +65,9 @@ class LocalAudioModel extends SafeChangeNotifier { }) => _service.findLocalCovers(audios: audios, limit: limit); + List