# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1270062208 -10800 # Node ID 63c33341dc192aedc7854b9a509ac893d4db39a3 # Parent e0d1d162996134dd9719356482f8ea5eb4b5f9b9 Revision: 201011 Kit: 201013 diff -r e0d1d1629961 -r 63c33341dc19 package_definition.xml --- a/package_definition.xml Fri Mar 12 15:43:50 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff -r e0d1d1629961 -r 63c33341dc19 tacticonserver/client/src/tacticon.cpp --- a/tacticonserver/client/src/tacticon.cpp Fri Mar 12 15:43:50 2010 +0200 +++ b/tacticonserver/client/src/tacticon.cpp Wed Mar 31 22:03:28 2010 +0300 @@ -19,7 +19,7 @@ #include #include "tacticontrace.h" #include "tacticondefs.h" -#include "osttracedefinitions.h" +#include "OstTraceDefinitions.h" #ifdef OST_TRACE_COMPILER_IN_USE #include "tacticonTraces.h" #endif diff -r e0d1d1629961 -r 63c33341dc19 tacticonserver/client/traces/OstTraceDefinitions.h --- a/tacticonserver/client/traces/OstTraceDefinitions.h Fri Mar 12 15:43:50 2010 +0200 +++ b/tacticonserver/client/traces/OstTraceDefinitions.h Wed Mar 31 22:03:28 2010 +0300 @@ -19,5 +19,5 @@ // OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler // REMOVE BEFORE CHECK-IN TO VERSION CONTROL #define OST_TRACE_COMPILER_IN_USE -#include +#include #endif diff -r e0d1d1629961 -r 63c33341dc19 tacticonserver/server/group/bld.inf --- a/tacticonserver/server/group/bld.inf Fri Mar 12 15:43:50 2010 +0200 +++ b/tacticonserver/server/group/bld.inf Wed Mar 31 22:03:28 2010 +0300 @@ -21,8 +21,8 @@ DEFAULT PRJ_EXPORTS -../data/tacticons.ivt /epoc32/data/z/system/Sounds/Digital/tacticons.ivt -../data/tacticons.ivt /epoc32/release/winscw/udeb/Z/System/Sounds/Digital/tacticons.ivt +../data/Tacticons.ivt /epoc32/data/z/system/Sounds/Digital/tacticons.ivt +../data/Tacticons.ivt /epoc32/release/winscw/udeb/Z/System/Sounds/Digital/tacticons.ivt PRJ_MMPFILES ../tacticonpluginfw/group/tacticonpluginfw.mmp diff -r e0d1d1629961 -r 63c33341dc19 tacticonserver/server/src/tacticonserver.cpp --- a/tacticonserver/server/src/tacticonserver.cpp Fri Mar 12 15:43:50 2010 +0200 +++ b/tacticonserver/server/src/tacticonserver.cpp Wed Mar 31 22:03:28 2010 +0300 @@ -24,9 +24,9 @@ #include "tacticondefs.h" #include "tacticonshutdown.h" #include "tacticontrace.h" -#include "osttracedefinitions.h" +#include "OstTraceDefinitions.h" #ifdef OST_TRACE_COMPILER_IN_USE -#include "tacticonservertraces.h" +#include "tacticonserverTraces.h" #endif // -------------------------------------------------------------------------- diff -r e0d1d1629961 -r 63c33341dc19 tacticonserver/server/tacticonpluginfw/tacticonhapticsplugin/src/tacticonhapticsplayer.cpp --- a/tacticonserver/server/tacticonpluginfw/tacticonhapticsplugin/src/tacticonhapticsplayer.cpp Fri Mar 12 15:43:50 2010 +0200 +++ b/tacticonserver/server/tacticonpluginfw/tacticonhapticsplugin/src/tacticonhapticsplayer.cpp Wed Mar 31 22:03:28 2010 +0300 @@ -23,9 +23,9 @@ #include "tacticonhapticsplayer.h" #include "tacticonprivatecrkeys.h" #include "tacticontrace.h" -#include "osttracedefinitions.h" +#include "OstTraceDefinitions.h" #ifdef OST_TRACE_COMPILER_IN_USE -#include "tacticonhapticsplayertraces.h" +#include "tacticonhapticsplayerTraces.h" #endif diff -r e0d1d1629961 -r 63c33341dc19 tacticonserver/server/tacticonpluginfw/tacticonhapticsplugin/traces/OstTraceDefinitions.h --- a/tacticonserver/server/tacticonpluginfw/tacticonhapticsplugin/traces/OstTraceDefinitions.h Fri Mar 12 15:43:50 2010 +0200 +++ b/tacticonserver/server/tacticonpluginfw/tacticonhapticsplugin/traces/OstTraceDefinitions.h Wed Mar 31 22:03:28 2010 +0300 @@ -19,5 +19,5 @@ // OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler // REMOVE BEFORE CHECK-IN TO VERSION CONTROL #define OST_TRACE_COMPILER_IN_USE -#include +#include #endif diff -r e0d1d1629961 -r 63c33341dc19 tacticonserver/server/traces/OstTraceDefinitions.h --- a/tacticonserver/server/traces/OstTraceDefinitions.h Fri Mar 12 15:43:50 2010 +0200 +++ b/tacticonserver/server/traces/OstTraceDefinitions.h Wed Mar 31 22:03:28 2010 +0300 @@ -19,5 +19,5 @@ // OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler // REMOVE BEFORE CHECK-IN TO VERSION CONTROL #define OST_TRACE_COMPILER_IN_USE -#include +#include #endif diff -r e0d1d1629961 -r 63c33341dc19 tactilefeedback/group/bld.inf --- a/tactilefeedback/group/bld.inf Fri Mar 12 15:43:50 2010 +0200 +++ b/tactilefeedback/group/bld.inf Wed Mar 31 22:03:28 2010 +0300 @@ -23,10 +23,10 @@ #ifndef TOOLS -#include "../TactileAreaRegistry/group/bld.inf" -#include "../TactileFeedbackResolver/group/bld.inf" -#include "../TactileClickPlugin/group/bld.inf" -#include "../TactileFeedbackClient/group/bld.inf" -#include "../TactileActionPlugin/group/bld.inf" +#include "../tactilearearegistry/group/bld.inf" +#include "../tactilefeedbackresolver/group/bld.inf" +#include "../tactileclickplugin/group/bld.inf" +#include "../tactilefeedbackclient/group/bld.inf" +#include "../tactileactionplugin/group/bld.inf" #endif // TOOLS diff -r e0d1d1629961 -r 63c33341dc19 tactilefeedback/tactilearearegistry/traces/OstTraceDefinitions.h --- a/tactilefeedback/tactilearearegistry/traces/OstTraceDefinitions.h Fri Mar 12 15:43:50 2010 +0200 +++ b/tactilefeedback/tactilearearegistry/traces/OstTraceDefinitions.h Wed Mar 31 22:03:28 2010 +0300 @@ -19,5 +19,5 @@ // OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler // REMOVE BEFORE CHECK-IN TO VERSION CONTROL #define OST_TRACE_COMPILER_IN_USE -#include +#include #endif diff -r e0d1d1629961 -r 63c33341dc19 tactilefeedback/tactileclickplugin/traces/OstTraceDefinitions.h --- a/tactilefeedback/tactileclickplugin/traces/OstTraceDefinitions.h Fri Mar 12 15:43:50 2010 +0200 +++ b/tactilefeedback/tactileclickplugin/traces/OstTraceDefinitions.h Wed Mar 31 22:03:28 2010 +0300 @@ -19,5 +19,5 @@ // OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler // REMOVE BEFORE CHECK-IN TO VERSION CONTROL #define OST_TRACE_COMPILER_IN_USE -#include +#include #endif diff -r e0d1d1629961 -r 63c33341dc19 tactilefeedback/tactilefeedbackclient/src/touchfeedbackimpl.cpp --- a/tactilefeedback/tactilefeedbackclient/src/touchfeedbackimpl.cpp Fri Mar 12 15:43:50 2010 +0200 +++ b/tactilefeedback/tactilefeedbackclient/src/touchfeedbackimpl.cpp Wed Mar 31 22:03:28 2010 +0300 @@ -19,7 +19,7 @@ #include #include #include -#include +#include #include #include diff -r e0d1d1629961 -r 63c33341dc19 tactilefeedback/tactilefeedbackclient/traces/OstTraceDefinitions.h --- a/tactilefeedback/tactilefeedbackclient/traces/OstTraceDefinitions.h Fri Mar 12 15:43:50 2010 +0200 +++ b/tactilefeedback/tactilefeedbackclient/traces/OstTraceDefinitions.h Wed Mar 31 22:03:28 2010 +0300 @@ -19,5 +19,5 @@ // OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler // REMOVE BEFORE CHECK-IN TO VERSION CONTROL #define OST_TRACE_COMPILER_IN_USE -#include +#include #endif diff -r e0d1d1629961 -r 63c33341dc19 tactilefeedback/tactilefeedbackresolver/group/bld.inf --- a/tactilefeedback/tactilefeedbackresolver/group/bld.inf Fri Mar 12 15:43:50 2010 +0200 +++ b/tactilefeedback/tactilefeedbackresolver/group/bld.inf Wed Mar 31 22:03:28 2010 +0300 @@ -24,8 +24,8 @@ DEFAULT PRJ_EXPORTS -../data/TactileFeedbackEffects.ivt /epoc32/data/z/private/10003B20/TactileFeedbackEffects.ivt -../data/TactileFeedbackEffects.ivt /epoc32/release/winscw/udeb/Z/private/10003B20/TactileFeedbackEffects.ivt +../data/tactilefeedbackeffects.ivt /epoc32/data/z/private/10003B20/TactileFeedbackEffects.ivt +../data/tactilefeedbackeffects.ivt /epoc32/release/winscw/udeb/Z/private/10003B20/TactileFeedbackEffects.ivt // IBY file ../rom/tactilefeedbackresolver.iby CORE_IBY_EXPORT_PATH(mw, tactilefeedbackresolver.iby) diff -r e0d1d1629961 -r 63c33341dc19 tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackresolver.h --- a/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackresolver.h Fri Mar 12 15:43:50 2010 +0200 +++ b/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackresolver.h Wed Mar 31 22:03:28 2010 +0300 @@ -206,7 +206,16 @@ * the player plugin. */ void CreateAudioPlayerL( TUid aAudioUid ); - + + /** + * Return ETrue if aFeedback's priority is higher than current playing + * feedback, namely iLastFeedback. + * + * TODO: Currently, we only take Popup and Button effects into + * account. Ultimately, a complete priority queue should be set up. + */ + TBool IsHigherThanPlaying ( TTouchLogicalFeedback aFeedback ) const; + private: // data /** @@ -279,6 +288,12 @@ * EFalse - audio feedback is played first. */ TBool iVibraFirst; + + /** + * Name of the last played feedback. + * + */ + TTouchLogicalFeedback iLastFeedback; }; diff -r e0d1d1629961 -r 63c33341dc19 tactilefeedback/tactilefeedbackresolver/plugins/tactileaudioplugin/src/tactileaudioplayer.cpp --- a/tactilefeedback/tactilefeedbackresolver/plugins/tactileaudioplugin/src/tactileaudioplayer.cpp Fri Mar 12 15:43:50 2010 +0200 +++ b/tactilefeedback/tactilefeedbackresolver/plugins/tactileaudioplugin/src/tactileaudioplayer.cpp Wed Mar 31 22:03:28 2010 +0300 @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include diff -r e0d1d1629961 -r 63c33341dc19 tactilefeedback/tactilefeedbackresolver/plugins/tactileaudioplugin/traces/OstTraceDefinitions.h --- a/tactilefeedback/tactilefeedbackresolver/plugins/tactileaudioplugin/traces/OstTraceDefinitions.h Fri Mar 12 15:43:50 2010 +0200 +++ b/tactilefeedback/tactilefeedbackresolver/plugins/tactileaudioplugin/traces/OstTraceDefinitions.h Wed Mar 31 22:03:28 2010 +0300 @@ -19,5 +19,5 @@ // OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler // REMOVE BEFORE CHECK-IN TO VERSION CONTROL #define OST_TRACE_COMPILER_IN_USE -#include +#include #endif diff -r e0d1d1629961 -r 63c33341dc19 tactilefeedback/tactilefeedbackresolver/plugins/tactilehapticsplugin/traces/OstTraceDefinitions.h --- a/tactilefeedback/tactilefeedbackresolver/plugins/tactilehapticsplugin/traces/OstTraceDefinitions.h Fri Mar 12 15:43:50 2010 +0200 +++ b/tactilefeedback/tactilefeedbackresolver/plugins/tactilehapticsplugin/traces/OstTraceDefinitions.h Wed Mar 31 22:03:28 2010 +0300 @@ -19,5 +19,5 @@ // OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler // REMOVE BEFORE CHECK-IN TO VERSION CONTROL #define OST_TRACE_COMPILER_IN_USE -#include +#include #endif diff -r e0d1d1629961 -r 63c33341dc19 tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/src/tactiletoneplayer.cpp --- a/tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/src/tactiletoneplayer.cpp Fri Mar 12 15:43:50 2010 +0200 +++ b/tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/src/tactiletoneplayer.cpp Wed Mar 31 22:03:28 2010 +0300 @@ -18,8 +18,8 @@ #include #include -#include -#include +#include +#include #include #include #include diff -r e0d1d1629961 -r 63c33341dc19 tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/traces/OstTraceDefinitions.h --- a/tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/traces/OstTraceDefinitions.h Fri Mar 12 15:43:50 2010 +0200 +++ b/tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/traces/OstTraceDefinitions.h Wed Mar 31 22:03:28 2010 +0300 @@ -19,5 +19,5 @@ // OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler // REMOVE BEFORE CHECK-IN TO VERSION CONTROL #define OST_TRACE_COMPILER_IN_USE -#include +#include #endif diff -r e0d1d1629961 -r 63c33341dc19 tactilefeedback/tactilefeedbackresolver/plugins/tactilevibraplugin/src/tactilevibraplayer.cpp --- a/tactilefeedback/tactilefeedbackresolver/plugins/tactilevibraplugin/src/tactilevibraplayer.cpp Fri Mar 12 15:43:50 2010 +0200 +++ b/tactilefeedback/tactilefeedbackresolver/plugins/tactilevibraplugin/src/tactilevibraplayer.cpp Wed Mar 31 22:03:28 2010 +0300 @@ -20,7 +20,7 @@ #include #include #include -#include +#include #include "tactilefeedbackprivatecrkeys.h" #include "tactilefeedbacktrace.h" diff -r e0d1d1629961 -r 63c33341dc19 tactilefeedback/tactilefeedbackresolver/plugins/tactilevibraplugin/traces/OstTraceDefinitions.h --- a/tactilefeedback/tactilefeedbackresolver/plugins/tactilevibraplugin/traces/OstTraceDefinitions.h Fri Mar 12 15:43:50 2010 +0200 +++ b/tactilefeedback/tactilefeedbackresolver/plugins/tactilevibraplugin/traces/OstTraceDefinitions.h Wed Mar 31 22:03:28 2010 +0300 @@ -19,5 +19,5 @@ // OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler // REMOVE BEFORE CHECK-IN TO VERSION CONTROL #define OST_TRACE_COMPILER_IN_USE -#include +#include #endif diff -r e0d1d1629961 -r 63c33341dc19 tactilefeedback/tactilefeedbackresolver/src/tactilefeedbackresolver.cpp --- a/tactilefeedback/tactilefeedbackresolver/src/tactilefeedbackresolver.cpp Fri Mar 12 15:43:50 2010 +0200 +++ b/tactilefeedback/tactilefeedbackresolver/src/tactilefeedbackresolver.cpp Wed Mar 31 22:03:28 2010 +0300 @@ -47,7 +47,8 @@ // --------------------------------------------------------------------------- // CTactileFeedbackResolver::CTactileFeedbackResolver() : - iFeedbackStarted( EFalse ) + iFeedbackStarted( EFalse ), + iLastFeedback( ETouchFeedbackNone ) { } @@ -107,7 +108,17 @@ delete iAudioPlayer; REComSession::FinalClose(); } - + +TBool CTactileFeedbackResolver::IsHigherThanPlaying( + TTouchLogicalFeedback aFeedback ) const + { + return ( aFeedback == ETouchFeedbackPopUp || + aFeedback == ETouchFeedbackIncreasingPopUp || + aFeedback == ETouchFeedbackDecreasingPopUp ) && + ( iLastFeedback == ETouchFeedbackBasicButton || + iLastFeedback == ETouchFeedbackList ); + } + // --------------------------------------------------------------------------- // We play feedback in case all three conditions are met: // @@ -129,17 +140,32 @@ TTimeIntervalMicroSeconds interval = now.MicroSecondsFrom( iLastFeedbackTimeStamp ); + + TBool willPlay = EFalse; - if ( iMinimumInterval == TTimeIntervalMicroSeconds( 0 ) || - now < iLastFeedbackTimeStamp || - iMinimumInterval <= interval ) + if ( iMinimumInterval == TTimeIntervalMicroSeconds( 0 ) || + now < iLastFeedbackTimeStamp || + iMinimumInterval <= interval ) + { + willPlay = ETrue; + } + else if ( IsHigherThanPlaying( aFeedback ) ) + { + willPlay = ETrue; + + iAudioPlayer->StopFeedback(); + iHapticsPlayer->StopFeedback(); + } + + if ( willPlay ) { // First store the timestamp of this feedback playing moment. // This really needs to be done when // actually playing feedback (not when feedback was requested // but filtered out). iLastFeedbackTimeStamp = now; - + + iLastFeedback = aFeedback; // Force vibra- and audio feedback off if those are globally disabled if ( !iVibraEnabled ) diff -r e0d1d1629961 -r 63c33341dc19 tactilefeedback/tactilefeedbackresolver/traces/OstTraceDefinitions.h --- a/tactilefeedback/tactilefeedbackresolver/traces/OstTraceDefinitions.h Fri Mar 12 15:43:50 2010 +0200 +++ b/tactilefeedback/tactilefeedbackresolver/traces/OstTraceDefinitions.h Wed Mar 31 22:03:28 2010 +0300 @@ -19,5 +19,5 @@ // OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler // REMOVE BEFORE CHECK-IN TO VERSION CONTROL #define OST_TRACE_COMPILER_IN_USE -#include +#include #endif