@@ -3630,7 +3630,13 @@ public class CameraScreenImpl: ViewController, CameraScreen {
36303630 self . node. resumeCameraCapture ( fromGallery: true )
36313631 }
36323632
3633- var dismissControllerImpl : ( ( ) -> Void ) ?
3633+ class DismissArgs {
3634+ var resumeOnDismiss = true
3635+ }
3636+
3637+ var dismissControllerImpl : ( ( Bool ) -> Void ) ?
3638+ let dismissArgs = DismissArgs ( )
3639+
36343640 let controller : ViewController
36353641 if let current = self . galleryController {
36363642 controller = current
@@ -3686,7 +3692,7 @@ public class CameraScreenImpl: ViewController, CameraScreen {
36863692 }
36873693 }
36883694
3689- dismissControllerImpl ? ( )
3695+ dismissControllerImpl ? ( true )
36903696 } else {
36913697 stopCameraCapture ( )
36923698
@@ -3759,17 +3765,19 @@ public class CameraScreenImpl: ViewController, CameraScreen {
37593765 self . node. collage? . addResults ( signals: results)
37603766 }
37613767 } else {
3768+ self . node. animateOutToEditor ( )
37623769 if let assets = results as? [ PHAsset ] {
37633770 self . completion ( . single( . assets( assets) ) , nil , self . remainingStoryCount, {
3764-
37653771 } )
37663772 }
37673773 }
37683774 self . galleryController = nil
37693775
3770- dismissControllerImpl ? ( )
3776+ dismissControllerImpl ? ( false )
37713777 } , dismissed: { [ weak self] in
3772- resumeCameraCapture ( )
3778+ if dismissArgs. resumeOnDismiss {
3779+ resumeCameraCapture ( )
3780+ }
37733781 if let self {
37743782 self . node. hasGallery = false
37753783 self . node. requestUpdateLayout ( transition: . immediate)
@@ -3780,7 +3788,8 @@ public class CameraScreenImpl: ViewController, CameraScreen {
37803788 )
37813789 self . galleryController = controller
37823790
3783- dismissControllerImpl = { [ weak controller] in
3791+ dismissControllerImpl = { [ weak controller] resume in
3792+ dismissArgs. resumeOnDismiss = resume
37843793 controller? . dismiss ( animated: true )
37853794 }
37863795 }
0 commit comments