--- 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
*/
--- 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
--- 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
--- 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 <stiftestinterface.h>
#include <settingserverclient.h>
-#include <screensaverinternalpskeys.h>
#include <e32property.h>
#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
--- 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;
};
--- 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
};
/**
--- 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
--- 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
--- 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 <stiftestinterface.h>
#include <settingserverclient.h>
-#include <screensaverinternalpskeys.h>
#include <e32property.h>
#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
--- /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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+ <package id="hapticsservices" name="Haptics Services" levels="fw server api">
+ <collection id="hapticsservices_plat" name="Haptics Services Platform Interfaces" level="api">
+ <component id="tacticon_api" name="Tacticon API" introduced="^1" class="api" filter="s60">
+ <meta rel="Api" href="hapticsservices_plat/tacticon_api/tacticon_api.metaxml"/>
+ <unit bldFile="hapticsservices_plat/tacticon_api/group"/>
+ </component>
+ <component id="tactile_feedback_core_api" name="Tactile Feedback Core API" introduced="^1" class="api" filter="s60">
+ <meta rel="Api" href="hapticsservices_plat/tactile_feedback_core_api/tactile_feedback_core_api.metaxml"/>
+ <unit bldFile="hapticsservices_plat/tactile_feedback_core_api/group"/>
+ </component>
+ <component id="tactile_feedback_server_api" name="Tactile Feedback Server API" introduced="^1" class="api" filter="s60">
+ <meta rel="Api" href="hapticsservices_plat/tactile_feedback_server_api/tactile_feedback_server_api.metaxml"/>
+ <unit bldFile="hapticsservices_plat/tactile_feedback_server_api/group"/>
+ </component>
+ </collection>
+ <collection id="hapticsservices_pub" name="Haptics Services Public Interfaces" level="api">
+ <component id="tactile_feedback_client_api" name="Tactile Feedback Client API" introduced="^1" class="api" filter="s60">
+ <meta rel="Api" href="hapticsservices_pub/tactile_feedback_client_api/tactile_feedback_client_api.metaxml"/>
+ <unit bldFile="hapticsservices_pub/tactile_feedback_client_api/group"/>
+ </component>
+ </collection>
+ <collection id="tacticonserver" name="Tacticon Server" level="server">
+ <!-- collection is really a component. Move down a directory -->
+ <component id="tacticonserver_build" filter="s60" name="Tacticon Server Build" introduced="^3">
+ <unit bldFile="tacticonserver/group"/>
+ <!-- clients and servers are usualy the same component. Consider moving plugins to separate components if needed -->
+ </component>
+ <component id="tacticonhapticsplugin" name="Tacticon Haptics Plugin" introduced="^3" class="plugin" filter="s60,dfs_build">
+ <unit bldFile="tacticonserver/server/tacticonpluginfw/tacticonhapticsplugin/group"/>
+ </component>
+ </collection>
+ <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="tactilefeedbackresolver" filter="s60" name="Tactile Feedback Resolver" introduced="^1">
+ <unit bldFile="tactilefeedback/tactilefeedbackresolver/group"/>
+ </component>
+ <component id="tactilefeedbackresolver_plugins" name="Tactile Feedback Resolver Plugins" introduced="^1" class="plugin" filter="s60,dfs_build">
+ <unit bldFile="tactilefeedback/tactilefeedbackresolver/plugins/group"/>
+ </component>
+ <component id="tactileclickplugin" filter="s60" name="Tactile Click Plugin" class="plugin" introduced="^1">
+ <unit bldFile="tactilefeedback/tactileclickplugin/group"/>
+ </component>
+ <component id="tactilefeedbackclient" filter="s60" name="Tactile Feedback Client" introduced="^1">
+ <unit bldFile="tactilefeedback/tactilefeedbackclient/group"/>
+ </component>
+ <component id="tactileactionplugin" filter="s60" name="Tactile Action Plugin" class="plugin" introduced="^1">
+ <unit bldFile="tactilefeedback/tactileactionplugin/group"/>
+ </component>
+ <component id="tactilefeedback_rom" filter="s60" name="Tactile Feedback ROM" introduced="^1">
+ <unit bldFile="tactilefeedback/rom"/>
+ </component>
+ </collection>
+ </package>
+</SystemDefinition>
--- /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 @@
+<PackageMap root="sf" layer="mw"/>
--- 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
-
--- 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 <platform_paths.hrh>
-PRJ_EXPORTS
-../rom/tactilefeedback.iby CORE_IBY_EXPORT_PATH(mw, tactilefeedback.iby)
+#include "../rom/bld.inf"
#ifndef TOOLS
--- /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 <platform_paths.hrh>
+
+PRJ_EXPORTS
+tactilefeedback.iby CORE_IBY_EXPORT_PATH(mw, tactilefeedback.iby)
--- 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 <e32std.h>
+#include <e32svr.h>
#include <touchlogicalfeedback.h>
--- 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 ) );
}
Binary file tactilefeedback/tactilefeedbackclient/cenrep/2000B494.txt has changed
Binary file tactilefeedback/tactilefeedbackclient/conf/tactilefeedback.confml has changed
Binary file tactilefeedback/tactilefeedbackclient/conf/tactilefeedback_2000B494.crml has changed
--- 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 );
--- 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.
--- 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");
}
--- 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 ) );
}
}
Binary file tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel1_A.ivt has changed
Binary file tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel2_A.ivt has changed
Binary file tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel3_A.ivt has changed
Binary file tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel4_A.ivt has changed
Binary file tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel5_A.ivt has changed
Binary file tactilefeedback/tactilefeedbackresolver/data/9.2_TactileFeedbackLevel1_A.ivt has changed
Binary file tactilefeedback/tactilefeedbackresolver/data/9.2_TactileFeedbackLevel2_A.ivt has changed
Binary file tactilefeedback/tactilefeedbackresolver/data/9.2_TactileFeedbackLevel3_A.ivt has changed
--- 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)
--- 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
--- 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
--- 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.
--- 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 );
--- 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();
--- 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
*/
--- 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");
}
--- 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 );
--- 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
--- 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");
}
--- 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");
}
--- 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
--- 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 <centralrepository.h>
#include <ecom/implementationinformation.h>
+#include <ProfileEngineInternalCRKeys.h>
#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 );
--- 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.
}
// ---------------------------------------------------------------------------