Surface video playback error on UI (#1189)

This commit is contained in:
Neeraj Gupta 2023-07-03 09:44:14 +05:30 committed by GitHub
commit d0cf8165db
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 3 deletions

View file

@ -12,6 +12,7 @@ import 'package:photos/models/file.dart';
import 'package:photos/services/files_service.dart';
import 'package:photos/ui/viewer/file/thumbnail_widget.dart';
import 'package:photos/ui/viewer/file/video_controls.dart';
import "package:photos/utils/dialog_util.dart";
import 'package:photos/utils/file_util.dart';
import 'package:photos/utils/toast_util.dart';
import 'package:video_player/video_player.dart';
@ -135,12 +136,29 @@ class _VideoWidgetState extends State<VideoWidget> {
} else {
videoPlayerController = VideoPlayerController.file(file!);
}
return _videoPlayerController = videoPlayerController
debugPrint("videoPlayerController: $videoPlayerController");
_videoPlayerController = videoPlayerController
..initialize().whenComplete(() {
if (mounted) {
setState(() {});
}
});
}).onError(
(error, stackTrace) {
if (mounted) {
if (error is Exception) {
showErrorDialogForException(
context: context,
exception: error,
message: "Failed to play video\n ${error.toString()}",
);
} else {
showToast(context, "Failed to play video");
}
}
},
);
return videoPlayerController;
}
@override

View file

@ -46,8 +46,10 @@ Future<ButtonResult?> showErrorDialogForException({
required Exception exception,
bool isDismissible = true,
String apiErrorPrefix = "It looks like something went wrong.",
String? message,
}) async {
String errorMessage = S.of(context).tempErrorContactSupportIfPersists;
String errorMessage =
message ?? S.of(context).tempErrorContactSupportIfPersists;
if (exception is DioError &&
exception.response != null &&
exception.response!.data["code"] != null) {