diff --git a/Classes/MainScreenWithVideoPreview.m b/Classes/MainScreenWithVideoPreview.m index 5c7d962b0..39764b38d 100644 --- a/Classes/MainScreenWithVideoPreview.m +++ b/Classes/MainScreenWithVideoPreview.m @@ -39,19 +39,11 @@ } */ -// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. -- (void)viewDidLoad -{ - [super viewDidLoad]; - +-(void) initVideoPreview { session = [[AVCaptureSession alloc] init]; - - currentCamera = 0; - - AVCaptureVideoPreviewLayer* previewLayer = [AVCaptureVideoPreviewLayer layerWithSession:session]; previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill; @@ -62,7 +54,19 @@ [session setSessionPreset:AVCaptureSessionPresetHigh]; [session commitConfiguration]; - [self useCameraAtIndex:0 startSession:NO]; + [self useCameraAtIndex:0 startSession:NO]; +} + +// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. +- (void)viewDidLoad +{ + [super viewDidLoad]; + + bool enableVideo = [[NSUserDefaults standardUserDefaults] boolForKey:@"enable_video_preference"]; + + if (enableVideo) { + [self initVideoPreview ]; + } } -(void) switchCameraPressed { @@ -94,18 +98,31 @@ -(void) showPreview:(BOOL) show { - if (show && !session.running) { - [window addSubview:self.view]; - [window sendSubviewToBack:self.view]; - [session startRunning]; - } else if (!show && session.running) { + bool enableVideo = [[NSUserDefaults standardUserDefaults] boolForKey:@"enable_video_preference"]; + + if (enableVideo) { + if (session == nil) { + [self initVideoPreview]; + } + + if (show && !session.running) { + [window addSubview:self.view]; + [window sendSubviewToBack:self.view]; + [session startRunning]; + } else if (!show && session.running) { + [self.view removeFromSuperview]; + [session stopRunning]; + } + } else { + if (session != nil) + [session stopRunning]; [self.view removeFromSuperview]; - [session stopRunning]; } } -(void) viewDidAppear:(BOOL)animated { [phoneMainView.switchCamera addTarget:self action:@selector(switchCameraPressed) forControlEvents:UIControlEventTouchUpInside]; + } -(void) viewDidDisappear:(BOOL)animated { diff --git a/Classes/MainScreenWithVideoPreview.xib b/Classes/MainScreenWithVideoPreview.xib index 7efd70f0a..2a0b84cae 100644 --- a/Classes/MainScreenWithVideoPreview.xib +++ b/Classes/MainScreenWithVideoPreview.xib @@ -44,10 +44,11 @@ 292 {768, 1024} + _NS:196 3 - MQA + MC42NjY2NjY2NjY3AA NO NO @@ -142,6 +143,7 @@ 266 {{0, 975}, {768, 49}} + 3 MCAwAA @@ -156,6 +158,7 @@ 274 {{0, 20}, {768, 1004}} + _NS:212 1