fix(mobile): hide video thumbnail when video is ready (#19328)
parent
a36840d7cc
commit
aa2828ab33
|
|
@ -63,6 +63,8 @@ class NativeVideoViewerPage extends HookConsumerWidget {
|
|||
|
||||
final isCasting = ref.watch(castProvider.select((c) => c.isCasting));
|
||||
|
||||
final isVideoReady = useState(false);
|
||||
|
||||
Future<VideoSource?> createSource() async {
|
||||
if (!context.mounted) {
|
||||
return null;
|
||||
|
|
@ -197,6 +199,8 @@ class NativeVideoViewerPage extends HookConsumerWidget {
|
|||
VideoPlaybackValue.fromNativeController(videoController);
|
||||
ref.read(videoPlaybackValueProvider.notifier).value = videoPlayback;
|
||||
|
||||
isVideoReady.value = true;
|
||||
|
||||
try {
|
||||
await videoController.play();
|
||||
await videoController.setVolume(0.9);
|
||||
|
|
@ -393,6 +397,7 @@ class NativeVideoViewerPage extends HookConsumerWidget {
|
|||
children: [
|
||||
// This remains under the video to avoid flickering
|
||||
// For motion videos, this is the image portion of the asset
|
||||
if (!isVideoReady.value || asset.isMotionPhoto)
|
||||
Center(key: ValueKey(asset.id), child: image),
|
||||
if (aspectRatio.value != null && !isCasting)
|
||||
Visibility.maintain(
|
||||
|
|
|
|||
Loading…
Reference in New Issue