From 4b84b3f20e17c5054d7904905b537dd23ffc94ae Mon Sep 17 00:00:00 2001 From: otsmr Date: Thu, 29 May 2025 23:35:15 +0200 Subject: [PATCH] close camera and reset state --- lib/src/views/camera/camera_send_to_view.dart | 8 ++++++++ lib/src/views/home_view.dart | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/src/views/camera/camera_send_to_view.dart b/lib/src/views/camera/camera_send_to_view.dart index c8dd548..cd73f69 100644 --- a/lib/src/views/camera/camera_send_to_view.dart +++ b/lib/src/views/camera/camera_send_to_view.dart @@ -23,6 +23,14 @@ class CameraSendToViewState extends State { selectCamera(0, true, false); } + @override + void dispose() { + cameraController?.dispose(); + cameraController = null; + selectedCameraDetails = SelectedCameraDetails(); + super.dispose(); + } + Future selectCamera(int sCameraId, bool init, bool enableAudio) async { final opts = await initializeCameraController( selectedCameraDetails, sCameraId, init, enableAudio); diff --git a/lib/src/views/home_view.dart b/lib/src/views/home_view.dart index 632379f..ea383e7 100644 --- a/lib/src/views/home_view.dart +++ b/lib/src/views/home_view.dart @@ -73,9 +73,10 @@ class HomeViewState extends State { selectCamera(selectedCameraDetails.cameraId, false, false); } if (offsetRatio == 1) { - disableCameraTimer = Timer(Duration(seconds: 1), () { + disableCameraTimer = Timer(Duration(milliseconds: 500), () { cameraController?.dispose(); cameraController = null; + selectedCameraDetails = SelectedCameraDetails(); disableCameraTimer = null; }); }