148 DoReleaseScreen(); |
148 DoReleaseScreen(); |
149 } |
149 } |
150 |
150 |
151 iViewFinderSettings = aSetting; |
151 iViewFinderSettings = aSetting; |
152 |
152 |
|
153 if ( !iViewFinderSettings.iEnabled ){ |
|
154 __CONTROLLER( "CMccCameraHandler::EnableViewFinderL, param update, exit" ) |
|
155 return; |
|
156 } |
153 __CONTROLLER( "CMccCameraHandler::EnableViewFinderL, starting vf" ) |
157 __CONTROLLER( "CMccCameraHandler::EnableViewFinderL, starting vf" ) |
154 |
158 |
155 CCamera* cam = IsCameraReady() ? iCamera : NULL; |
159 CCamera* cam = IsCameraReady() ? iCamera : NULL; |
156 if ( !iScreen ) |
160 if ( !iScreen ) |
157 { |
161 { |
215 __CONTROLLER_INT2( "CMccCameraHandler::GetViewFinderSettingsL, size", |
219 __CONTROLLER_INT2( "CMccCameraHandler::GetViewFinderSettingsL, size", |
216 iViewFinderSettings.iSize.iHeight, |
220 iViewFinderSettings.iSize.iHeight, |
217 iViewFinderSettings.iSize.iWidth) |
221 iViewFinderSettings.iSize.iWidth) |
218 __CONTROLLER_INT2( "CMccCameraHandler::GetViewFinderSettingsL, location", |
222 __CONTROLLER_INT2( "CMccCameraHandler::GetViewFinderSettingsL, location", |
219 iViewFinderSettings.iLocation.iX, |
223 iViewFinderSettings.iLocation.iX, |
220 iViewFinderSettings.iLocation.iY) |
224 iViewFinderSettings.iLocation.iY) |
221 aSetting = iViewFinderSettings; |
225 aSetting = iViewFinderSettings; |
|
226 aSetting.iEnabled = iViewFinderEnabled; |
222 __CONTROLLER( "CMccCameraHandler::GetViewFinderSettingsL,exit" ) |
227 __CONTROLLER( "CMccCameraHandler::GetViewFinderSettingsL,exit" ) |
223 } |
228 } |
224 |
229 |
225 // ----------------------------------------------------------------------------- |
230 // ----------------------------------------------------------------------------- |
226 // CMccCameraHandler::GetCamInfoL |
231 // CMccCameraHandler::GetCamInfoL |
729 // ----------------------------------------------------------------------------- |
734 // ----------------------------------------------------------------------------- |
730 // |
735 // |
731 void CMccCameraHandler::DoPowerOnComplete( TInt aError ) |
736 void CMccCameraHandler::DoPowerOnComplete( TInt aError ) |
732 { |
737 { |
733 __CONTROLLER_INT1( "CMccCameraHandler::DoPowerOnComplete, with value", aError ) |
738 __CONTROLLER_INT1( "CMccCameraHandler::DoPowerOnComplete, with value", aError ) |
|
739 |
734 if ( aError == KErrNone ) |
740 if ( aError == KErrNone ) |
735 { |
741 { |
736 iState = EPowered; |
742 iState = EPowered; |
|
743 |
|
744 // Notify observers about success, important to do before VF handling |
|
745 // as VF behaves more nicely at enabling when it sees that media recorder |
|
746 // is already using camera. |
|
747 NotifyObservers( aError ); |
737 |
748 |
738 // Viewfinder was enabled before resource release, enable again. |
749 // Viewfinder was enabled before resource release, enable again. |
739 // Also set old camera settings. |
750 // Also set old camera settings. |
740 if ( iViewFinderEnabled ) |
751 if ( iViewFinderEnabled ) |
741 { |
752 { |
755 } |
766 } |
756 else |
767 else |
757 { |
768 { |
758 __CONTROLLER_INT1( "CMccCameraHandler::DoPowerOnComplete, powering failed", aError ) |
769 __CONTROLLER_INT1( "CMccCameraHandler::DoPowerOnComplete, powering failed", aError ) |
759 iState = EFailed; |
770 iState = EFailed; |
760 } |
771 |
761 |
772 // Notify observers about failure |
762 // Notify observers about success or failure |
773 NotifyObservers( aError ); |
763 NotifyObservers( aError ); |
774 } |
764 |
775 |
765 __CONTROLLER( "CMccCameraHandler::DoPowerOnComplete, exit" ) |
776 __CONTROLLER( "CMccCameraHandler::DoPowerOnComplete, exit" ) |
766 } |
777 } |
767 |
778 |
768 // ----------------------------------------------------------------------------- |
779 // ----------------------------------------------------------------------------- |