Revision: 201011 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 31 Mar 2010 22:03:28 +0300
branchRCL_3
changeset 12 63c33341dc19
parent 11 e0d1d1629961
child 13 a4df7952b706
Revision: 201011 Kit: 201013
package_definition.xml
tacticonserver/client/src/tacticon.cpp
tacticonserver/client/traces/OstTraceDefinitions.h
tacticonserver/server/group/bld.inf
tacticonserver/server/src/tacticonserver.cpp
tacticonserver/server/tacticonpluginfw/tacticonhapticsplugin/src/tacticonhapticsplayer.cpp
tacticonserver/server/tacticonpluginfw/tacticonhapticsplugin/traces/OstTraceDefinitions.h
tacticonserver/server/traces/OstTraceDefinitions.h
tactilefeedback/group/bld.inf
tactilefeedback/tactilearearegistry/traces/OstTraceDefinitions.h
tactilefeedback/tactileclickplugin/traces/OstTraceDefinitions.h
tactilefeedback/tactilefeedbackclient/src/touchfeedbackimpl.cpp
tactilefeedback/tactilefeedbackclient/traces/OstTraceDefinitions.h
tactilefeedback/tactilefeedbackresolver/group/bld.inf
tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackresolver.h
tactilefeedback/tactilefeedbackresolver/plugins/tactileaudioplugin/src/tactileaudioplayer.cpp
tactilefeedback/tactilefeedbackresolver/plugins/tactileaudioplugin/traces/OstTraceDefinitions.h
tactilefeedback/tactilefeedbackresolver/plugins/tactilehapticsplugin/traces/OstTraceDefinitions.h
tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/src/tactiletoneplayer.cpp
tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/traces/OstTraceDefinitions.h
tactilefeedback/tactilefeedbackresolver/plugins/tactilevibraplugin/src/tactilevibraplayer.cpp
tactilefeedback/tactilefeedbackresolver/plugins/tactilevibraplugin/traces/OstTraceDefinitions.h
tactilefeedback/tactilefeedbackresolver/src/tactilefeedbackresolver.cpp
tactilefeedback/tactilefeedbackresolver/traces/OstTraceDefinitions.h
--- 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