formatting
This commit is contained in:
@@ -12,11 +12,7 @@ class LocalThumbProvider extends ImageProvider<LocalThumbProvider> {
|
||||
final Size size;
|
||||
final DateTime? updatedAt;
|
||||
|
||||
const LocalThumbProvider({
|
||||
required this.id,
|
||||
required this.size,
|
||||
this.updatedAt,
|
||||
});
|
||||
const LocalThumbProvider({required this.id, required this.size, this.updatedAt});
|
||||
|
||||
@override
|
||||
Future<LocalThumbProvider> obtainKey(ImageConfiguration configuration) {
|
||||
@@ -24,10 +20,7 @@ class LocalThumbProvider extends ImageProvider<LocalThumbProvider> {
|
||||
}
|
||||
|
||||
@override
|
||||
ImageStreamCompleter loadImage(
|
||||
LocalThumbProvider key,
|
||||
ImageDecoderCallback decode,
|
||||
) {
|
||||
ImageStreamCompleter loadImage(LocalThumbProvider key, ImageDecoderCallback decode) {
|
||||
return OneFrameImageStreamCompleter(
|
||||
_codec(key),
|
||||
informationCollector: () => <DiagnosticsNode>[
|
||||
@@ -70,10 +63,7 @@ class LocalFullImageProvider extends ImageProvider<LocalFullImageProvider> {
|
||||
}
|
||||
|
||||
@override
|
||||
ImageStreamCompleter loadImage(
|
||||
LocalFullImageProvider key,
|
||||
ImageDecoderCallback decode,
|
||||
) {
|
||||
ImageStreamCompleter loadImage(LocalFullImageProvider key, ImageDecoderCallback decode) {
|
||||
return OneFrameImageStreamCompleter(_codec(key));
|
||||
}
|
||||
|
||||
|
||||
@@ -41,8 +41,8 @@ class Thumbnail extends StatefulWidget {
|
||||
this.size = const ui.Size.square(kTimelineThumbnailSize),
|
||||
this.thumbhashMode = ThumbhashMode.enabled,
|
||||
super.key,
|
||||
}) : blurhash = asset.thumbhash,
|
||||
imageProvider = _getImageProviderFromAsset(asset, size);
|
||||
}) : blurhash = asset.thumbhash,
|
||||
imageProvider = _getImageProviderFromAsset(asset, size);
|
||||
|
||||
Thumbnail.fromBaseAsset({
|
||||
required BaseAsset? asset,
|
||||
@@ -50,11 +50,11 @@ class Thumbnail extends StatefulWidget {
|
||||
this.size = const ui.Size.square(kTimelineThumbnailSize),
|
||||
this.thumbhashMode = ThumbhashMode.enabled,
|
||||
super.key,
|
||||
}) : blurhash = switch (asset) {
|
||||
RemoteAsset() => asset.thumbHash,
|
||||
_ => null,
|
||||
},
|
||||
imageProvider = _getImageProviderFromBaseAsset(asset, size);
|
||||
}) : blurhash = switch (asset) {
|
||||
RemoteAsset() => asset.thumbHash,
|
||||
_ => null,
|
||||
},
|
||||
imageProvider = _getImageProviderFromBaseAsset(asset, size);
|
||||
|
||||
static ImageProvider? _getImageProviderFromAsset(Asset asset, ui.Size size) {
|
||||
if (asset.localId != null) {
|
||||
@@ -65,10 +65,7 @@ class Thumbnail extends StatefulWidget {
|
||||
return null;
|
||||
}
|
||||
|
||||
static ImageProvider? _getImageProviderFromBaseAsset(
|
||||
BaseAsset? asset,
|
||||
ui.Size size,
|
||||
) {
|
||||
static ImageProvider? _getImageProviderFromBaseAsset(BaseAsset? asset, ui.Size size) {
|
||||
switch (asset) {
|
||||
case RemoteAsset():
|
||||
if (asset.localId != null) {
|
||||
@@ -217,19 +214,12 @@ class _ThumbnailState extends State<Thumbnail> {
|
||||
Widget build(BuildContext context) {
|
||||
final colorScheme = context.colorScheme;
|
||||
final gradient = _gradientCache[colorScheme] ??= LinearGradient(
|
||||
colors: [
|
||||
colorScheme.surfaceContainer,
|
||||
colorScheme.surfaceContainer.darken(amount: .1),
|
||||
],
|
||||
colors: [colorScheme.surfaceContainer, colorScheme.surfaceContainer.darken(amount: .1)],
|
||||
begin: Alignment.topCenter,
|
||||
end: Alignment.bottomCenter,
|
||||
);
|
||||
|
||||
return _ThumbnailLeaf(
|
||||
image: _providerImage,
|
||||
fit: widget.fit,
|
||||
placeholderGradient: gradient,
|
||||
);
|
||||
return _ThumbnailLeaf(image: _providerImage, fit: widget.fit, placeholderGradient: gradient);
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -245,26 +235,15 @@ class _ThumbnailLeaf extends LeafRenderObjectWidget {
|
||||
final BoxFit fit;
|
||||
final Gradient placeholderGradient;
|
||||
|
||||
const _ThumbnailLeaf({
|
||||
required this.image,
|
||||
required this.fit,
|
||||
required this.placeholderGradient,
|
||||
});
|
||||
const _ThumbnailLeaf({required this.image, required this.fit, required this.placeholderGradient});
|
||||
|
||||
@override
|
||||
RenderObject createRenderObject(BuildContext context) {
|
||||
return _ThumbnailRenderBox(
|
||||
image: image,
|
||||
fit: fit,
|
||||
placeholderGradient: placeholderGradient,
|
||||
);
|
||||
return _ThumbnailRenderBox(image: image, fit: fit, placeholderGradient: placeholderGradient);
|
||||
}
|
||||
|
||||
@override
|
||||
void updateRenderObject(
|
||||
BuildContext context,
|
||||
_ThumbnailRenderBox renderObject,
|
||||
) {
|
||||
void updateRenderObject(BuildContext context, _ThumbnailRenderBox renderObject) {
|
||||
renderObject.fit = fit;
|
||||
renderObject.image = image;
|
||||
renderObject.placeholderGradient = placeholderGradient;
|
||||
@@ -285,14 +264,11 @@ class _ThumbnailRenderBox extends RenderBox {
|
||||
@override
|
||||
bool isRepaintBoundary = true;
|
||||
|
||||
_ThumbnailRenderBox({
|
||||
required ui.Image? image,
|
||||
required BoxFit fit,
|
||||
required Gradient placeholderGradient,
|
||||
}) : _image = image,
|
||||
_fit = fit,
|
||||
_placeholderGradient = placeholderGradient,
|
||||
_lastImageRequest = DateTime.now();
|
||||
_ThumbnailRenderBox({required ui.Image? image, required BoxFit fit, required Gradient placeholderGradient})
|
||||
: _image = image,
|
||||
_fit = fit,
|
||||
_placeholderGradient = placeholderGradient,
|
||||
_lastImageRequest = DateTime.now();
|
||||
|
||||
@override
|
||||
void paint(PaintingContext context, Offset offset) {
|
||||
|
||||
@@ -79,10 +79,10 @@ class ThumbnailTile extends ConsumerWidget {
|
||||
child: Thumbnail.fromBaseAsset(
|
||||
asset: asset,
|
||||
thumbhashMode: isScrubbing
|
||||
? ThumbhashMode.only
|
||||
? ThumbhashMode.only
|
||||
: asset != null && asset.hasLocal
|
||||
? ThumbhashMode.disabled
|
||||
: ThumbhashMode.enabled,
|
||||
? ThumbhashMode.disabled
|
||||
: ThumbhashMode.enabled,
|
||||
),
|
||||
),
|
||||
),
|
||||
@@ -91,23 +91,17 @@ class ThumbnailTile extends ConsumerWidget {
|
||||
? const Align(
|
||||
alignment: Alignment.topRight,
|
||||
child: Padding(
|
||||
padding: EdgeInsets.only(
|
||||
right: 10.0,
|
||||
top: 24.0,
|
||||
),
|
||||
padding: EdgeInsets.only(right: 10.0, top: 24.0),
|
||||
child: _TileOverlayIcon(Icons.burst_mode_rounded),
|
||||
),
|
||||
)
|
||||
: const Align(
|
||||
alignment: Alignment.topRight,
|
||||
child: Padding(
|
||||
padding: EdgeInsets.only(
|
||||
right: 10.0,
|
||||
top: 6.0,
|
||||
),
|
||||
padding: EdgeInsets.only(right: 10.0, top: 6.0),
|
||||
child: _TileOverlayIcon(Icons.burst_mode_rounded),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
if (asset != null && asset.isVideo)
|
||||
Align(
|
||||
alignment: Alignment.topRight,
|
||||
|
||||
Reference in New Issue
Block a user