void _updateSourceStream(ImageStream newStream) { if (_imageStream?.key == newStream?.key) { return; } if (_isListeningToStream) { _imageStream.removeListener(_getListener()); } if (!widget.gaplessPlayback) { setState(() => { _imageInfo = null; }); } setState(() => { _loadingProgress = null; _frameNumber = 0; _wasSynchronouslyLoaded = false; }); _imageStream = newStream; if (_isListeningToStream) { _imageStream.addListener(_getListener()); } }
void _handleImageFrame(ImageInfo imageInfo, bool synchronousCall) { setState(() => { _imageInfo = imageInfo; _loadingProgress = null; _frameNumber = _frameNumber == null ? 0 : _frameNumber + 1; _wasSynchronouslyLoaded |= synchronousCall; }); }
void _handleImageChunk(ImageChunkEvent _event) { D.assert(widget.loadingBuilder != null); setState(() => { _loadingProgress = _event; }); }