using user stream builder for user changes

This commit is contained in:
otsmr 2026-04-22 21:00:39 +02:00
parent dde339d1b3
commit f8649298e0

View file

@ -209,13 +209,9 @@ class _CameraPreviewViewState extends State<CameraPreviewView> {
if (!_hasAudioPermission && if (!_hasAudioPermission &&
!userService.currentUser.requestedAudioPermission) { !userService.currentUser.requestedAudioPermission) {
await updateUser((u) { await updateUser((u) => u.requestedAudioPermission = true);
u.requestedAudioPermission = true;
});
await requestMicrophonePermission(); await requestMicrophonePermission();
} }
if (!mounted) return;
setState(() {});
} }
Future<void> requestMicrophonePermission() async { Future<void> requestMicrophonePermission() async {
@ -226,7 +222,9 @@ class _CameraPreviewViewState extends State<CameraPreviewView> {
await openAppSettings(); await openAppSettings();
} else { } else {
_hasAudioPermission = await Permission.microphone.isGranted; _hasAudioPermission = await Permission.microphone.isGranted;
setState(() {}); setState(() {
// _hasAudioPermission
});
} }
} }
@ -401,18 +399,16 @@ class _CameraPreviewViewState extends State<CameraPreviewView> {
return; return;
} }
setState(() {
mc.selectedCameraDetails.scaleFactor = mc.selectedCameraDetails.scaleFactor =
(_baseScaleFactor + (_baseScaleFactor +
// ignore: avoid_dynamic_calls // ignore: avoid_dynamic_calls
(_basePanY - (details.localPosition.dy as double)) / 30) (_basePanY - (details.localPosition.dy as double)) / 30)
.clamp(1, mc.selectedCameraDetails.maxAvailableZoom); .clamp(1, mc.selectedCameraDetails.maxAvailableZoom);
});
await mc.cameraController!.setZoomLevel( await mc.cameraController!.setZoomLevel(
mc.selectedCameraDetails.scaleFactor, mc.selectedCameraDetails.scaleFactor,
); );
if (mounted) {
setState(() {});
}
} }
Future<void> pickImageFromGallery() async { Future<void> pickImageFromGallery() async {
@ -597,7 +593,9 @@ class _CameraPreviewViewState extends State<CameraPreviewView> {
mc.cameraController == null) { mc.cameraController == null) {
return Container(); return Container();
} }
// TODO: STREAM BUILDER FOR GlOBAL USER CHANGES return StreamBuilder(
stream: userService.onUserUpdated,
builder: (context, asyncSnapshot) {
return MediaViewSizingHelper( return MediaViewSizingHelper(
requiredHeight: 0, requiredHeight: 0,
additionalPadding: 59, additionalPadding: 59,
@ -617,8 +615,11 @@ class _CameraPreviewViewState extends State<CameraPreviewView> {
}); });
// Get the position of the pointer // Get the position of the pointer
final renderBox = final renderBox =
keyTriggerButton.currentContext!.findRenderObject()! as RenderBox; keyTriggerButton.currentContext!.findRenderObject()!
final localPosition = renderBox.globalToLocal(details.globalPosition); as RenderBox;
final localPosition = renderBox.globalToLocal(
details.globalPosition,
);
final containerRect = Rect.fromLTWH( final containerRect = Rect.fromLTWH(
0, 0,
@ -683,10 +684,14 @@ class _CameraPreviewViewState extends State<CameraPreviewView> {
await mc.cameraController?.setFlashMode(FlashMode.off); await mc.cameraController?.setFlashMode(FlashMode.off);
mc.selectedCameraDetails.isFlashOn = false; mc.selectedCameraDetails.isFlashOn = false;
} else { } else {
await mc.cameraController?.setFlashMode(FlashMode.always); await mc.cameraController?.setFlashMode(
FlashMode.always,
);
mc.selectedCameraDetails.isFlashOn = true; mc.selectedCameraDetails.isFlashOn = true;
} }
setState(() {}); setState(() {
// mc.selectedCameraDetails.isFlashOn
});
}, },
onRequestMicrophone: requestMicrophonePermission, onRequestMicrophone: requestMicrophonePermission,
), ),
@ -724,5 +729,7 @@ class _CameraPreviewViewState extends State<CameraPreviewView> {
), ),
), ),
); );
},
);
} }
} }