camerauis/cameraapp/generic/src/CamAppController.cpp
branchRCL_3
changeset 18 51dda465e618
parent 16 d486e5e3cc9a
child 20 38fb6f7eacd5
equal deleted inserted replaced
16:d486e5e3cc9a 18:51dda465e618
  2814       if ( appUi )
  2814       if ( appUi )
  2815         {
  2815         {
  2816         appUi->SetAssumePostCaptureView( EFalse ); 
  2816         appUi->SetAssumePostCaptureView( EFalse ); 
  2817         } 
  2817         } 
  2818       }
  2818       }
  2819 
  2819       
  2820     if ( Busy() )
  2820     TBool cancelingAutoFocus = ( ECamControllerImage == CurrentMode() && 
       
  2821                                            iInfo.iActiveCamera == ECamActiveCameraPrimary &&
       
  2822                                            iConfigManager && 
       
  2823                                            iConfigManager->IsAutoFocusSupported() && 
       
  2824                                            iAFCancelInProgress );                                           
       
  2825                                                                                       
       
  2826     if ( Busy() || cancelingAutoFocus )
  2821       {
  2827       {
  2822       PRINT( _L("Camera <> CCamAppController::ReleaseCamera: set release pending") );
  2828       PRINT( _L("Camera <> CCamAppController::ReleaseCamera: set release pending") );
  2823       iPendingRelease = ETrue;
  2829       iPendingRelease = ETrue;
  2824       }
  2830       }
  2825     else if ( iCameraController && ECamCameraIdle != CameraState() )
  2831     else if ( iCameraController && ECamCameraIdle != CameraState() )
  2840         // completion event here to avoid problems
  2846         // completion event here to avoid problems
  2841         PRINT( _L("Camera <> CCamAppController::ReleaseCamera: Going to bacgkround in the middle of a burst capture") ); 
  2847         PRINT( _L("Camera <> CCamAppController::ReleaseCamera: Going to bacgkround in the middle of a burst capture") ); 
  2842         TRAP_IGNORE ( IssueDirectRequestL( ECamRequestImageCancel ) );
  2848         TRAP_IGNORE ( IssueDirectRequestL( ECamRequestImageCancel ) );
  2843         NotifyControllerObservers( ECamEventCaptureComplete, KErrCancel );          
  2849         NotifyControllerObservers( ECamEventCaptureComplete, KErrCancel );          
  2844         }
  2850         }
       
  2851       //In SetOperation(), it notify observer with ECamEventOperationStateChanged, 
       
  2852       //the clear work for flash indicator flag can be done with ECamEventOperationStateChanged in some abnormal cases.
       
  2853       if ( ECamControllerImage == CurrentMode() && iInfo.iActiveCamera == ECamActiveCameraPrimary )
       
  2854         {             
       
  2855         SetOperation( ECamNoOperation );
       
  2856         }
       
  2857 
  2845         
  2858         
  2846       //iInfo.iMode            = ECamControllerShutdown;
  2859       //iInfo.iMode            = ECamControllerShutdown;
  2847       //iInfo.iTargetMode      = ECamControllerIdle;
  2860       //iInfo.iTargetMode      = ECamControllerIdle;
  2848       iInfo.iTargetMode      = ECamControllerIdle;
  2861       iInfo.iTargetMode      = ECamControllerIdle;
  2849       iInfo.iImageMode       = ECamImageCaptureNone;
  2862       iInfo.iImageMode       = ECamImageCaptureNone;