camerauis/cameraapp/generic/src/CamAppController.cpp
branchRCL_3
changeset 16 d486e5e3cc9a
parent 12 8c55c525d5d7
child 18 51dda465e618
equal deleted inserted replaced
12:8c55c525d5d7 16:d486e5e3cc9a
  2223   if( !iNoBurstCancel 
  2223   if( !iNoBurstCancel 
  2224    && ECamNoOperation != CurrentOperation()
  2224    && ECamNoOperation != CurrentOperation()
  2225    && ECamCompleting  != CurrentOperation() )
  2225    && ECamCompleting  != CurrentOperation() )
  2226     {  
  2226     {  
  2227     // If we are currently focused, cancel autofocus
  2227     // If we are currently focused, cancel autofocus
  2228     if ( IsViewFinding() && CurrentOperation() != ECamCapturing ) // Cannot do AF operations if VF not on. AF is anyway cancelled on VF start event.
  2228     if ( IsViewFinding() && CurrentOperation() != ECamCapturing && !InCallOrRinging() ) // Cannot do AF operations if VF not on. AF is anyway cancelled on VF start event.
  2229       {
  2229       {
  2230       if( ECamFocusing == CurrentOperation() )
  2230       if( ECamFocusing == CurrentOperation() )
  2231         {
  2231         {
  2232         CancelAFNow();
  2232         CancelAFNow();
  2233         if ( IsTouchScreenSupported() )
  2233         if ( IsTouchScreenSupported() )
  3141                 aSequence.Append( ECamRequestSsRelease );
  3141                 aSequence.Append( ECamRequestSsRelease );
  3142                 aSequence.Append( ECamRequestSsStart );
  3142                 aSequence.Append( ECamRequestSsStart );
  3143                 }
  3143                 }
  3144             else
  3144             else
  3145                 {
  3145                 {
  3146                 PRINT( _L( "Camera <> CCamAppController::GenerateModeChangeSequenceL: Snapshot off" ) );
  3146                 PRINT( _L( "Camera <> CCamAppController::GenerateModeChangeSequenceL: Snapshot on" ) );
  3147                 aSequence.Append( ECamRequestSsRelease );
  3147                 aSequence.Append( ECamRequestSsRelease );
  3148                 aSequence.Append( ECamRequestSsStop );
  3148                 aSequence.Append( ECamRequestSsStart ); // SS is requested and delivered to tn-manager, but not shown on display
  3149                 }
  3149                 }
  3150             }
  3150             }
  3151         }
  3151         }
  3152 
  3152 
  3153       break;
  3153       break;
  3184               aSequence.Append( ECamRequestSsRelease );
  3184               aSequence.Append( ECamRequestSsRelease );
  3185               aSequence.Append( ECamRequestSsStart );
  3185               aSequence.Append( ECamRequestSsStart );
  3186               }
  3186               }
  3187           else
  3187           else
  3188               {
  3188               {
  3189               PRINT( _L( "Camera <> CCamAppController::GenerateModeChangeSequenceL: Snapshot off" ) );
  3189               PRINT( _L( "Camera <> CCamAppController::GenerateModeChangeSequenceL: Snapshot on" ) );
  3190               aSequence.Append( ECamRequestSsRelease );
  3190               aSequence.Append( ECamRequestSsRelease );
  3191               aSequence.Append( ECamRequestSsStop );
  3191               aSequence.Append( ECamRequestSsStart );
  3192               }
  3192               }
  3193           }
  3193           }
  3194       break;
  3194       break;
  3195       }
  3195       }
  3196     // ---------------------------------
  3196     // ---------------------------------
  3297         iSettingsModel->SetIntegerSettingValueL( ECamSettingItemVideoMediaStorage, 
  3297         iSettingsModel->SetIntegerSettingValueL( ECamSettingItemVideoMediaStorage, 
  3298                                              ECamMediaStorageMassStorage );
  3298                                              ECamMediaStorageMassStorage );
  3299         }
  3299         }
  3300     else
  3300     else
  3301         {        
  3301         {        
       
  3302         TCamMediaStorage storage = iSettingModel->
       
  3303                                     IntegerSettingValue( ECamSettingItemRemovePhoneMemoryUsage )?
       
  3304                                     ECamMediaStorageNone:
       
  3305                                     ECamMediaStoragePhone;
       
  3306 
  3302         iSettingsModel->SetIntegerSettingValueL( ECamSettingItemPhotoMediaStorage, 
  3307         iSettingsModel->SetIntegerSettingValueL( ECamSettingItemPhotoMediaStorage, 
  3303                                              ECamMediaStoragePhone );
  3308                                                     storage );
  3304         
  3309         
  3305         iSettingsModel->SetIntegerSettingValueL( ECamSettingItemVideoMediaStorage, 
  3310         iSettingsModel->SetIntegerSettingValueL( ECamSettingItemVideoMediaStorage, 
  3306                                              ECamMediaStoragePhone );
  3311                                                     storage );
  3307         }
  3312         }
  3308 
  3313 
  3309 #endif // PRODUCT_SUPPORTS_FORCE_MEDIA_STORAGE_VALUE
  3314 #endif // PRODUCT_SUPPORTS_FORCE_MEDIA_STORAGE_VALUE
  3310     }
  3315     }
  3311 
  3316 
  3510       {
  3515       {
  3511       storageLocation = ECamMediaStorageMassStorage;
  3516       storageLocation = ECamMediaStorageMassStorage;
  3512       }
  3517       }
  3513     else
  3518     else
  3514       {
  3519       {
  3515       storageLocation = ECamMediaStoragePhone;
  3520       storageLocation = IntegerSettingValue( ECamSettingItemRemovePhoneMemoryUsage)? 
       
  3521                           ECamMediaStorageNone:
       
  3522                           ECamMediaStoragePhone;
  3516       }
  3523       }
  3517     }
  3524     }
  3518   return storageLocation;
  3525   return storageLocation;
  3519   }
  3526   }
  3520 
  3527 
  5696       store = ECamMediaStorageMassStorage;
  5703       store = ECamMediaStorageMassStorage;
  5697       }
  5704       }
  5698     else
  5705     else
  5699       {
  5706       {
  5700       PRINT( _L("Camera <> Force ECamMediaStoragePhone") );
  5707       PRINT( _L("Camera <> Force ECamMediaStoragePhone") );
  5701       store = ECamMediaStoragePhone;
  5708       store = IntegerSettingValue(ECamSettingItemRemovePhoneMemoryUsage)?
       
  5709                   ECamMediaStorageNone:
       
  5710                   ECamMediaStoragePhone;
  5702       }
  5711       }
  5703     }
  5712     }
  5704 
  5713 
  5705   TInt fileNameCounter = IntegerSettingValue( ECamSettingItemVideoNumber );
  5714   TInt fileNameCounter = IntegerSettingValue( ECamSettingItemVideoNumber );
  5706  
  5715  
  6940       SetPathnamesToNewStorageL( ECamMediaStorageMassStorage );
  6949       SetPathnamesToNewStorageL( ECamMediaStorageMassStorage );
  6941       }
  6950       }
  6942     else
  6951     else
  6943       {
  6952       {
  6944       PRINT( _L("Camera <> Force ECamMediaStoragePhone") );
  6953       PRINT( _L("Camera <> Force ECamMediaStoragePhone") );
  6945       iForcedStorageLocation = ECamMediaStoragePhone;
  6954       TCamMediaStorage storage = IntegerSettingValue(ECamSettingItemRemovePhoneMemoryUsage)?
  6946       SetPathnamesToNewStorageL( ECamMediaStoragePhone );
  6955                                   ECamMediaStorageNone:
       
  6956                                   ECamMediaStoragePhone;
       
  6957       iForcedStorageLocation = storage;
       
  6958       SetPathnamesToNewStorageL( storage );
  6947       }
  6959       }
  6948 		}
  6960 		}
  6949 	// Revert back to memory card, if aEnable is EFalse
  6961 	// Revert back to memory card, if aEnable is EFalse
  6950 	else
  6962 	else
  6951 		{
  6963 		{
  8300     // or not we have a silent profile
  8312     // or not we have a silent profile
  8301     CRepository* cr = CRepository::NewLC( KCRUidProfileEngine );
  8313     CRepository* cr = CRepository::NewLC( KCRUidProfileEngine );
  8302     TInt value;
  8314     TInt value;
  8303     User::LeaveIfError( cr->Get( KProEngActiveWarningTones, value ) );
  8315     User::LeaveIfError( cr->Get( KProEngActiveWarningTones, value ) );
  8304     CleanupStack::PopAndDestroy( cr );
  8316     CleanupStack::PopAndDestroy( cr );
       
  8317     
       
  8318     //In case the phone variant allows turning camera tones off,
       
  8319     // first check if that is the case here.
       
  8320     if ( iSettingsModel->IntegerSettingValue( ECamSettingItemPhotoCaptureTone )
       
  8321             == ECamSettToneOff )
       
  8322         {
       
  8323         return ETrue;
       
  8324         }
  8305 
  8325 
  8306     return ( value == 0 );
  8326     return ( value == 0 );
  8307     }
  8327     }
  8308 
  8328 
  8309 
  8329 
  8894             }
  8914             }
  8895         }
  8915         }
  8896       if( iSettingsRestoreNeeded )
  8916       if( iSettingsRestoreNeeded )
  8897         {
  8917         {
  8898         iSettingsRestoreNeeded = EFalse;  
  8918         iSettingsRestoreNeeded = EFalse;  
       
  8919         TRAP_IGNORE( iCameraController->DirectSettingsChangeL( ECameraSettingFacetracking ) );
  8899         TRAP( aStatus, RestoreSettingsToCameraL() );  
  8920         TRAP( aStatus, RestoreSettingsToCameraL() );  
  8900         }
  8921         }
  8901       // fixed toolbar is used only with touch devices
  8922       // fixed toolbar is used only with touch devices
  8902       if ( IsTouchScreenSupported() )
  8923       if ( IsTouchScreenSupported() )
  8903           {
  8924           {
  8926                 PRINT( _L("Camera: CCamAppController::HandleCameraEventL - secondary camera, stop location trail") )
  8947                 PRINT( _L("Camera: CCamAppController::HandleCameraEventL - secondary camera, stop location trail") )
  8927                 StopLocationTrail();
  8948                 StopLocationTrail();
  8928                 }
  8949                 }
  8929             }
  8950             }
  8930         }
  8951         }
       
  8952       //Check if profile is silent and/or camera tones are set off
       
  8953       IsProfileSilent();
  8931 
  8954 
  8932       break;
  8955       break;
  8933       }
  8956       }
  8934     case ECamCameraEventVfFrameReady:
  8957     case ECamCameraEventVfFrameReady:
  8935       {      
  8958       {      
  9331             GenerateNextValidVideoPathL();
  9354             GenerateNextValidVideoPathL();
  9332             });
  9355             });
  9333         }
  9356         }
  9334     else
  9357     else
  9335         {
  9358         {
       
  9359         TCamMediaStorage storage = IntegerSettingValue(ECamSettingItemRemovePhoneMemoryUsage)?
       
  9360                                 ECamMediaStorageNone:
       
  9361                                 ECamMediaStoragePhone;
  9336         TRAP_IGNORE( 
  9362         TRAP_IGNORE( 
  9337            {
  9363            {
  9338            iSettingsModel->SetIntegerSettingValueL( ECamSettingItemVideoMediaStorage, 
  9364            iSettingsModel->SetIntegerSettingValueL( ECamSettingItemVideoMediaStorage, 
  9339                                                     ECamMediaStoragePhone );
  9365                                                        storage );
  9340            GenerateNextValidVideoPathL();
  9366            GenerateNextValidVideoPathL();
  9341            });       
  9367            });       
  9342         
  9368         
  9343         }
  9369         }
  9344     iSettingProvider->AddPendingSettingChangeL( ECamSettingItemVideoMediaStorage );        
  9370     iSettingProvider->AddPendingSettingChangeL( ECamSettingItemVideoMediaStorage );        
  9796         
  9822         
  9797                 if( iConfigManager && iConfigManager->IsAutoFocusSupported() &&
  9823                 if( iConfigManager && iConfigManager->IsAutoFocusSupported() &&
  9798                     !iCaptureRequested && appUi &&	appUi->SelfTimer() && 
  9824                     !iCaptureRequested && appUi &&	appUi->SelfTimer() && 
  9799                     !appUi->SelfTimer()->IsActive())
  9825                     !appUi->SelfTimer()->IsActive())
  9800                     {
  9826                     {
  9801                     PlaySound( ECamAutoFocusComplete, EFalse );
  9827                     if ( !iSilentProfile || iShutterSndAlwaysOn  )
       
  9828                         {
       
  9829                         // Play only if camera tones are not set off
       
  9830                         PlaySound(ECamAutoFocusComplete, EFalse);
       
  9831                         }
  9802                     }
  9832                     }
  9803                 SetOperation( ECamFocused );
  9833                 SetOperation( ECamFocused );
  9804 	            }    
  9834 	            }    
  9805 	        else if(  aEventId==ECamCameraEventAutofocusFailed )
  9835 	        else if(  aEventId==ECamCameraEventAutofocusFailed )
  9806 	    	    {
  9836 	    	    {