--- 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 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0">
- <package id="hapticsservices" name="Haptics Services" levels="fw api">
- <collection id="tactilefeedback" name="Tactile Feedback" level="fw">
- <component id="tactilearearegistry" filter="s60" name="Tactile Area Registry" introduced="^1">
- <unit bldFile="tactilefeedback/tactilearearegistry/group"/>
- </component>
- <component id="tactilefeedbackclient" filter="s60" name="Tactile Feedback Client" introduced="^1">
- <unit bldFile="tactilefeedback/tactilefeedbackclient/group"/>
- </component>
- <component id="tactilefeedback_build" filter="s60" name="Tactile Feedback Build" introduced="^1">
- <!-- consider moving IBY to one fo the above components -->
- <unit bldFile="tactilefeedback/group"/>
- </component>
- </collection>
- <collection id="hapticsservices_info" name="Haptics Services Info" level="api">
- <component id="hapticsservices_pub" filter="s60" name="Haptics Services Public Interfaces" class="api" introduced="^1">
- <unit bldFile="hapticsservices_pub/group"/>
- </component>
- <component id="hapticsservices_plat" filter="s60" name="Haptics Services Platform Interfaces" class="api" introduced="^1">
- <unit bldFile="hapticsservices_plat/group"/>
- </component>
- </collection>
- </package>
-</SystemDefinition>
--- 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 <featmgr.h>
#include "tacticontrace.h"
#include "tacticondefs.h"
-#include "osttracedefinitions.h"
+#include "OstTraceDefinitions.h"
#ifdef OST_TRACE_COMPILER_IN_USE
#include "tacticonTraces.h"
#endif
--- 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 <OpenSystemTrace.h>
+#include <opensystemtrace.h>
#endif
--- 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
--- 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
// --------------------------------------------------------------------------
--- 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
--- 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 <OpenSystemTrace.h>
+#include <opensystemtrace.h>
#endif
--- 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 <OpenSystemTrace.h>
+#include <opensystemtrace.h>
#endif
--- 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
--- 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 <OpenSystemTrace.h>
+#include <opensystemtrace.h>
#endif
--- 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 <OpenSystemTrace.h>
+#include <opensystemtrace.h>
#endif
--- 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 <eikenv.h>
#include <coecntrl.h>
#include <featmgr.h>
-#include <aknutils.h>
+#include <AknUtils.h>
#include <tactilefeedbacktrace.h>
#include <touchfeedbackspec.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 <OpenSystemTrace.h>
+#include <opensystemtrace.h>
#endif
--- 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)
--- 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;
};
--- 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 <centralrepository.h>
#include <ecom/implementationproxy.h>
-#include <audiopreference.h>
+#include <AudioPreference.h>
#include <mda/common/audio.h>
#include <mdaaudiooutputstream.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 <OpenSystemTrace.h>
+#include <opensystemtrace.h>
#endif
--- 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 <OpenSystemTrace.h>
+#include <opensystemtrace.h>
#endif
--- 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 <ecom/implementationproxy.h>
#include <centralrepository.h>
-#include <audiopreference.h>
-#include <profileinternal.hrh>
+#include <AudioPreference.h>
+#include <ProfileInternal.hrh>
#include <MProfileEngine.h>
#include <MProfile.h>
#include <MProfileExtraSettings.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 <OpenSystemTrace.h>
+#include <opensystemtrace.h>
#endif
--- 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 <hwrmvibra.h>
#include <centralrepository.h>
#include <ecom/implementationproxy.h>
-#include <profileinternal.hrh>
+#include <ProfileInternal.hrh>
#include "tactilefeedbackprivatecrkeys.h"
#include "tactilefeedbacktrace.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 <OpenSystemTrace.h>
+#include <opensystemtrace.h>
#endif
--- 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 )
--- 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 <OpenSystemTrace.h>
+#include <opensystemtrace.h>
#endif