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, crossAxisSpacing: 1.0,
children: <Widget>[ children: <Widget>[
...?_media?.map( ...?_media?.map(
(media) => GestureDetector( (medium) => GestureDetector(
onTap: () => Navigator.of(context).push( onTap: () => Navigator.of(context).push(MaterialPageRoute(
MaterialPageRoute(builder: (context) => ViewerPage(media))), builder: (context) => ViewerPage(medium))),
child: Container( child: Container(
color: Colors.grey[300], color: Colors.grey[300],
child: FadeInImage( child: FadeInImage(
fit: BoxFit.cover, fit: BoxFit.cover,
placeholder: MemoryImage(kTransparentImage), placeholder: MemoryImage(kTransparentImage),
image: ThumbnailProvider( image: ThumbnailProvider(
mediumId: media.id, mediumId: medium.id,
mediumType: medium.mediumType,
highQuality: true, highQuality: true,
), ),
), ),

View File

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