diff -r ef70b7e23576 -r 90362ffca16a tactilefeedback/tactilefeedbackclient/src/touchfeedbackimpl.cpp --- a/tactilefeedback/tactilefeedbackclient/src/touchfeedbackimpl.cpp Wed May 26 00:48:57 2010 +0300 +++ b/tactilefeedback/tactilefeedbackclient/src/touchfeedbackimpl.cpp Tue Jun 08 18:37:57 2010 +0800 @@ -1146,6 +1146,35 @@ } // --------------------------------------------------------------------------- +// CTouchFeedbackImpl::InstantFeedback +// --------------------------------------------------------------------------- +// +void CTouchFeedbackImpl::InstantFeedback( TTouchLogicalFeedback aType, + TTouchFeedbackType aFeedbackType ) + { + if ( iClient && ( iAudioEnabledForThisApp || iVibraEnabledForThisApp ) ) + { + // Initialize vibra and audio enablers as given in param. + TBool vibraEnabled = aFeedbackType & ETouchFeedbackVibra; + TBool audioEnabled = aFeedbackType & ETouchFeedbackAudio; + + // Check application level vibra and audio enablers + if ( !iVibraEnabledForThisApp ) + { + vibraEnabled = EFalse; + } + if ( !iAudioEnabledForThisApp ) + { + audioEnabled = EFalse; + } + + TRACE4( "CTouchFeedbackImpl::InstantFeedback, type:=%d Vibra:%d Audio:%d", + aType, vibraEnabled, audioEnabled ); + iClient->ImmediateFeedback( aType, vibraEnabled, audioEnabled ); + } + } + +// --------------------------------------------------------------------------- // Here we do the actual work for adding new area to the registry // (or updating an existing one). // @@ -1730,9 +1759,8 @@ item.iEventType = aEventType; // range check. update when logical feedback types are changed. - if (! ( aFeedback >= ETouchFeedbackNone || aFeedback <= ETouchFeedbackSensitive) - || ! ( aFeedback >= ETouchFeedbackBasicButton || - aFeedback <= ETouchFeedbackOptionsMenuClosed ) ) + if ( !(aFeedback >= ETouchFeedbackNone && aFeedback <= ETouchFeedbackSensitive) + && !(aFeedback >= ETouchFeedbackBasicButton && aFeedback <= ETouchFeedbackLongPress) ) { return KErrArgument; }