tactilefeedback/tactilefeedbackresolver/src/tactilefeedbackresolver.cpp
branchRCL_3
changeset 19 be046265c55d
parent 16 897fc24e7865
child 21 f35d4b6d212e
equal deleted inserted replaced
16:897fc24e7865 19:be046265c55d
   110     }
   110     }
   111 
   111 
   112 TBool CTactileFeedbackResolver::IsHigherThanPlaying(
   112 TBool CTactileFeedbackResolver::IsHigherThanPlaying(
   113     TTouchLogicalFeedback aFeedback ) const
   113     TTouchLogicalFeedback aFeedback ) const
   114     {
   114     {
   115     return ( aFeedback == ETouchFeedbackPopUp || 
   115     if( aFeedback == ETouchFeedbackList &&
   116              aFeedback == ETouchFeedbackIncreasingPopUp || 
   116         iLastFeedback == ETouchFeedbackSensitiveList )
   117              aFeedback == ETouchFeedbackDecreasingPopUp ||
   117         {
   118              aFeedback == ETouchFeedbackBoundaryList ||
   118         return ETrue;
   119              aFeedback == ETouchFeedbackOptionsMenuOpened ||
   119         }
   120              aFeedback == ETouchFeedbackOptionsMenuClosed ||
   120     
   121              aFeedback == ETouchFeedbackSubMenuOpened ||
   121     return ( ( aFeedback == ETouchFeedbackPopUp || 
   122              aFeedback == ETouchFeedbackSubMenuClosed ) &&
   122             aFeedback == ETouchFeedbackIncreasingPopUp || 
   123            ( iLastFeedback == ETouchFeedbackBasicButton ||
   123             aFeedback == ETouchFeedbackDecreasingPopUp ||
   124              iLastFeedback == ETouchFeedbackSensitiveList ||
   124             aFeedback == ETouchFeedbackBoundaryList ||
   125              iLastFeedback == ETouchFeedbackList );
   125             aFeedback == ETouchFeedbackOptionsMenuOpened ||
       
   126             aFeedback == ETouchFeedbackOptionsMenuClosed ||
       
   127             aFeedback == ETouchFeedbackSubMenuOpened ||
       
   128             aFeedback == ETouchFeedbackSubMenuClosed ) &&
       
   129             ( iLastFeedback == ETouchFeedbackBasicButton ||
       
   130             iLastFeedback == ETouchFeedbackSensitiveButton ||
       
   131             iLastFeedback == ETouchFeedbackSensitiveList ||
       
   132             iLastFeedback == ETouchFeedbackList ||
       
   133             iLastFeedback == ETouchFeedbackCheckbox ) ) 
       
   134             || (
       
   135              aFeedback == ETouchFeedbackPopUp && 
       
   136              (iLastFeedback == ETouchFeedbackIncreasingPopUp ||
       
   137               iLastFeedback == ETouchFeedbackOptionsMenuOpened ||
       
   138               iLastFeedback == ETouchFeedbackSubMenuOpened)
       
   139              );
   126     }
   140     }
   127 
   141 
   128 // ---------------------------------------------------------------------------
   142 // ---------------------------------------------------------------------------
   129 // We play feedback in case all three conditions are met:
   143 // We play feedback in case all three conditions are met:
   130 // 
   144 // 
   156         willPlay = ETrue;
   170         willPlay = ETrue;
   157         }
   171         }
   158     else if ( IsHigherThanPlaying( aFeedback ) )
   172     else if ( IsHigherThanPlaying( aFeedback ) )
   159         {
   173         {
   160         willPlay = ETrue;
   174         willPlay = ETrue;
   161         if( iAudioPlayer )
       
   162             {
       
   163             iAudioPlayer->StopFeedback();
       
   164             }
       
   165         if( iHapticsPlayer )
       
   166             {
       
   167             iHapticsPlayer->StopFeedback();
       
   168             }
       
   169         }
   175         }
   170 
   176 
   171     if ( willPlay )
   177     if ( willPlay )
   172         {
   178         {
   173         // First store the timestamp of this feedback playing moment.
   179         // First store the timestamp of this feedback playing moment.