# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1283257839 -10800 # Node ID 39d4c97df8cb492410bd7a3bcafea29671f27a67 # Parent d57e599df2334c66938e54b01f16260b1cc4ebbf Revision: 201033 Kit: 201035 diff -r d57e599df233 -r 39d4c97df8cb hapticsservices_plat/tactile_feedback_core_api/inc/tactilefeedback.h --- a/hapticsservices_plat/tactile_feedback_core_api/inc/tactilefeedback.h Thu Aug 19 10:13:11 2010 +0300 +++ b/hapticsservices_plat/tactile_feedback_core_api/inc/tactilefeedback.h Tue Aug 31 15:30:39 2010 +0300 @@ -92,7 +92,7 @@ IMPORT_C void ModifyFeedback( TInt aIntensity ); /** - * Stops the ongoing feedback. + * Stops the ongoing continuous feedback. * * @since S60 5.2 */ diff -r d57e599df233 -r 39d4c97df8cb hapticsservices_plat/tactile_feedback_server_api/tsrc/group/testdomtactilefeedbackserver.mmp --- a/hapticsservices_plat/tactile_feedback_server_api/tsrc/group/testdomtactilefeedbackserver.mmp Thu Aug 19 10:13:11 2010 +0300 +++ b/hapticsservices_plat/tactile_feedback_server_api/tsrc/group/testdomtactilefeedbackserver.mmp Tue Aug 31 15:30:39 2010 +0300 @@ -51,7 +51,7 @@ SOURCE testtactilefeedbackserver.cpp LIBRARY euser.lib -LIBRARY StifTestInterface.lib +LIBRARY stiftestinterface.lib LIBRARY stiftestengine.lib LIBRARY tactileclickplugin.lib diff -r d57e599df233 -r 39d4c97df8cb hapticsservices_plat/tactile_feedback_server_api/tsrc/inc/testdomtactilefeedbackserver.h --- a/hapticsservices_plat/tactile_feedback_server_api/tsrc/inc/testdomtactilefeedbackserver.h Thu Aug 19 10:13:11 2010 +0300 +++ b/hapticsservices_plat/tactile_feedback_server_api/tsrc/inc/testdomtactilefeedbackserver.h Tue Aug 31 15:30:39 2010 +0300 @@ -91,20 +91,6 @@ * Method used to log version of test class */ void SendTestClassVersion(); - - /* - * Turn off ScreenSaver - * @since S60 5.0 - * @return Symbian OS error code. - */ - void TurnOffScreenSaver(); - - /** - * Restore ScreenSaver - * @since S60 5.0 - * @return Symbian OS error code. - */ - void RestoreScreenSaver(); private: // Data diff -r d57e599df233 -r 39d4c97df8cb hapticsservices_plat/tactile_feedback_server_api/tsrc/src/testdomtactilefeedbackserver.cpp --- a/hapticsservices_plat/tactile_feedback_server_api/tsrc/src/testdomtactilefeedbackserver.cpp Thu Aug 19 10:13:11 2010 +0300 +++ b/hapticsservices_plat/tactile_feedback_server_api/tsrc/src/testdomtactilefeedbackserver.cpp Tue Aug 31 15:30:39 2010 +0300 @@ -20,7 +20,6 @@ // INCLUDE FILES #include #include -#include #include #include "testdomtactilefeedbackserver.h" @@ -101,8 +100,6 @@ EFalse ); SendTestClassVersion(); - - TurnOffScreenSaver(); } // ----------------------------------------------------------------------------- @@ -155,30 +152,4 @@ return ( CScriptBase* ) Ctestdomtactilefeedbackserver::NewL( aTestModuleIf ); } -// ----------------------------------------------------------------------------- -// Turn off ScreenSaver -// ----------------------------------------------------------------------------- -// -void Ctestdomtactilefeedbackserver::TurnOffScreenSaver() - { - TInt err1 = RProperty::Get( KPSUidScreenSaver, KScreenSaverAllowScreenSaver, - iOldScreenSaverProperty ); - TInt err2 = RProperty::Set( KPSUidScreenSaver, KScreenSaverAllowScreenSaver, - KScreenSaverAllowScreenSaver ); - RDebug::Printf( "screensaver property=%d err1=%d err2=%d\n", - iOldScreenSaverProperty, err1, err2 ); - } - -// ----------------------------------------------------------------------------- -// Restore ScreenSaver -// ----------------------------------------------------------------------------- -// -void Ctestdomtactilefeedbackserver::RestoreScreenSaver() - { - RProperty::Set( KPSUidScreenSaver, KScreenSaverAllowScreenSaver, - iOldScreenSaverProperty ); - User::ResetInactivityTime(); - } - - // End of File diff -r d57e599df233 -r 39d4c97df8cb hapticsservices_pub/tactile_feedback_client_api/inc/touchfeedback.h --- a/hapticsservices_pub/tactile_feedback_client_api/inc/touchfeedback.h Thu Aug 19 10:13:11 2010 +0300 +++ b/hapticsservices_pub/tactile_feedback_client_api/inc/touchfeedback.h Tue Aug 31 15:30:39 2010 +0300 @@ -584,10 +584,10 @@ /** - * This function stops feedback. + * This function stops continuous feedback. * * @since S60 5.2 - * @param aControl - The control which feedback is stopped. + * @param aControl - The control which continuous feedback is stopped. */ virtual void StopFeedback( const CCoeControl* aControl ) = 0; @@ -694,6 +694,25 @@ TTouchFeedbackType aFeedbackType, const TPointerEvent& aPointerEvent ) = 0; + /** + * Gives direct feedback. + * + * Notice that the feedback might not be actually played, if + * for example user has disabled the feedback from the settings. + * + * This function always causes a synchronous client-server transaction, + * and potentially flushing of window server client-side buffer. Using this + * overload it is also possible to disable unwanted feedback (vibra/audio) + * by giving only wanted feedback type as parameter. + * + * @since S60 5.2 + * @param aType - The logical feedback type to play. + * @param aFeedbackType - Feedback types to be played as a bitmask + * combination of enumeration items from + * TTouchFeedbackType + */ + virtual void InstantFeedback( TTouchLogicalFeedback aType, + TTouchFeedbackType aFeedbackType ) = 0; }; diff -r d57e599df233 -r 39d4c97df8cb hapticsservices_pub/tactile_feedback_client_api/inc/touchlogicalfeedback.h --- a/hapticsservices_pub/tactile_feedback_client_api/inc/touchlogicalfeedback.h Thu Aug 19 10:13:11 2010 +0300 +++ b/hapticsservices_pub/tactile_feedback_client_api/inc/touchlogicalfeedback.h Tue Aug 31 15:30:39 2010 +0300 @@ -71,29 +71,33 @@ // New types for S60 5.2: ETouchFeedbackBasicButton = 0x100, ETouchFeedbackSensitiveButton, - ETouchFeedbackList, - ETouchFeedbackSensitiveList, - ETouchFeedbackBoundaryList, - ETouchFeedbackSlider, - ETouchFeedbackEdit, + ETouchFeedbackBasicItem, + ETouchFeedbackSensitiveItem, + ETouchFeedbackBounceEffect, + ETouchFeedbackBasicSlider, + ETouchFeedbackEditor, ETouchFeedbackLineSelection, ETouchFeedbackBlankSelection, ETouchFeedbackTextSelection, - ETouchFeedbackEmptyLineSelection, - ETouchFeedbackTab, + ETouchFeedbackEmptyLineSelection, ETouchFeedbackPopUp, - ETouchFeedbackIncreasingPopUp, - ETouchFeedbackDecreasingPopUp, - ETouchFeedbackFlick, + ETouchFeedbackPopupOpen, + ETouchFeedbackPopupClose, + ETouchFeedbackItemScroll, ETouchFeedbackCheckbox, - ETouchFeedbackSensitiveInput, - ETouchFeedbackCharacterInputButton, - ETouchFeedbackOptionsMenuOpened, - ETouchFeedbackOptionsMenuClosed, - ETouchFeedbackSubMenuOpened, - ETouchFeedbackSubMenuClosed, - ETouchFeedbackLongTap, - ETouchFeedbackMultiTouchRecognized + ETouchFeedbackSensitiveKeypad, + ETouchFeedbackMultitouchActivate, + // New types for 10.1: + ETouchFeedbackBasicKeypad, + ETouchFeedbackFlick, + ETouchFeedbackItemDrop, + ETouchFeedbackItemMoveOver, + ETouchFeedbackItemPick, + ETouchFeedbackMultipleCheckbox, + ETouchFeedbackRotateStep, + ETouchFeedbackSensitiveSlider, + ETouchFeedbackStopFlick, + ETouchFeedbackLongPress }; /** @@ -105,8 +109,8 @@ ETouchContinuousSmooth = 0x300, // For generic continuous feedback for custom controls ETouchContinuousSlider, ETouchContinuousInput, - ETouchContinuousFlick, - ETouchDynamicSlider + ETouchContinuousPopup, + ETouchContinuousPinch }; /** diff -r d57e599df233 -r 39d4c97df8cb hapticsservices_pub/tactile_feedback_client_api/tsrc/group/testsdktfc.mmp --- a/hapticsservices_pub/tactile_feedback_client_api/tsrc/group/testsdktfc.mmp Thu Aug 19 10:13:11 2010 +0300 +++ b/hapticsservices_pub/tactile_feedback_client_api/tsrc/group/testsdktfc.mmp Tue Aug 31 15:30:39 2010 +0300 @@ -45,7 +45,7 @@ SOURCE testsdktfcblocks.cpp LIBRARY euser.lib -LIBRARY StifTestInterface.lib +LIBRARY stiftestinterface.lib LIBRARY stiftestengine.lib LIBRARY touchfeedback.lib diff -r d57e599df233 -r 39d4c97df8cb hapticsservices_pub/tactile_feedback_client_api/tsrc/inc/testsdktfc.h --- a/hapticsservices_pub/tactile_feedback_client_api/tsrc/inc/testsdktfc.h Thu Aug 19 10:13:11 2010 +0300 +++ b/hapticsservices_pub/tactile_feedback_client_api/tsrc/inc/testsdktfc.h Tue Aug 31 15:30:39 2010 +0300 @@ -88,20 +88,6 @@ * Method used to log version of test class */ void SendTestClassVersion(); - - /** - * Turn off ScreenSaver - * @since S60 5.0 - * @return Symbian OS error code. - */ - void TurnOffScreenSaver(); - - /** - * Restore ScreenSaver - * @since S60 5.0 - * @return Symbian OS error code. - */ - void RestoreScreenSaver(); //[TestMethods] private:// for test the touchfeedback.h diff -r d57e599df233 -r 39d4c97df8cb hapticsservices_pub/tactile_feedback_client_api/tsrc/src/testsdktfc.cpp --- a/hapticsservices_pub/tactile_feedback_client_api/tsrc/src/testsdktfc.cpp Thu Aug 19 10:13:11 2010 +0300 +++ b/hapticsservices_pub/tactile_feedback_client_api/tsrc/src/testsdktfc.cpp Tue Aug 31 15:30:39 2010 +0300 @@ -20,7 +20,6 @@ // INCLUDE FILES #include #include -#include #include #include "testsdktfc.h" @@ -84,8 +83,6 @@ EFalse ); SendTestClassVersion(); - - TurnOffScreenSaver(); } // ----------------------------------------------------------------------------- @@ -150,31 +147,4 @@ return ( CScriptBase* ) CTestSDKTFC::NewL( aTestModuleIf ); } -// ----------------------------------------------------------------------------- -// Turn off ScreenSaver -// ----------------------------------------------------------------------------- -// -void CTestSDKTFC::TurnOffScreenSaver() - { - //TInt Get(TUid aCategory, TUint aKey, TInt &aValue); - TInt err1 = RProperty::Get( KPSUidScreenSaver, KScreenSaverAllowScreenSaver, - iOldScreenSaverProperty ); - TInt err2 = RProperty::Set( KPSUidScreenSaver, KScreenSaverAllowScreenSaver, - KScreenSaverAllowScreenSaver ); - RDebug::Printf( "screensaver property=%d err1=%d err2=%d\n", - iOldScreenSaverProperty, err1, err2 ); - } - -// ----------------------------------------------------------------------------- -// Restore ScreenSaver -// ----------------------------------------------------------------------------- -// -void CTestSDKTFC::RestoreScreenSaver() - { - RProperty::Set( KPSUidScreenSaver, KScreenSaverAllowScreenSaver, - iOldScreenSaverProperty ); - User::ResetInactivityTime(); - } - - // End of File diff -r d57e599df233 -r 39d4c97df8cb package_definition.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/package_definition.xml Tue Aug 31 15:30:39 2010 +0300 @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r d57e599df233 -r 39d4c97df8cb package_map.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/package_map.xml Tue Aug 31 15:30:39 2010 +0300 @@ -0,0 +1,1 @@ + diff -r d57e599df233 -r 39d4c97df8cb tacticonserver/server/tacticonpluginfw/tacticonhapticsplugin/data/2001FE52.rss --- a/tacticonserver/server/tacticonpluginfw/tacticonhapticsplugin/data/2001FE52.rss Thu Aug 19 10:13:11 2010 +0300 +++ b/tacticonserver/server/tacticonpluginfw/tacticonhapticsplugin/data/2001FE52.rss Tue Aug 31 15:30:39 2010 +0300 @@ -43,4 +43,3 @@ // End of file - diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/group/bld.inf --- a/tactilefeedback/group/bld.inf Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/group/bld.inf Tue Aug 31 15:30:39 2010 +0300 @@ -18,8 +18,7 @@ #include -PRJ_EXPORTS -../rom/tactilefeedback.iby CORE_IBY_EXPORT_PATH(mw, tactilefeedback.iby) +#include "../rom/bld.inf" #ifndef TOOLS diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/rom/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tactilefeedback/rom/bld.inf Tue Aug 31 15:30:39 2010 +0300 @@ -0,0 +1,22 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Master bld.inf -file for Tactile Feedback ROM. +* Part of: Tactile Feedback. +* +*/ + +#include + +PRJ_EXPORTS +tactilefeedback.iby CORE_IBY_EXPORT_PATH(mw, tactilefeedback.iby) diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilearearegistry/inc/tactileinternaldatatypes.h --- a/tactilefeedback/tactilearearegistry/inc/tactileinternaldatatypes.h Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilearearegistry/inc/tactileinternaldatatypes.h Tue Aug 31 15:30:39 2010 +0300 @@ -24,6 +24,7 @@ #include +#include #include diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilearearegistry/src/tactilearearegistry.cpp --- a/tactilefeedback/tactilearearegistry/src/tactilearearegistry.cpp Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilearearegistry/src/tactilearearegistry.cpp Tue Aug 31 15:30:39 2010 +0300 @@ -172,6 +172,7 @@ break; } } + iTactileSemaphore.Signal(); } @@ -193,8 +194,8 @@ newItem.iWindowGroupId = aIdentifier; newItem.iConnectionHandle = aConnectionHandle; - - iWgArray.Append( newItem ); + // if append fail just make its action like before + TRAP_IGNORE( iWgArray.AppendL( newItem ) ); } diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackclient/cenrep/2000B494.txt Binary file tactilefeedback/tactilefeedbackclient/cenrep/2000B494.txt has changed diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackclient/conf/tactilefeedback.confml Binary file tactilefeedback/tactilefeedbackclient/conf/tactilefeedback.confml has changed diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackclient/conf/tactilefeedback_2000B494.crml Binary file tactilefeedback/tactilefeedbackclient/conf/tactilefeedback_2000B494.crml has changed diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackclient/inc/touchfeedbackclient.h --- a/tactilefeedback/tactilefeedbackclient/inc/touchfeedbackclient.h Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackclient/inc/touchfeedbackclient.h Tue Aug 31 15:30:39 2010 +0300 @@ -120,11 +120,11 @@ TInt aIntensity ); /** - * Stops the feedback. + * Stops the continuous feedback. * * @since S60 5.2 * @param aClientHandle - Handle of a client to check if caller started - * the playing feedback. + * the playing continuous feedback. */ void StopFeedback( TUint32 aClientHandle ); diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackclient/inc/touchfeedbackimpl.h --- a/tactilefeedback/tactilefeedbackclient/inc/touchfeedbackimpl.h Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackclient/inc/touchfeedbackimpl.h Tue Aug 31 15:30:39 2010 +0300 @@ -305,6 +305,12 @@ TTouchFeedbackType aFeedbackType, const TPointerEvent& aPointerEvent ); + /** + * @see MTouchFeedback. + */ + void InstantFeedback( TTouchLogicalFeedback aType, + TTouchFeedbackType aFeedbackType ); + private: /** * Constructor. diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackclient/src/touchfeedbackclient.cpp --- a/tactilefeedback/tactilefeedbackclient/src/touchfeedbackclient.cpp Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackclient/src/touchfeedbackclient.cpp Tue Aug 31 15:30:39 2010 +0300 @@ -35,8 +35,6 @@ const TInt KTactileChunkInitialSize = 4096; // 4kB const TInt KTactileChunkMaxSize = 262144; // 256kB const TUid KTactileClickPluginUid = { 0x2000B493 }; - -_LIT( KChunkNameFormat, "PID_0x%Lx_TID_0x%Lx" ); // ======== MEMBER FUNCTIONS ======== // --------------------------------------------------------------------------- @@ -88,14 +86,15 @@ } // #2 Create shared chunk + RThread me; + TTactileFeedbackConnectData data; // Set window group identifier data.iWindowGroupId = CCoeEnv::Static()->RootWin().Identifier(); - // We use our own process id and thread id as name for the chunk - data.iChunkName.Format( KChunkNameFormat, - RProcess().Id().Id(), RThread().Id().Id() ); + // We use our own thread name as name for the chunk + data.iChunkName.Copy( me.Name().Right( KMaxKernelName ) ); // Now create the chunk TInt err = iChunk.CreateGlobal( data.iChunkName, @@ -614,10 +613,6 @@ // Clear also client handle to indicate there's no ongoing feedback. iClientHandle = 0; } - else if ( !iClientHandle ) // Stop instant feedback - { - iFbClient.StopFeedback(); - } TRACE("CTouchFeedbackClient::StopFeedback - End"); } diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackclient/src/touchfeedbackimpl.cpp --- a/tactilefeedback/tactilefeedbackclient/src/touchfeedbackimpl.cpp Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackclient/src/touchfeedbackimpl.cpp Tue Aug 31 15:30:39 2010 +0300 @@ -755,8 +755,8 @@ newCacheEntry.iAudioDisabled = !aEnableAudio; newCacheEntry.iVisible = aControl->IsVisible(); newCacheEntry.iDimmed = aControl->IsDimmed(); - - iControlCache.Append( newCacheEntry ); + // if append fail just make its action like before + TRAP_IGNORE( iControlCache.AppendL( newCacheEntry ) ); } } } @@ -973,7 +973,7 @@ if ( vibraEnabled || audioEnabled ) { - TRACE4("CTouchFeedbackImpl::StartFeedback, type:=%d intensity:%d, timeout:%d", aType, aIntensity, aTimeout.Int()); + TRACE4("CTouchFeedbackImpl::StartFeedback, type:=%d intensity:%d, timeout:%d", aType, aIntensity, aTimeout); TUint32 clientHandle = ClientHandle( aControl ); iClient->StartFeedback( clientHandle, aType, @@ -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). // @@ -1731,15 +1760,15 @@ // range check. update when logical feedback types are changed. if ( !(aFeedback >= ETouchFeedbackNone && aFeedback <= ETouchFeedbackSensitive) - && !(aFeedback >= ETouchFeedbackBasicButton && aFeedback <= ETouchFeedbackMultiTouchRecognized) ) + && !(aFeedback >= ETouchFeedbackBasicButton && aFeedback <= ETouchFeedbackLongPress) ) { return KErrArgument; } item.iFeedback = aFeedback; item.iFeedbackType = aFeedbackType; - iFbArray.Append(item); - return KErrNone; + TInt err = iFbArray.Append(item); + return err; } // --------------------------------------------------------------------------- @@ -1758,7 +1787,8 @@ item.iFeedback = iFbArray[i].iFeedback; item.iEventType = iFbArray[i].iEventType; item.iFeedbackType = iFbArray[i].iFeedbackType; - aArray.Append(item); + // if append fail just make its action like before + TRAP_IGNORE( aArray.AppendL( item ) ); } } diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel1_A.ivt Binary file tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel1_A.ivt has changed diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel2_A.ivt Binary file tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel2_A.ivt has changed diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel3_A.ivt Binary file tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel3_A.ivt has changed diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel4_A.ivt Binary file tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel4_A.ivt has changed diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel5_A.ivt Binary file tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel5_A.ivt has changed diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/data/9.2_TactileFeedbackLevel1_A.ivt Binary file tactilefeedback/tactilefeedbackresolver/data/9.2_TactileFeedbackLevel1_A.ivt has changed diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/data/9.2_TactileFeedbackLevel2_A.ivt Binary file tactilefeedback/tactilefeedbackresolver/data/9.2_TactileFeedbackLevel2_A.ivt has changed diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/data/9.2_TactileFeedbackLevel3_A.ivt Binary file tactilefeedback/tactilefeedbackresolver/data/9.2_TactileFeedbackLevel3_A.ivt has changed diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/group/bld.inf --- a/tactilefeedback/tactilefeedbackresolver/group/bld.inf Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackresolver/group/bld.inf Tue Aug 31 15:30:39 2010 +0300 @@ -25,12 +25,16 @@ PRJ_EXPORTS // Tactile feedback effects files -../data/9.2_TactileFeedbackLevel1_A.ivt /epoc32/data/z/private/10003B20/9.2_TactileFeedbackLevel1_A.ivt -../data/9.2_TactileFeedbackLevel1_A.ivt /epoc32/release/winscw/udeb/Z/private/10003B20/9.2_TactileFeedbackLevel1_A.ivt -../data/9.2_TactileFeedbackLevel2_A.ivt /epoc32/data/z/private/10003B20/9.2_TactileFeedbackLevel2_A.ivt -../data/9.2_TactileFeedbackLevel2_A.ivt /epoc32/release/winscw/udeb/Z/private/10003B20/9.2_TactileFeedbackLevel2_A.ivt -../data/9.2_TactileFeedbackLevel3_A.ivt /epoc32/data/z/private/10003B20/9.2_TactileFeedbackLevel3_A.ivt -../data/9.2_TactileFeedbackLevel3_A.ivt /epoc32/release/winscw/udeb/Z/private/10003B20/9.2_TactileFeedbackLevel3_A.ivt +../data/10.1_TactileFeedbackLevel1_A.ivt /epoc32/data/z/private/10003B20/10.1_TactileFeedbackLevel1_A.ivt +../data/10.1_TactileFeedbackLevel1_A.ivt /epoc32/release/winscw/udeb/Z/private/10003B20/10.1_TactileFeedbackLevel1_A.ivt +../data/10.1_TactileFeedbackLevel2_A.ivt /epoc32/data/z/private/10003B20/10.1_TactileFeedbackLevel2_A.ivt +../data/10.1_TactileFeedbackLevel2_A.ivt /epoc32/release/winscw/udeb/Z/private/10003B20/10.1_TactileFeedbackLevel2_A.ivt +../data/10.1_TactileFeedbackLevel3_A.ivt /epoc32/data/z/private/10003B20/10.1_TactileFeedbackLevel3_A.ivt +../data/10.1_TactileFeedbackLevel3_A.ivt /epoc32/release/winscw/udeb/Z/private/10003B20/10.1_TactileFeedbackLevel3_A.ivt +../data/10.1_TactileFeedbackLevel4_A.ivt /epoc32/data/z/private/10003B20/10.1_TactileFeedbackLevel4_A.ivt +../data/10.1_TactileFeedbackLevel4_A.ivt /epoc32/release/winscw/udeb/Z/private/10003B20/10.1_TactileFeedbackLevel4_A.ivt +../data/10.1_TactileFeedbackLevel5_A.ivt /epoc32/data/z/private/10003B20/10.1_TactileFeedbackLevel5_A.ivt +../data/10.1_TactileFeedbackLevel5_A.ivt /epoc32/release/winscw/udeb/Z/private/10003B20/10.1_TactileFeedbackLevel5_A.ivt // IBY file ../rom/tactilefeedbackresolver.iby CORE_IBY_EXPORT_PATH(mw, tactilefeedbackresolver.iby) diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackdomaincrkeys.h --- a/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackdomaincrkeys.h Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackdomaincrkeys.h Tue Aug 31 15:30:39 2010 +0300 @@ -58,11 +58,13 @@ * Possible values are: * Valid path to IVT file. * -* Default value: "z:\\private\\10003B20\\9.2_TactileFeedbackLevel*_A.ivt" +* Default value: "z:\\private\\10003B20\\10.1_TactileFeedbackLevel*_A.ivt" **/ const TUint32 KTactileHapticsLevel1IVTFile = 0x00000015; const TUint32 KTactileHapticsLevel2IVTFile = 0x00000016; const TUint32 KTactileHapticsLevel3IVTFile = 0x00000017; +const TUint32 KTactileHapticsLevel4IVTFile = 0x00000018; +const TUint32 KTactileHapticsLevel5IVTFile = 0x00000019; /** * Number of steps used to adjust vibra feedback strength @@ -72,7 +74,7 @@ * * Default value: 10 **/ -const TUint32 KTactileFeedbackVibraLevels = 0x00000018; +const TUint32 KTactileFeedbackVibraLevels = 0x0000001a; /** * Number of steps used to adjust audio feedback volume @@ -82,7 +84,7 @@ * * Default value: 3 **/ -const TUint32 KTactileFeedbackAudioLevels = 0x00000019; +const TUint32 KTactileFeedbackAudioLevels = 0x0000001b; #endif // TACTILEFEEDBACKDOMAINCRKEYS_H diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackprivatecrkeys.h --- a/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackprivatecrkeys.h Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackprivatecrkeys.h Tue Aug 31 15:30:39 2010 +0300 @@ -90,6 +90,30 @@ const TUint32 KTactileVibraIntensityBasicLevel3 = 0x00000022; /** +* Vibra intensity setting for logical feedback type ETouchFeedbackBasic +* and vibra effect level ETactileFeedbackVibraLevel4. +* +* Possible values are: +* Integers from 0 to 100. See HWRMVibra.h for more information. +* Zero intensity will disable this logical feedback type. +* +* Default value: 60 +**/ +const TUint32 KTactileVibraIntensityBasicLevel4 = 0x00000023; + +/** +* Vibra intensity setting for logical feedback type ETouchFeedbackBasic +* and vibra effect level ETactileFeedbackVibraLevel5. +* +* Possible values are: +* Integers from 0 to 100. See HWRMVibra.h for more information. +* Zero intensity will disable this logical feedback type. +* +* Default value: 80 +**/ +const TUint32 KTactileVibraIntensityBasicLevel5 = 0x00000024; + +/** * Vibra duration setting for logical feedback type ETouchFeedbackBasic * and vibra effect level ETactileFeedbackVibraLevel1. * @@ -101,7 +125,7 @@ * * Default value: 15 **/ -const TUint32 KTactileVibraDurationBasicLevel1 = 0x00000023; +const TUint32 KTactileVibraDurationBasicLevel1 = 0x00000025; /** * Vibra duration setting for logical feedback type ETouchFeedbackBasic @@ -115,7 +139,7 @@ * * Default value: 20 **/ -const TUint32 KTactileVibraDurationBasicLevel2 = 0x00000024; +const TUint32 KTactileVibraDurationBasicLevel2 = 0x00000026; /** * Vibra duration setting for logical feedback type ETouchFeedbackBasic @@ -129,7 +153,35 @@ * * Default value: 30 **/ -const TUint32 KTactileVibraDurationBasicLevel3 = 0x00000025; +const TUint32 KTactileVibraDurationBasicLevel3 = 0x00000027; + +/** +* Vibra duration setting for logical feedback type ETouchFeedbackBasic +* and vibra effect level ETactileFeedbackVibraLevel4. +* +* Duration is given in milliseconds, and zero value will disable this +* logical feedback type. +* +* Possible values are: +* Integer values from zero upwards. +* +* Default value: 40 +**/ +const TUint32 KTactileVibraDurationBasicLevel4 = 0x00000028; + +/** +* Vibra duration setting for logical feedback type ETouchFeedbackBasic +* and vibra effect level ETactileFeedbackVibraLevel5. +* +* Duration is given in milliseconds, and zero value will disable this +* logical feedback type. +* +* Possible values are: +* Integer values from zero upwards. +* +* Default value: 50 +**/ +const TUint32 KTactileVibraDurationBasicLevel5 = 0x00000029; /** @@ -142,7 +194,7 @@ * * Default value: 50 **/ -const TUint32 KTactileVibraIntensitySensitiveLevel1 = 0x00000026; +const TUint32 KTactileVibraIntensitySensitiveLevel1 = 0x0000002a; /** * Vibra intensity setting for logical feedback type ETouchFeedbackSensitive @@ -154,7 +206,7 @@ * * Default value: 100 **/ -const TUint32 KTactileVibraIntensitySensitiveLevel2 = 0x00000027; +const TUint32 KTactileVibraIntensitySensitiveLevel2 = 0x0000002b; /** * Vibra intensity setting for logical feedback type ETouchFeedbackSensitive @@ -166,7 +218,31 @@ * * Default value: 10 **/ -const TUint32 KTactileVibraIntensitySensitiveLevel3 = 0x00000028; +const TUint32 KTactileVibraIntensitySensitiveLevel3 = 0x0000002c; + +/** +* Vibra intensity setting for logical feedback type ETouchFeedbackSensitive +* and vibra effect level ETactileFeedbackVibraLevel4. +* +* Possible values are: +* Integers from 0 to 100. See HWRMVibra.h for more information. +* Zero intensity will disable this logical feedback type. +* +* Default value: 10 +**/ +const TUint32 KTactileVibraIntensitySensitiveLevel4 = 0x0000002d; + +/** +* Vibra intensity setting for logical feedback type ETouchFeedbackSensitive +* and vibra effect level ETactileFeedbackVibraLevel5. +* +* Possible values are: +* Integers from 0 to 100. See HWRMVibra.h for more information. +* Zero intensity will disable this logical feedback type. +* +* Default value: 10 +**/ +const TUint32 KTactileVibraIntensitySensitiveLevel5 = 0x0000002e; /** @@ -181,7 +257,7 @@ * * Default value: 5 **/ -const TUint32 KTactileVibraDurationSensitiveLevel1 = 0x00000029; +const TUint32 KTactileVibraDurationSensitiveLevel1 = 0x0000002f; /** * Vibra duration setting for logical feedback type ETouchFeedbackSensitive @@ -195,7 +271,7 @@ * * Default value: 10 **/ -const TUint32 KTactileVibraDurationSensitiveLevel2 = 0x0000002a; +const TUint32 KTactileVibraDurationSensitiveLevel2 = 0x00000030; /** * Vibra duration setting for logical feedback type ETouchFeedbackSensitive @@ -209,7 +285,35 @@ * * Default value: 15 **/ -const TUint32 KTactileVibraDurationSensitiveLevel3 = 0x0000002b; +const TUint32 KTactileVibraDurationSensitiveLevel3 = 0x00000031; + +/** +* Vibra duration setting for logical feedback type ETouchFeedbackSensitive +* and vibra effect level ETactileFeedbackVibraLevel4. +* +* Duration is given in milliseconds, and zero value will disable this +* logical feedback type. +* +* Possible values are: +* Integer values from zero upwards. +* +* Default value: 20 +**/ +const TUint32 KTactileVibraDurationSensitiveLevel4 = 0x00000032; + +/** +* Vibra duration setting for logical feedback type ETouchFeedbackSensitive +* and vibra effect level ETactileFeedbackVibraLevel5. +* +* Duration is given in milliseconds, and zero value will disable this +* logical feedback type. +* +* Possible values are: +* Integer values from zero upwards. +* +* Default value: 25 +**/ +const TUint32 KTactileVibraDurationSensitiveLevel5 = 0x00000033; @@ -259,6 +363,32 @@ const TUint32 KTactileAudioToneFreqBasicLevel3 = 0x00000042; /** +* Audio frequency setting for logical feedback type ETouchFeedbackBasic +* and audio effect level ETactileFeedbackAudioLevel4. +* +* Frequency is given in Hz. +* +* Possible values are: +* Positive integer values. +* +* Default value: 1100 +**/ +const TUint32 KTactileAudioToneFreqBasicLevel4 = 0x00000043; + +/** +* Audio frequency setting for logical feedback type ETouchFeedbackBasic +* and audio effect level ETactileFeedbackAudioLevel5. +* +* Frequency is given in Hz. +* +* Possible values are: +* Positive integer values. +* +* Default value: 1100 +**/ +const TUint32 KTactileAudioToneFreqBasicLevel5 = 0x00000044; + +/** * Audio duration setting for logical feedback type ETouchFeedbackBasic * and audio effect level ETactileFeedbackAudioLevel1. * @@ -269,7 +399,7 @@ * * Default value: 10 **/ -const TUint32 KTactileAudioToneDurationBasicLevel1 = 0x00000043; +const TUint32 KTactileAudioToneDurationBasicLevel1 = 0x00000045; /** * Audio duration setting for logical feedback type ETouchFeedbackBasic @@ -282,7 +412,7 @@ * * Default value: 10 **/ -const TUint32 KTactileAudioToneDurationBasicLevel2 = 0x00000044; +const TUint32 KTactileAudioToneDurationBasicLevel2 = 0x00000046; /** * Audio duration setting for logical feedback type ETouchFeedbackBasic @@ -295,7 +425,33 @@ * * Default value: 10 **/ -const TUint32 KTactileAudioToneDurationBasicLevel3 = 0x00000045; +const TUint32 KTactileAudioToneDurationBasicLevel3 = 0x00000047; + +/** +* Audio duration setting for logical feedback type ETouchFeedbackBasic +* and audio effect level ETactileFeedbackAudioLevel4. +* +* Duration is given in milliseconds. +* +* Possible values are: +* Zero (disables this feedback type) or positive integers +* +* Default value: 10 +**/ +const TUint32 KTactileAudioToneDurationBasicLevel4 = 0x00000048; + +/** +* Audio duration setting for logical feedback type ETouchFeedbackBasic +* and audio effect level ETactileFeedbackAudioLevel5. +* +* Duration is given in milliseconds. +* +* Possible values are: +* Zero (disables this feedback type) or positive integers +* +* Default value: 10 +**/ +const TUint32 KTactileAudioToneDurationBasicLevel5 = 0x00000049; /** * Audio volume setting for logical feedback type ETouchFeedbackBasic @@ -309,7 +465,7 @@ * * Default value: 20 **/ -const TUint32 KTactileAudioToneVolumeBasicLevel1 = 0x00000046; +const TUint32 KTactileAudioToneVolumeBasicLevel1 = 0x0000004a; /** * Audio volume setting for logical feedback type ETouchFeedbackBasic @@ -323,7 +479,7 @@ * * Default value: 40 **/ -const TUint32 KTactileAudioToneVolumeBasicLevel2 = 0x00000047; +const TUint32 KTactileAudioToneVolumeBasicLevel2 = 0x0000004b; /** * Audio volume setting for logical feedback type ETouchFeedbackBasic @@ -337,7 +493,35 @@ * * Default value: 60 **/ -const TUint32 KTactileAudioToneVolumeBasicLevel3 = 0x00000048; +const TUint32 KTactileAudioToneVolumeBasicLevel3 = 0x0000004c; + +/** +* Audio volume setting for logical feedback type ETouchFeedbackBasic +* and audio effect level ETactileFeedbackAudioLevel4. +* +* Volume level is given in percentages. 100% equals to +* CMdaAudioToneUtility::MaxVolume, and 0% will disable this feedback type. +* +* Possible values are: +* 0 - 100 +* +* Default value: 80 +**/ +const TUint32 KTactileAudioToneVolumeBasicLevel4 = 0x0000004d; + +/** +* Audio volume setting for logical feedback type ETouchFeedbackBasic +* and audio effect level ETactileFeedbackAudioLevel5. +* +* Volume level is given in percentages. 100% equals to +* CMdaAudioToneUtility::MaxVolume, and 0% will disable this feedback type. +* +* Possible values are: +* 0 - 100 +* +* Default value: 100 +**/ +const TUint32 KTactileAudioToneVolumeBasicLevel5 = 0x0000004e; /** @@ -351,7 +535,7 @@ * * Default value: 1100 **/ -const TUint32 KTactileAudioToneFreqSensitiveLevel1 = 0x00000049; +const TUint32 KTactileAudioToneFreqSensitiveLevel1 = 0x0000004f; /** * Audio frequency setting for logical feedback type ETouchFeedbackSensitive @@ -364,7 +548,7 @@ * * Default value: 1100 **/ -const TUint32 KTactileAudioToneFreqSensitiveLevel2 = 0x0000004a; +const TUint32 KTactileAudioToneFreqSensitiveLevel2 = 0x00000050; /** * Audio frequency setting for logical feedback type ETouchFeedbackSensitive @@ -377,7 +561,33 @@ * * Default value: 1100 **/ -const TUint32 KTactileAudioToneFreqSensitiveLevel3 = 0x0000004b; +const TUint32 KTactileAudioToneFreqSensitiveLevel3 = 0x00000051; + +/** +* Audio frequency setting for logical feedback type ETouchFeedbackSensitive +* and audio effect level ETactileFeedbackAudioLevel4. +* +* Frequency is given in Hz. +* +* Possible values are: +* Positive integer values. +* +* Default value: 1100 +**/ +const TUint32 KTactileAudioToneFreqSensitiveLevel4 = 0x00000052; + +/** +* Audio frequency setting for logical feedback type ETouchFeedbackSensitive +* and audio effect level ETactileFeedbackAudioLevel5. +* +* Frequency is given in Hz. +* +* Possible values are: +* Positive integer values. +* +* Default value: 1100 +**/ +const TUint32 KTactileAudioToneFreqSensitiveLevel5 = 0x00000053; /** @@ -391,7 +601,7 @@ * * Default value: 10 **/ -const TUint32 KTactileAudioToneDurationSensitiveLevel1 = 0x0000004c; +const TUint32 KTactileAudioToneDurationSensitiveLevel1 = 0x00000054; /** * Audio duration setting for logical feedback type ETouchFeedbackSensitive @@ -404,7 +614,7 @@ * * Default value: 10 **/ -const TUint32 KTactileAudioToneDurationSensitiveLevel2 = 0x0000004d; +const TUint32 KTactileAudioToneDurationSensitiveLevel2 = 0x00000055; /** * Audio duration setting for logical feedback type ETouchFeedbackSensitive @@ -417,7 +627,33 @@ * * Default value: 10 **/ -const TUint32 KTactileAudioToneDurationSensitiveLevel3 = 0x0000004e; +const TUint32 KTactileAudioToneDurationSensitiveLevel3 = 0x00000056; + +/** +* Audio duration setting for logical feedback type ETouchFeedbackSensitive +* and audio effect level ETactileFeedbackAudioLevel4. +* +* Duration is given in milliseconds. +* +* Possible values are: +* Zero (disables this feedback type) or positive integers +* +* Default value: 10 +**/ +const TUint32 KTactileAudioToneDurationSensitiveLevel4 = 0x00000057; + +/** +* Audio duration setting for logical feedback type ETouchFeedbackSensitive +* and audio effect level ETactileFeedbackAudioLevel5. +* +* Duration is given in milliseconds. +* +* Possible values are: +* Zero (disables this feedback type) or positive integers +* +* Default value: 10 +**/ +const TUint32 KTactileAudioToneDurationSensitiveLevel5 = 0x00000058; /** * Audio volume setting for logical feedback type ETouchFeedbackSensitive @@ -431,7 +667,7 @@ * * Default value: 10 **/ -const TUint32 KTactileAudioToneVolumeSensitiveLevel1 = 0x0000004f; +const TUint32 KTactileAudioToneVolumeSensitiveLevel1 = 0x00000059; /** * Audio volume setting for logical feedback type ETouchFeedbackSensitive @@ -445,7 +681,7 @@ * * Default value: 25 **/ -const TUint32 KTactileAudioToneVolumeSensitiveLevel2 = 0x00000050; +const TUint32 KTactileAudioToneVolumeSensitiveLevel2 = 0x0000005a; /** * Audio volume setting for logical feedback type ETouchFeedbackSensitive @@ -459,7 +695,35 @@ * * Default value: 40 **/ -const TUint32 KTactileAudioToneVolumeSensitiveLevel3 = 0x00000051; +const TUint32 KTactileAudioToneVolumeSensitiveLevel3 = 0x0000005b; + +/** +* Audio volume setting for logical feedback type ETouchFeedbackSensitive +* and audio effect level ETactileFeedbackAudioLevel4. +* +* Volume level is given in percentages. 100% equals to +* CMdaAudioToneUtility::MaxVolume, and 0% will disable this feedback type. +* +* Possible values are: +* 0 - 100 +* +* Default value: 55 +**/ +const TUint32 KTactileAudioToneVolumeSensitiveLevel4 = 0x0000005c; + +/** +* Audio volume setting for logical feedback type ETouchFeedbackSensitive +* and audio effect level ETactileFeedbackAudioLevel5. +* +* Volume level is given in percentages. 100% equals to +* CMdaAudioToneUtility::MaxVolume, and 0% will disable this feedback type. +* +* Possible values are: +* 0 - 100 +* +* Default value: 70 +**/ +const TUint32 KTactileAudioToneVolumeSensitiveLevel5 = 0x0000005d; // ============================================================================= // Configuration options related to audio .wav feedback diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackresolver.h --- a/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackresolver.h Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackresolver.h Tue Aug 31 15:30:39 2010 +0300 @@ -87,7 +87,7 @@ void ModifyFeedback( TInt aIntensity ); /** - * Stops the ongoing feedback. + * Stops the ongoing continuous feedback. * * @since S60 5.2 */ @@ -244,6 +244,12 @@ CRepository* iRepository; /** + * Central repository for reading profile settings. + * Own. + */ + CRepository* iProfileRepository; + + /** * Central repository notifier, which sends notification when tactile * feedback settings has been changed. * Own. diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbacksession.h --- a/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbacksession.h Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbacksession.h Tue Aug 31 15:30:39 2010 +0300 @@ -74,7 +74,7 @@ void ModifyFeedback( const RMessage2& aMessage ); /** - * Stop feedback. + * Stop continuous feedback. */ void StopFeedback( const RMessage2& aMessage ); diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbacksrv.h --- a/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbacksrv.h Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbacksrv.h Tue Aug 31 15:30:39 2010 +0300 @@ -135,7 +135,7 @@ void ModifyFeedback( TInt aIntensity ); /** - * Stop feedback. + * Stop continuous feedback. */ void StopFeedback(); diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/inc/tactileplayer.h --- a/tactilefeedback/tactilefeedbackresolver/inc/tactileplayer.h Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackresolver/inc/tactileplayer.h Tue Aug 31 15:30:39 2010 +0300 @@ -159,7 +159,7 @@ IMPORT_C virtual TInt ModifyFeedback( TInt aIntensity ); /** - * Stops feedback. + * Stops continuous feedback. * * @since S60 5.2 */ diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/plugins/tactileaudioplugin/src/tactileaudioplayer.cpp --- a/tactilefeedback/tactilefeedbackresolver/plugins/tactileaudioplugin/src/tactileaudioplayer.cpp Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackresolver/plugins/tactileaudioplugin/src/tactileaudioplayer.cpp Tue Aug 31 15:30:39 2010 +0300 @@ -134,33 +134,36 @@ { case ETouchFeedbackBasic: // flow through case ETouchFeedbackBasicButton: // flow through - case ETouchFeedbackList: // flow through - case ETouchFeedbackBoundaryList: // flow through - case ETouchFeedbackSlider: // flow through - case ETouchFeedbackEdit: // flow through + case ETouchFeedbackBasicItem: // flow through + case ETouchFeedbackBounceEffect: // flow through + case ETouchFeedbackBasicSlider: // flow through + case ETouchFeedbackEditor: // flow through case ETouchFeedbackLineSelection: // flow through case ETouchFeedbackBlankSelection: // flow through case ETouchFeedbackTextSelection: // flow through case ETouchFeedbackEmptyLineSelection: // flow through - case ETouchFeedbackTab: // flow through case ETouchFeedbackPopUp: // flow through - case ETouchFeedbackIncreasingPopUp: // flow through - case ETouchFeedbackDecreasingPopUp: // flow through - case ETouchFeedbackFlick: // flow through + case ETouchFeedbackPopupOpen: // flow through + case ETouchFeedbackPopupClose: // flow through + case ETouchFeedbackItemScroll: // flow through case ETouchFeedbackCheckbox: // flow through - case ETouchFeedbackCharacterInputButton: - case ETouchFeedbackOptionsMenuOpened: - case ETouchFeedbackOptionsMenuClosed: - case ETouchFeedbackSubMenuOpened: - case ETouchFeedbackSubMenuClosed: - case ETouchFeedbackLongTap: - case ETouchFeedbackMultiTouchRecognized: + case ETouchFeedbackMultitouchActivate: + case ETouchFeedbackBasicKeypad: + case ETouchFeedbackFlick: + case ETouchFeedbackItemDrop: + case ETouchFeedbackItemMoveOver: + case ETouchFeedbackItemPick: + case ETouchFeedbackMultipleCheckbox: + case ETouchFeedbackRotateStep: + case ETouchFeedbackStopFlick: + case ETouchFeedbackLongPress: volumeIndex = 0; break; case ETouchFeedbackSensitive: // flow through case ETouchFeedbackSensitiveButton: // flow through - case ETouchFeedbackSensitiveList: - case ETouchFeedbackSensitiveInput: + case ETouchFeedbackSensitiveItem: + case ETouchFeedbackSensitiveKeypad: + case ETouchFeedbackSensitiveSlider: volumeIndex = 1; break; default: @@ -344,10 +347,9 @@ iRepository.Get( KTactileAudioWavFileBasicLevel2, basicFileName ); iRepository.Get( KTactileAudioWavFileSensitiveLevel2, sensitiveFileName ); - - iVolumeLevels.Append( basicVolumeLevel ); - iVolumeLevels.Append( sensitiveVolumeLevel ); - + iVolumeLevels.AppendL( basicVolumeLevel ); + iVolumeLevels.AppendL( sensitiveVolumeLevel ); + TRACE("CTactileAudioPlayer::ReadSettingsL() - End"); } diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/plugins/tactilehapticsplugin/src/tactilehapticsplayer.cpp --- a/tactilefeedback/tactilefeedbackresolver/plugins/tactilehapticsplugin/src/tactilehapticsplayer.cpp Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackresolver/plugins/tactilehapticsplugin/src/tactilehapticsplayer.cpp Tue Aug 31 15:30:39 2010 +0300 @@ -46,36 +46,39 @@ _LIT8( KTFSensitive, "TFSensitive"); _LIT8( KTFBasicButton, "TFBasicButton"); _LIT8( KTFSensitiveButton, "TFSensitiveButton"); -_LIT8( KTFList, "TFList"); -_LIT8( KTFSensitiveList, "TFSensitiveList"); -_LIT8( KTFBoundaryList, "TFBoundaryList"); -_LIT8( KTFSlider, "TFSlider"); -_LIT8( KTFEdit, "TFEdit"); +_LIT8( KTFBasicItem, "TFBasicItem"); // Mapped to IVT file version 9.2 +_LIT8( KTFSensitiveItem, "TFSensitiveItem"); // Mapped to IVT file version 9.2 +_LIT8( KTFBounceEffect, "TFBounceEffect"); // Mapped to IVT file version 9.2 +_LIT8( KTFBasicSlider, "TFBasicSlider"); // Mapped to IVT file version 9.2 +_LIT8( KTFEditor, "TFEditor"); // Mapped to IVT file version 9.2 _LIT8( KTFLineSelection, "TFLineSelection"); _LIT8( KTFBlankSelection, "TFBlankSelection"); _LIT8( KTFTextSelection, "TFTextSelection"); _LIT8( KTFEmptyLineSelection, "TFEmptyLineSelection"); -_LIT8( KTFTab, "TFTab"); _LIT8( KTFPopUp, "TFPopUp"); -_LIT8( KTFIncreasingPopUp, "TFIncreasingPopUp"); -_LIT8( KTFDecreasingPopUp, "TFDecreasingPopUp"); -_LIT8( KTFFlick, "TFFlick"); +_LIT8( KTFPopupOpen, "TFPopupOpen"); // Mapped to IVT file version 9.2 +_LIT8( KTFPopupClose, "TFPopupClose"); // Mapped to IVT file version 9.2 +_LIT8( KTFItemScroll, "TFItemScroll"); // Mapped to IVT file version 9.2 _LIT8( KTFCheckbox, "TFCheckbox"); -_LIT8( KTFSensitiveInput, "TFSensitiveInput"); -_LIT8( KTFCharacterInputButton, "TFCharacterInputButton"); -_LIT8( KTFOptionsMenuOpened, "TFOptionsMenuOpened"); -_LIT8( KTFOptionsMenuClosed, "TFOptionsMenuClosed"); -_LIT8( KTFSubMenuOpened, "TFSubMenuOpened"); -_LIT8( KTFSubMenuClosed, "TFSubMenuClosed"); -_LIT8( KTFLongTap, "TFLongTap"); -_LIT8( KTFMultiTouchRecognized, "TFMultiTouchRecognized"); +_LIT8( KTFBasicKeypad, "TFBasicKeypad"); // Mapped to IVT file version 10.1 +_LIT8( KTFSensitiveKeypad, "TFSensitiveKeypad"); // Mapped to IVT file version 9.2 +_LIT8( KTFMultitouchActivate, "TFMultitouchActivate"); // Mapped to IVT file version 9.2 +_LIT8( KTFFlick, "TFFlick"); // Mapped to IVT file version 10.1 +_LIT8( KTFItemDrop, "TFItemDrop"); // Mapped to IVT file version 10.1 +_LIT8( KTFItemMoveOver, "TFItemMoveOver"); // Mapped to IVT file version 10.1 +_LIT8( KTFItemPick, "TFItemPick"); // Mapped to IVT file version 10.1 +_LIT8( KTFMultipleCheckbox, "TFMultipleCheckbox"); // Mapped to IVT file version 10.1 +_LIT8( KTFRotateStep, "TFRotateStep"); // Mapped to IVT file version 10.1 +_LIT8( KTFSensitiveSlider, "TFSensitiveSlider"); // Mapped to IVT file version 10.1 +_LIT8( KTFStopFlick, "TFStopFlick"); // Mapped to IVT file version 10.1 +_LIT8( KTFLongPress, "TFLongPress"); // Mapped to IVT file version 10.1 // Continuous feedback's names _LIT8( KTFContinuousSmooth, "TFContinuousSmooth"); _LIT8( KTFContinuousSlider, "TFContinuousSlider"); _LIT8( KTFContinuousInput, "TFContinuousInput"); -_LIT8( KTFContinuousFlick, "TFContinuousFlick"); -_LIT8( KTFDynamicSlider, "TFDynamicSlider"); +_LIT8( KTFContinuousPopup, "TFContinuousPopup"); // Mapped to IVT file version 10.1 +_LIT8( KTFContinuousPinch, "TFContinuousPinch"); // Mapped to IVT file version 10.1 // --------------------------------------------------------------------------- // Constructor. // --------------------------------------------------------------------------- @@ -121,7 +124,7 @@ // profiles engine InitializeProfilesEngineL(); - if ( iVibraLevel > EProfileTactileFeedbackLevel3 ) + if ( iVibraLevel > EProfileTactileFeedbackLevel5 ) { User::Leave( KErrGeneral ); } @@ -232,20 +235,23 @@ case ETouchFeedbackSensitiveButton: name = KTFSensitiveButton; break; - case ETouchFeedbackList: - name = KTFList; + case ETouchFeedbackBasicItem: + name = KTFBasicItem; break; - case ETouchFeedbackSensitiveList: - name = KTFSensitiveList; + case ETouchFeedbackSensitiveItem: + name = KTFSensitiveItem; + break; + case ETouchFeedbackBasicSlider: + name = KTFBasicSlider; break; - case ETouchFeedbackBoundaryList: - name = KTFBoundaryList; + case ETouchFeedbackSensitiveSlider: + name = KTFSensitiveSlider; break; - case ETouchFeedbackSlider: - name = KTFSlider; + case ETouchFeedbackBounceEffect: + name = KTFBounceEffect; break; - case ETouchFeedbackEdit: - name = KTFEdit; + case ETouchFeedbackEditor: + name = KTFEditor; break; case ETouchFeedbackLineSelection: name = KTFLineSelection; @@ -259,47 +265,53 @@ case ETouchFeedbackEmptyLineSelection: name = KTFEmptyLineSelection; break; - case ETouchFeedbackTab: - name = KTFTab; - break; case ETouchFeedbackPopUp: name = KTFPopUp; break; - case ETouchFeedbackIncreasingPopUp: - name = KTFIncreasingPopUp; + case ETouchFeedbackPopupOpen: + name = KTFPopupOpen; break; - case ETouchFeedbackDecreasingPopUp: - name = KTFDecreasingPopUp; + case ETouchFeedbackPopupClose: + name = KTFPopupClose; break; - case ETouchFeedbackFlick: - name = KTFFlick; + case ETouchFeedbackItemScroll: + name = KTFItemScroll; break; case ETouchFeedbackCheckbox: name = KTFCheckbox; break; - case ETouchFeedbackSensitiveInput: - name = KTFSensitiveInput; + case ETouchFeedbackBasicKeypad: + name = KTFBasicKeypad; break; - case ETouchFeedbackCharacterInputButton: - name = KTFCharacterInputButton; + case ETouchFeedbackSensitiveKeypad: + name = KTFSensitiveKeypad; break; - case ETouchFeedbackOptionsMenuOpened: - name = KTFOptionsMenuOpened; + case ETouchFeedbackMultitouchActivate: + name = KTFMultitouchActivate; break; - case ETouchFeedbackOptionsMenuClosed: - name = KTFOptionsMenuClosed; + case ETouchFeedbackFlick: + name = KTFFlick; + break; + case ETouchFeedbackItemDrop: + name = KTFItemDrop; break; - case ETouchFeedbackSubMenuOpened: - name = KTFSubMenuOpened; + case ETouchFeedbackItemMoveOver: + name = KTFItemMoveOver; break; - case ETouchFeedbackSubMenuClosed: - name = KTFSubMenuClosed; + case ETouchFeedbackItemPick: + name = KTFItemPick; + break; + case ETouchFeedbackMultipleCheckbox: + name = KTFMultipleCheckbox; break; - case ETouchFeedbackLongTap: - name = KTFLongTap; + case ETouchFeedbackRotateStep: + name = KTFRotateStep; break; - case ETouchFeedbackMultiTouchRecognized: - name = KTFMultiTouchRecognized; + case ETouchFeedbackStopFlick: + name = KTFStopFlick; + break; + case ETouchFeedbackLongPress: + name = KTFLongPress; break; default: User::Leave( KErrArgument ); @@ -335,6 +347,12 @@ case EProfileTactileFeedbackLevel3: fileId = KTactileHapticsLevel3IVTFile; break; + case EProfileTactileFeedbackLevel4: + fileId = KTactileHapticsLevel4IVTFile; + break; + case EProfileTactileFeedbackLevel5: + fileId = KTactileHapticsLevel5IVTFile; + break; } return fileId; } @@ -398,12 +416,12 @@ case ETouchContinuousInput: name = KTFContinuousInput; break; - case ETouchContinuousFlick: - name = KTFContinuousFlick; + case ETouchContinuousPopup: + name = KTFContinuousPopup; + break; + case ETouchContinuousPinch: + name = KTFContinuousPinch; break; - case ETouchDynamicSlider: - name = KTFDynamicSlider; - break; default: ret = KErrArgument; break; @@ -581,6 +599,8 @@ case KTactileHapticsLevel1IVTFile: case KTactileHapticsLevel2IVTFile: case KTactileHapticsLevel3IVTFile: + case KTactileHapticsLevel4IVTFile: + case KTactileHapticsLevel5IVTFile: { TFileName ivtFile; iRepository.Get( aId, ivtFile ); diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/group/tactiletoneplugin.mmp --- a/tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/group/tactiletoneplugin.mmp Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/group/tactiletoneplugin.mmp Tue Aug 31 15:30:39 2010 +0300 @@ -53,4 +53,4 @@ LIBRARY ecom.lib LIBRARY mediaclientaudio.lib LIBRARY tactilefeedbackresolver.lib -LIBRARY profileeng.lib +LIBRARY profileeng.lib diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/src/tactiletoneplayer.cpp --- a/tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/src/tactiletoneplayer.cpp Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/src/tactiletoneplayer.cpp Tue Aug 31 15:30:39 2010 +0300 @@ -67,7 +67,7 @@ // settings from profiles engine InitializeProfilesEngineL(); - if ( iAudioLevel > EProfileAudioFeedbackLevel3 ) + if ( iAudioLevel > EProfileAudioFeedbackLevel5 ) { User::Leave( KErrGeneral ); } @@ -139,33 +139,36 @@ { case ETouchFeedbackBasic: // flow through case ETouchFeedbackBasicButton: // flow through - case ETouchFeedbackList: // flow through - case ETouchFeedbackBoundaryList: // flow through - case ETouchFeedbackSlider: // flow through - case ETouchFeedbackEdit: // flow through + case ETouchFeedbackBasicItem: // flow through + case ETouchFeedbackBounceEffect: // flow through + case ETouchFeedbackBasicSlider: // flow through + case ETouchFeedbackEditor: // flow through case ETouchFeedbackLineSelection: // flow through case ETouchFeedbackBlankSelection: // flow through case ETouchFeedbackTextSelection: // flow through case ETouchFeedbackEmptyLineSelection: // flow through - case ETouchFeedbackTab: // flow through case ETouchFeedbackPopUp: // flow through - case ETouchFeedbackIncreasingPopUp: // flow through - case ETouchFeedbackDecreasingPopUp: // flow through - case ETouchFeedbackFlick: // flow through + case ETouchFeedbackPopupOpen: // flow through + case ETouchFeedbackPopupClose: // flow through + case ETouchFeedbackItemScroll: // flow through case ETouchFeedbackCheckbox: // flow through - case ETouchFeedbackCharacterInputButton: - case ETouchFeedbackOptionsMenuOpened: - case ETouchFeedbackOptionsMenuClosed: - case ETouchFeedbackSubMenuOpened: - case ETouchFeedbackSubMenuClosed: - case ETouchFeedbackLongTap: - case ETouchFeedbackMultiTouchRecognized: + case ETouchFeedbackMultitouchActivate: + case ETouchFeedbackBasicKeypad: + case ETouchFeedbackFlick: + case ETouchFeedbackItemDrop: + case ETouchFeedbackItemMoveOver: + case ETouchFeedbackItemPick: + case ETouchFeedbackMultipleCheckbox: + case ETouchFeedbackRotateStep: + case ETouchFeedbackStopFlick: + case ETouchFeedbackLongPress: effectIndex = 0; break; case ETouchFeedbackSensitive: // flow through case ETouchFeedbackSensitiveButton: // flow through - case ETouchFeedbackSensitiveList: - case ETouchFeedbackSensitiveInput: + case ETouchFeedbackSensitiveItem: + case ETouchFeedbackSensitiveKeypad: + case ETouchFeedbackSensitiveSlider: effectIndex = 1; break; default: @@ -217,7 +220,7 @@ TInt ret( KErrArgument ); if ( aLevel > EProfileAudioFeedbackOff && - aLevel <= EProfileAudioFeedbackLevel3 ) + aLevel <= EProfileAudioFeedbackLevel5 ) { iOriginalLevel = iAudioLevel; iAudioLevel = aLevel; @@ -362,6 +365,42 @@ iRepository.Get( KTactileAudioToneVolumeSensitiveLevel3, sensitiveParams.iVolume ); } + else if ( iAudioLevel == EProfileAudioFeedbackLevel4 ) + { + // Read settings for ETouchFeedbackBasic, level 4 + iRepository.Get( KTactileAudioToneFreqBasicLevel4, + basicParams.iFrequency ); + iRepository.Get( KTactileAudioToneDurationBasicLevel4, + basicDuration ); + iRepository.Get( KTactileAudioToneVolumeBasicLevel4, + basicParams.iVolume ); + + // Read settings for ETouchFeedbackSensitive, level 4 + iRepository.Get( KTactileAudioToneFreqSensitiveLevel4, + sensitiveParams.iFrequency ); + iRepository.Get( KTactileAudioToneDurationSensitiveLevel4, + sensitiveDuration ); + iRepository.Get( KTactileAudioToneVolumeSensitiveLevel4, + sensitiveParams.iVolume ); + } + else if ( iAudioLevel == EProfileAudioFeedbackLevel5 ) + { + // Read settings for ETouchFeedbackBasic, level 5 + iRepository.Get( KTactileAudioToneFreqBasicLevel5, + basicParams.iFrequency ); + iRepository.Get( KTactileAudioToneDurationBasicLevel5, + basicDuration ); + iRepository.Get( KTactileAudioToneVolumeBasicLevel5, + basicParams.iVolume ); + + // Read settings for ETouchFeedbackSensitive, level 5 + iRepository.Get( KTactileAudioToneFreqSensitiveLevel5, + sensitiveParams.iFrequency ); + iRepository.Get( KTactileAudioToneDurationSensitiveLevel5, + sensitiveDuration ); + iRepository.Get( KTactileAudioToneVolumeSensitiveLevel5, + sensitiveParams.iVolume ); + } // Clear old parameters. Only do it at end, so that we still have the // old settings in case something fails when reading these from @@ -382,8 +421,9 @@ sensitiveParams.iVolume = ScaleVolume( sensitiveParams.iVolume ); // Store parameters for different feedback types - iSoundParams.Append( basicParams ); - iSoundParams.Append( sensitiveParams ); + // if append fail just make its action like before + TRAP_IGNORE( iSoundParams.AppendL( basicParams ) ); + TRAP_IGNORE( iSoundParams.AppendL( sensitiveParams ) ); TRACE("CTactileTonePlayer::ReadSettingsL - End"); } diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/plugins/tactilevibraplugin/src/tactilevibraplayer.cpp --- a/tactilefeedback/tactilefeedbackresolver/plugins/tactilevibraplugin/src/tactilevibraplayer.cpp Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackresolver/plugins/tactilevibraplugin/src/tactilevibraplayer.cpp Tue Aug 31 15:30:39 2010 +0300 @@ -52,7 +52,7 @@ User::LeaveIfError( iRepository.Get( KTactileFeedbackHapticsStrength, iVibraLevel ) ); - if ( iVibraLevel > EProfileTactileFeedbackLevel3 ) + if ( iVibraLevel > EProfileTactileFeedbackLevel5 ) { User::Leave( KErrGeneral ); } @@ -114,33 +114,36 @@ { case ETouchFeedbackBasic: // flow through case ETouchFeedbackBasicButton: // flow through - case ETouchFeedbackList: // flow through - case ETouchFeedbackBoundaryList: // flow through - case ETouchFeedbackSlider: // flow through - case ETouchFeedbackEdit: // flow through + case ETouchFeedbackBasicItem: // flow through + case ETouchFeedbackBounceEffect: // flow through + case ETouchFeedbackBasicSlider: // flow through + case ETouchFeedbackEditor: // flow through case ETouchFeedbackLineSelection: // flow through case ETouchFeedbackBlankSelection: // flow through case ETouchFeedbackTextSelection: // flow through case ETouchFeedbackEmptyLineSelection: // flow through - case ETouchFeedbackTab: // flow through case ETouchFeedbackPopUp: // flow through - case ETouchFeedbackIncreasingPopUp: // flow through - case ETouchFeedbackDecreasingPopUp: // flow through - case ETouchFeedbackFlick: // flow through + case ETouchFeedbackPopupOpen: // flow through + case ETouchFeedbackPopupClose: // flow through + case ETouchFeedbackItemScroll: // flow through case ETouchFeedbackCheckbox: // flow through - case ETouchFeedbackCharacterInputButton: - case ETouchFeedbackOptionsMenuOpened: - case ETouchFeedbackOptionsMenuClosed: - case ETouchFeedbackSubMenuOpened: - case ETouchFeedbackSubMenuClosed: - case ETouchFeedbackLongTap: - case ETouchFeedbackMultiTouchRecognized: + case ETouchFeedbackMultitouchActivate: + case ETouchFeedbackBasicKeypad: + case ETouchFeedbackFlick: + case ETouchFeedbackItemDrop: + case ETouchFeedbackItemMoveOver: + case ETouchFeedbackItemPick: + case ETouchFeedbackMultipleCheckbox: + case ETouchFeedbackRotateStep: + case ETouchFeedbackStopFlick: + case ETouchFeedbackLongPress: effectIndex = 0; break; case ETouchFeedbackSensitive: // flow through case ETouchFeedbackSensitiveButton: // flow through - case ETouchFeedbackSensitiveList: - case ETouchFeedbackSensitiveInput: + case ETouchFeedbackSensitiveItem: + case ETouchFeedbackSensitiveKeypad: + case ETouchFeedbackSensitiveSlider: effectIndex = 1; break; default: @@ -213,7 +216,7 @@ TInt ret( KErrArgument ); if ( aLevel > EProfileTactileFeedbackOff && - aLevel <= EProfileTactileFeedbackLevel3 ) + aLevel <= EProfileTactileFeedbackLevel5 ) { iOriginalLevel = iVibraLevel; iVibraLevel = aLevel; @@ -283,11 +286,39 @@ iRepository.Get( KTactileVibraDurationSensitiveLevel3, sensitiveParams.iTime ); } + else if ( iVibraLevel == EProfileTactileFeedbackLevel4 ) + { + // Read settings for ETouchFeedbackBasic + iRepository.Get( KTactileVibraIntensityBasicLevel4, + basicParams.iIntensity ); + iRepository.Get( KTactileVibraDurationBasicLevel4, + basicParams.iTime ); + + // Read settings for ETouchFeedbackSensitive + iRepository.Get( KTactileVibraIntensitySensitiveLevel4, + sensitiveParams.iIntensity ); + iRepository.Get( KTactileVibraDurationSensitiveLevel4, + sensitiveParams.iTime ); + } + else if ( iVibraLevel == EProfileTactileFeedbackLevel5 ) + { + // Read settings for ETouchFeedbackBasic + iRepository.Get( KTactileVibraIntensityBasicLevel5, + basicParams.iIntensity ); + iRepository.Get( KTactileVibraDurationBasicLevel5, + basicParams.iTime ); + + // Read settings for ETouchFeedbackSensitive + iRepository.Get( KTactileVibraIntensitySensitiveLevel5, + sensitiveParams.iIntensity ); + iRepository.Get( KTactileVibraDurationSensitiveLevel5, + sensitiveParams.iTime ); + } iVibraParams.Reset(); - iVibraParams.Append( basicParams ); - iVibraParams.Append( sensitiveParams ); + TRAP_IGNORE( iVibraParams.AppendL( basicParams ) ); + TRAP_IGNORE( iVibraParams.AppendL( sensitiveParams ) ); TRACE("CTactileVibraPlayer::ReadSettings - End"); } diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/rom/tactilefeedbackresolver.iby --- a/tactilefeedback/tactilefeedbackresolver/rom/tactilefeedbackresolver.iby Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackresolver/rom/tactilefeedbackresolver.iby Tue Aug 31 15:30:39 2010 +0300 @@ -27,8 +27,10 @@ file=ABI_DIR\BUILD_DIR\tactilefeedbackresolver.dll SHARED_LIB_DIR\tactilefeedbackresolver.dll // audio file(s) used for wav feed back -data=ZPRIVATE\10003B20\9.2_TactileFeedbackLevel1_A.ivt private\10003B20\9.2_TactileFeedbackLevel1_A.ivt -data=ZPRIVATE\10003B20\9.2_TactileFeedbackLevel2_A.ivt private\10003B20\9.2_TactileFeedbackLevel2_A.ivt -data=ZPRIVATE\10003B20\9.2_TactileFeedbackLevel3_A.ivt private\10003B20\9.2_TactileFeedbackLevel3_A.ivt +data=ZPRIVATE\10003B20\10.1_TactileFeedbackLevel1_A.ivt private\10003B20\10.1_TactileFeedbackLevel1_A.ivt +data=ZPRIVATE\10003B20\10.1_TactileFeedbackLevel2_A.ivt private\10003B20\10.1_TactileFeedbackLevel2_A.ivt +data=ZPRIVATE\10003B20\10.1_TactileFeedbackLevel3_A.ivt private\10003B20\10.1_TactileFeedbackLevel3_A.ivt +data=ZPRIVATE\10003B20\10.1_TactileFeedbackLevel4_A.ivt private\10003B20\10.1_TactileFeedbackLevel4_A.ivt +data=ZPRIVATE\10003B20\10.1_TactileFeedbackLevel5_A.ivt private\10003B20\10.1_TactileFeedbackLevel5_A.ivt #endif // TACTILEFEEDBACKRESOLVER_IBY diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/src/tactilefeedbackresolver.cpp --- a/tactilefeedback/tactilefeedbackresolver/src/tactilefeedbackresolver.cpp Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackresolver/src/tactilefeedbackresolver.cpp Tue Aug 31 15:30:39 2010 +0300 @@ -23,6 +23,7 @@ #include #include +#include #include "tactilefeedbackprivatecrkeys.h" #include "tactilefeedbackinternalpskeys.h" @@ -103,6 +104,7 @@ { delete iCenRepNotifier; delete iRepository; + delete iProfileRepository; delete iPropertyWatcher; delete iHapticsPlayer; delete iAudioPlayer; @@ -112,25 +114,21 @@ TBool CTactileFeedbackResolver::IsHigherThanPlaying( TTouchLogicalFeedback aFeedback ) const { - if( aFeedback == ETouchFeedbackList && - iLastFeedback == ETouchFeedbackSensitiveList ) + if( aFeedback == ETouchFeedbackBasicItem && + iLastFeedback == ETouchFeedbackSensitiveItem ) { return ETrue; } - return ( ( aFeedback == ETouchFeedbackPopUp || - aFeedback == ETouchFeedbackIncreasingPopUp || - aFeedback == ETouchFeedbackDecreasingPopUp || - aFeedback == ETouchFeedbackBoundaryList || - aFeedback == ETouchFeedbackOptionsMenuOpened || - aFeedback == ETouchFeedbackOptionsMenuClosed || - aFeedback == ETouchFeedbackSubMenuOpened || - aFeedback == ETouchFeedbackSubMenuClosed ) && + return ( aFeedback == ETouchFeedbackPopUp || + aFeedback == ETouchFeedbackPopupOpen || + aFeedback == ETouchFeedbackPopupClose || + aFeedback == ETouchFeedbackBounceEffect ) && ( iLastFeedback == ETouchFeedbackBasicButton || iLastFeedback == ETouchFeedbackSensitiveButton || - iLastFeedback == ETouchFeedbackSensitiveList || - iLastFeedback == ETouchFeedbackList || - iLastFeedback == ETouchFeedbackCheckbox ) ); + iLastFeedback == ETouchFeedbackSensitiveItem || + iLastFeedback == ETouchFeedbackBasicItem || + iLastFeedback == ETouchFeedbackCheckbox ); } // --------------------------------------------------------------------------- @@ -147,6 +145,14 @@ TBool aPlayAudio ) { // TRACE("CTactileFeedbackResolver::PlayFeedback - Begin"); + + // A temporary solution to change effect of ETouchFeedbackSensitiveSlider, + // it will be removed when the IVT files is ready. + if( ETouchFeedbackSensitiveSlider == aFeedback ) + { + aFeedback = ETouchFeedbackBasicSlider; + } + // Feedback filtering in order to prevent too many feedbacks // in a short time (e.g. when doing text selection). TTime now; @@ -190,6 +196,16 @@ aPlayAudio = EFalse; } + // check silent mode, if device is in silent mode, + // audio feedback is not allowed. + TInt err; + TInt isAudioSupported; + err = iProfileRepository->Get( KProEngSilenceMode, isAudioSupported ); + if ( KErrNone == err && 1 == isAudioSupported ) + { + aPlayAudio = EFalse; + } + if ( ( aPlayVibra || aPlayAudio ) && // #1 aFeedback != ETouchFeedbackNone ) // #2 { @@ -234,7 +250,12 @@ if ( !iRepository ) { iRepository = CRepository::NewL( KCRUidTactileFeedback ); - } + } + + if ( !iProfileRepository ) + { + iProfileRepository = CRepository::NewL( KCRUidProfileEngine ); + } TInt minInterval(0); // Read and store minimun feedback interfal @@ -369,7 +390,7 @@ } // --------------------------------------------------------------------------- -// Stop feedback. +// Stop continuous feedback. // --------------------------------------------------------------------------- // void CTactileFeedbackResolver::StopFeedback() @@ -389,6 +410,13 @@ TTouchLogicalFeedback aFeedback, TTouchFeedbackType aType ) { + // A temporary solution to change effect of ETouchFeedbackSensitiveSlider, + // it will be removed when the IVT files is ready. + if( ETouchFeedbackSensitiveSlider == aFeedback ) + { + aFeedback = ETouchFeedbackBasicSlider; + } + if ( aType & ETouchFeedbackVibra && iHapticsPlayer ) { iHapticsPlayer->PlayPreviewFeedback( aLevel, aFeedback ); diff -r d57e599df233 -r 39d4c97df8cb tactilefeedback/tactilefeedbackresolver/src/tactileplayer.cpp --- a/tactilefeedback/tactilefeedbackresolver/src/tactileplayer.cpp Thu Aug 19 10:13:11 2010 +0300 +++ b/tactilefeedback/tactilefeedbackresolver/src/tactileplayer.cpp Tue Aug 31 15:30:39 2010 +0300 @@ -118,8 +118,8 @@ // EXPORT_C void CTactilePlayer::StopFeedback() { - // Empty implementation for plugins, which needn't stop - // playing feedback. + // Empty implementation for plugins, which don't support + // continuous feedback. } // ---------------------------------------------------------------------------