tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/src/tactiletoneplayer.cpp
branchRCL_3
changeset 36 39d4c97df8cb
parent 19 be046265c55d
child 37 09b094b73eb8
equal deleted inserted replaced
34:d57e599df233 36:39d4c97df8cb
    65 
    65 
    66     // As a fix to EAKH-7LKANT, we're temporarily reading volume level
    66     // As a fix to EAKH-7LKANT, we're temporarily reading volume level
    67     // settings from profiles engine
    67     // settings from profiles engine
    68     InitializeProfilesEngineL();
    68     InitializeProfilesEngineL();
    69                                          
    69                                          
    70     if ( iAudioLevel > EProfileAudioFeedbackLevel3 )
    70     if ( iAudioLevel > EProfileAudioFeedbackLevel5 )
    71         {
    71         {
    72         User::Leave( KErrGeneral );
    72         User::Leave( KErrGeneral );
    73         }
    73         }
    74   
    74   
    75     ReadSettings();
    75     ReadSettings();
   137         
   137         
   138         switch ( aFeedback )
   138         switch ( aFeedback )
   139             {
   139             {
   140             case ETouchFeedbackBasic:               // flow through
   140             case ETouchFeedbackBasic:               // flow through
   141             case ETouchFeedbackBasicButton:         // flow through
   141             case ETouchFeedbackBasicButton:         // flow through
   142             case ETouchFeedbackList:                // flow through
   142             case ETouchFeedbackBasicItem:           // flow through
   143             case ETouchFeedbackBoundaryList:        // flow through
   143             case ETouchFeedbackBounceEffect:        // flow through
   144             case ETouchFeedbackSlider:              // flow through
   144             case ETouchFeedbackBasicSlider:         // flow through
   145             case ETouchFeedbackEdit:                // flow through
   145             case ETouchFeedbackEditor:              // flow through
   146             case ETouchFeedbackLineSelection:       // flow through
   146             case ETouchFeedbackLineSelection:       // flow through
   147             case ETouchFeedbackBlankSelection:      // flow through
   147             case ETouchFeedbackBlankSelection:      // flow through
   148             case ETouchFeedbackTextSelection:       // flow through
   148             case ETouchFeedbackTextSelection:       // flow through
   149             case ETouchFeedbackEmptyLineSelection:  // flow through
   149             case ETouchFeedbackEmptyLineSelection:  // flow through
   150             case ETouchFeedbackTab:                 // flow through
       
   151             case ETouchFeedbackPopUp:               // flow through
   150             case ETouchFeedbackPopUp:               // flow through
   152             case ETouchFeedbackIncreasingPopUp:     // flow through
   151             case ETouchFeedbackPopupOpen:           // flow through
   153             case ETouchFeedbackDecreasingPopUp:     // flow through
   152             case ETouchFeedbackPopupClose:          // flow through
   154             case ETouchFeedbackFlick:               // flow through
   153             case ETouchFeedbackItemScroll:          // flow through
   155             case ETouchFeedbackCheckbox:            // flow through
   154             case ETouchFeedbackCheckbox:            // flow through
   156             case ETouchFeedbackCharacterInputButton:
   155             case ETouchFeedbackMultitouchActivate:
   157             case ETouchFeedbackOptionsMenuOpened:
   156             case ETouchFeedbackBasicKeypad:
   158             case ETouchFeedbackOptionsMenuClosed:
   157             case ETouchFeedbackFlick:
   159             case ETouchFeedbackSubMenuOpened:
   158             case ETouchFeedbackItemDrop:
   160             case ETouchFeedbackSubMenuClosed:
   159             case ETouchFeedbackItemMoveOver:
   161             case ETouchFeedbackLongTap:
   160             case ETouchFeedbackItemPick:
   162             case ETouchFeedbackMultiTouchRecognized:
   161             case ETouchFeedbackMultipleCheckbox:
       
   162             case ETouchFeedbackRotateStep:
       
   163             case ETouchFeedbackStopFlick:
       
   164             case ETouchFeedbackLongPress:
   163                 effectIndex = 0;
   165                 effectIndex = 0;
   164                 break;
   166                 break;
   165             case ETouchFeedbackSensitive:           // flow through
   167             case ETouchFeedbackSensitive:           // flow through
   166             case ETouchFeedbackSensitiveButton:     // flow through
   168             case ETouchFeedbackSensitiveButton:     // flow through
   167             case ETouchFeedbackSensitiveList:      
   169             case ETouchFeedbackSensitiveItem:      
   168             case ETouchFeedbackSensitiveInput:
   170             case ETouchFeedbackSensitiveKeypad:
       
   171             case ETouchFeedbackSensitiveSlider:
   169                 effectIndex = 1;                    
   172                 effectIndex = 1;                    
   170                 break;                              
   173                 break;                              
   171             default:                                
   174             default:                                
   172                 effectIndex = 0;                    
   175                 effectIndex = 0;                    
   173                 break;                              
   176                 break;                              
   215     {
   218     {
   216     TRACE("CTactileTonePlayer::PlayPreviewFeedback - Begin");
   219     TRACE("CTactileTonePlayer::PlayPreviewFeedback - Begin");
   217     TInt ret( KErrArgument );
   220     TInt ret( KErrArgument );
   218     
   221     
   219     if ( aLevel > EProfileAudioFeedbackOff  &&
   222     if ( aLevel > EProfileAudioFeedbackOff  &&
   220          aLevel <= EProfileAudioFeedbackLevel3 )
   223          aLevel <= EProfileAudioFeedbackLevel5 )
   221         {
   224         {
   222         iOriginalLevel = iAudioLevel;
   225         iOriginalLevel = iAudioLevel;
   223         iAudioLevel = aLevel;
   226         iAudioLevel = aLevel;
   224         ReadSettings();    
   227         ReadSettings();    
   225         iCurrentEffectIndex = KErrNotFound;
   228         iCurrentEffectIndex = KErrNotFound;
   360         iRepository.Get( KTactileAudioToneDurationSensitiveLevel3,  
   363         iRepository.Get( KTactileAudioToneDurationSensitiveLevel3,  
   361                          sensitiveDuration );
   364                          sensitiveDuration );
   362         iRepository.Get( KTactileAudioToneVolumeSensitiveLevel3,  
   365         iRepository.Get( KTactileAudioToneVolumeSensitiveLevel3,  
   363                          sensitiveParams.iVolume );        
   366                          sensitiveParams.iVolume );        
   364         }
   367         }
       
   368     else if ( iAudioLevel == EProfileAudioFeedbackLevel4  )
       
   369         {
       
   370         // Read settings for ETouchFeedbackBasic, level 4
       
   371         iRepository.Get( KTactileAudioToneFreqBasicLevel4,     
       
   372                          basicParams.iFrequency );
       
   373         iRepository.Get( KTactileAudioToneDurationBasicLevel4, 
       
   374                          basicDuration );
       
   375         iRepository.Get( KTactileAudioToneVolumeBasicLevel4,   
       
   376                          basicParams.iVolume );
       
   377         
       
   378         // Read settings for ETouchFeedbackSensitive, level 4
       
   379         iRepository.Get( KTactileAudioToneFreqSensitiveLevel4, 
       
   380                          sensitiveParams.iFrequency );
       
   381         iRepository.Get( KTactileAudioToneDurationSensitiveLevel4,  
       
   382                          sensitiveDuration );
       
   383         iRepository.Get( KTactileAudioToneVolumeSensitiveLevel4,  
       
   384                          sensitiveParams.iVolume );
       
   385         }
       
   386     else if ( iAudioLevel == EProfileAudioFeedbackLevel5  )
       
   387         {
       
   388         // Read settings for ETouchFeedbackBasic, level 5
       
   389         iRepository.Get( KTactileAudioToneFreqBasicLevel5,     
       
   390                          basicParams.iFrequency );
       
   391         iRepository.Get( KTactileAudioToneDurationBasicLevel5, 
       
   392                          basicDuration );
       
   393         iRepository.Get( KTactileAudioToneVolumeBasicLevel5,   
       
   394                          basicParams.iVolume );
       
   395         
       
   396         // Read settings for ETouchFeedbackSensitive, level 5
       
   397         iRepository.Get( KTactileAudioToneFreqSensitiveLevel5, 
       
   398                          sensitiveParams.iFrequency );
       
   399         iRepository.Get( KTactileAudioToneDurationSensitiveLevel5,  
       
   400                          sensitiveDuration );
       
   401         iRepository.Get( KTactileAudioToneVolumeSensitiveLevel5,  
       
   402                          sensitiveParams.iVolume );
       
   403         }
   365      
   404      
   366     // Clear old parameters. Only do it at end, so that we still have the
   405     // Clear old parameters. Only do it at end, so that we still have the
   367     // old settings in case something fails when reading these from 
   406     // old settings in case something fails when reading these from 
   368     // Central Repository.
   407     // Central Repository.
   369     iSoundParams.Reset();
   408     iSoundParams.Reset();
   380     // --> Convert to 0-CMdaAudioToneUtility::MaxVolume    
   419     // --> Convert to 0-CMdaAudioToneUtility::MaxVolume    
   381     basicParams.iVolume     = ScaleVolume( basicParams.iVolume );
   420     basicParams.iVolume     = ScaleVolume( basicParams.iVolume );
   382     sensitiveParams.iVolume = ScaleVolume( sensitiveParams.iVolume );
   421     sensitiveParams.iVolume = ScaleVolume( sensitiveParams.iVolume );
   383     
   422     
   384     // Store parameters for different feedback types
   423     // Store parameters for different feedback types
   385     iSoundParams.Append( basicParams );
   424     // if append fail just make its action like before
   386     iSoundParams.Append( sensitiveParams );
   425     TRAP_IGNORE( iSoundParams.AppendL( basicParams ) );
       
   426     TRAP_IGNORE( iSoundParams.AppendL( sensitiveParams ) );
   387     TRACE("CTactileTonePlayer::ReadSettingsL - End");        
   427     TRACE("CTactileTonePlayer::ReadSettingsL - End");        
   388     }
   428     }
   389 
   429 
   390 // ---------------------------------------------------------------------------
   430 // ---------------------------------------------------------------------------
   391 // Scale the volume, and perform sanity check.
   431 // Scale the volume, and perform sanity check.