add mediumType attribute in ThumbnailProvider

This commit is contained in:
Wenqi Li 2020-08-22 14:12:54 +08:00
parent 9196eddccd
commit af91b50909
2 changed files with 8 additions and 4 deletions

View File

@ -181,16 +181,17 @@ class CollectionPageState extends State<CollectionPage> {
crossAxisSpacing: 1.0,
children: <Widget>[
...?_media?.map(
(media) => GestureDetector(
onTap: () => Navigator.of(context).push(
MaterialPageRoute(builder: (context) => ViewerPage(media))),
(medium) => GestureDetector(
onTap: () => Navigator.of(context).push(MaterialPageRoute(
builder: (context) => ViewerPage(medium))),
child: Container(
color: Colors.grey[300],
child: FadeInImage(
fit: BoxFit.cover,
placeholder: MemoryImage(kTransparentImage),
image: ThumbnailProvider(
mediumId: media.id,
mediumId: medium.id,
mediumType: medium.mediumType,
highQuality: true,
),
),

View File

@ -4,12 +4,14 @@ part of photogallery;
class ThumbnailProvider extends ImageProvider<ThumbnailProvider> {
const ThumbnailProvider({
@required this.mediumId,
this.mediumType,
this.height,
this.width,
this.highQuality,
}) : assert(mediumId != null);
final String mediumId;
final MediumType mediumType;
final int height;
final int width;
final bool highQuality;
@ -30,6 +32,7 @@ class ThumbnailProvider extends ImageProvider<ThumbnailProvider> {
assert(key == this);
final bytes = await PhotoGallery.getThumbnail(
mediumId: mediumId,
mediumType: mediumType,
height: height,
width: width,
highQuality: highQuality,