fix same camera is opened again when return to the camera controller

This commit is contained in:
otsmr 2026-05-12 23:19:03 +02:00
parent e6b549e897
commit 0a91e34348
2 changed files with 5 additions and 2 deletions

View file

@ -15,10 +15,10 @@ import 'package:twonly/src/visual/themes/dark.dart';
import 'package:twonly/src/visual/themes/light.dart'; import 'package:twonly/src/visual/themes/light.dart';
import 'package:twonly/src/visual/views/critical_error.view.dart'; import 'package:twonly/src/visual/views/critical_error.view.dart';
import 'package:twonly/src/visual/views/home.view.dart'; import 'package:twonly/src/visual/views/home.view.dart';
import 'package:twonly/src/visual/views/recovery.view.dart';
import 'package:twonly/src/visual/views/onboarding/onboarding.view.dart'; import 'package:twonly/src/visual/views/onboarding/onboarding.view.dart';
import 'package:twonly/src/visual/views/onboarding/register.view.dart'; import 'package:twonly/src/visual/views/onboarding/register.view.dart';
import 'package:twonly/src/visual/views/onboarding/setup.view.dart'; import 'package:twonly/src/visual/views/onboarding/setup.view.dart';
import 'package:twonly/src/visual/views/recovery.view.dart';
import 'package:twonly/src/visual/views/unlock_twonly.view.dart'; import 'package:twonly/src/visual/views/unlock_twonly.view.dart';
class App extends StatefulWidget { class App extends StatefulWidget {

View file

@ -341,6 +341,9 @@ class _CameraPreviewViewState extends State<CameraPreviewView> {
await _deInitVolumeControl(); await _deInitVolumeControl();
if (!mounted) return true; if (!mounted) return true;
// Cache active camera ID since ShareImageEditorView closes the camera and resets state parameters.
final initialCameraId = mc.selectedCameraDetails.cameraId;
final shouldReturn = final shouldReturn =
await Navigator.push( await Navigator.push(
context, context,
@ -381,7 +384,7 @@ class _CameraPreviewViewState extends State<CameraPreviewView> {
return true; return true;
} }
await mc.selectCamera( await mc.selectCamera(
mc.selectedCameraDetails.cameraId, initialCameraId,
false, false,
); );
return false; return false;