--- a/backsteppingsrv/data/bs_config.xml Wed Jun 09 10:01:25 2010 +0300
+++ b/backsteppingsrv/data/bs_config.xml Mon Jun 21 16:00:38 2010 +0300
@@ -12,6 +12,6 @@
<app uid="0x101FD64C" reset="1" /> <!-- Active Idle -->
<app uid="0x102750F0" reset="1" /> <!-- Active Idle 2 -->
<app uid="0x10282BF6" reset="1" /> <!-- MMMenu -->
- <app uid="0x10207218" ignoredIfStartedFrom="1" resetIfThru="1" /> <!-- FastSwap -->
+ <app uid="0x20016BF0" ignoredIfStartedFrom="1" resetIfThru="1" /> <!-- FastSwap -->
<app uid="0x100056CF" ignored="1" /> <!-- screen saver -->
</configuration>
--- a/backsteppingsrv/inc/bsengine.h Wed Jun 09 10:01:25 2010 +0300
+++ b/backsteppingsrv/inc/bsengine.h Mon Jun 21 16:00:38 2010 +0300
@@ -83,11 +83,6 @@
*/
void RemoveAppRecord( const TUid& aApp );
- /**
- * Marks that application was pressed
- */
- void ApplicationKeyWasPressed();
-
private:
CBSEngine();
@@ -130,13 +125,8 @@
/**
* flag for handling fast swap events
- */
- TBool swap;
-
- /**
- * flag for application key state
- */
- TBool wasPressed;
+ */
+ TBool iSwap;
/**
* Configuration of BS
--- a/backsteppingsrv/inc/bsserver.h Wed Jun 09 10:01:25 2010 +0300
+++ b/backsteppingsrv/inc/bsserver.h Mon Jun 21 16:00:38 2010 +0300
@@ -60,7 +60,6 @@
void ConstructL();
void HandleWsEventL( const TWsEvent& aEvent,
CCoeControl* aDestination );
- void ForwardEventL( const TWsEvent& aEvent );
CBSEngine* iEngine;
};
--- a/backsteppingsrv/src/bsengine.cpp Wed Jun 09 10:01:25 2010 +0300
+++ b/backsteppingsrv/src/bsengine.cpp Mon Jun 21 16:00:38 2010 +0300
@@ -39,8 +39,7 @@
CBSEngine::CBSEngine()
{
iEnv = CEikonEnv::Static( );
- swap = EFalse;
- wasPressed = EFalse;
+ iSwap = EFalse;
}
// -----------------------------------------------------------------------------
@@ -93,15 +92,6 @@
//
// -----------------------------------------------------------------------------
//
-void CBSEngine::ApplicationKeyWasPressed()
- {
- wasPressed = ETrue;
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
void CBSEngine::HandleFocusChangeL( const TUid& aApp )
{
DEBUG(("-> HandleFocusChangeL(0x%X)", aApp.iUid ));
@@ -116,16 +106,14 @@
if ( fsCount > 0 && iFocusHistory[fsCount - 1] == aApp.iUid )
{
DEBUG(("\tIgnore the event - application already on top"));
- swap = EFalse;
- wasPressed = EFalse;
+ iSwap = EFalse;
return;
}
// check if we should not reset back stepping stack
if ( iConfiguration->IsReset( aApp ) )
{
- swap = EFalse;
- wasPressed = EFalse;
+ iSwap = EFalse;
ResetHistory( );
}
@@ -138,26 +126,24 @@
if ( aApp.iUid == thuApps[i] )
{
//mark that there is a fast swap or dialog
- swap = ETrue;
+ iSwap = ETrue;
return;
}
- else
+ else if( iSwap )
{
- if ( swap )
+ iSwap = EFalse;
+
+ TInt pos = iFocusHistory.Count( ) - 1;
+ if ( pos >= 0 )
{
- swap = EFalse;
TInt currentApp = aApp.iUid;
- TInt pos = iFocusHistory.Count( ) - 1;
- if ( pos >= 0 )
+ TInt prevApp = iFocusHistory[pos];
+ if ( currentApp != prevApp )
{
- TInt prevApp = iFocusHistory[pos];
- if ( currentApp != prevApp && wasPressed )
- {
- //we are here as the result of the fast swap
- ResetHistory( );
- iFocusHistory.AppendL( thuApps[i] );
- wasPressed = EFalse;
- }
+ //we are here as the result of the fast swap
+ ResetHistory( );
+ iFocusHistory.AppendL( thuApps[i] );
+ break;
}
}
}
--- a/backsteppingsrv/src/bsserver.cpp Wed Jun 09 10:01:25 2010 +0300
+++ b/backsteppingsrv/src/bsserver.cpp Mon Jun 21 16:00:38 2010 +0300
@@ -27,8 +27,6 @@
#include "bsdebug.h"
#include "bsserver.h"
-const TInt idsArrayGranularity = 30;
-
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
@@ -174,6 +172,7 @@
ui->PrepareToExit( );
}
+
// -----------------------------------------------------------------------------
// Create and start the server.
// -----------------------------------------------------------------------------
@@ -230,6 +229,7 @@
SetAutoForwarding(ETrue);
User::SetPriorityControl(EFalse);
}
+
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
@@ -243,12 +243,11 @@
// -----------------------------------------------------------------------------
//
void CBSServer::CBSAppUi::HandleWsEventL( const TWsEvent& aEvent,
- CCoeControl* /*aDestination*/)
+ CCoeControl* aDestination)
{
if ( aEvent.Type( ) == EEventFocusGroupChanged
|| aEvent.Type( ) == EEventWindowGroupsChanged )
{
-
TInt windowsGroupID = iCoeEnv->WsSession().GetFocusWindowGroup( );
CApaWindowGroupName* apaWGName = CApaWindowGroupName::NewLC(
iCoeEnv->WsSession( ), windowsGroupID );
@@ -261,37 +260,7 @@
iEngine->HandleFocusChangeL( uid );
}
}
- else if( aEvent.Type( ) == EEventKeyDown )
- {
- iEngine->ApplicationKeyWasPressed( );
- ForwardEventL( aEvent );
- }
- else if( aEvent.Type( ) == EEventKeyUp )
- {
- ForwardEventL( aEvent );
- }
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CBSServer::CBSAppUi::ForwardEventL( const TWsEvent& aEvent )
- {
- CArrayFixFlat<TInt>* idArray =
- new (ELeave) CArrayFixFlat<TInt>( idsArrayGranularity );
- iCoeEnv->WsSession().WindowGroupList( idArray );
-
- TInt ownId = iCoeEnv->RootWin().Identifier();
- for( TInt x(0); x < idArray->Count(); x++ )
- {
- if( (*idArray)[x] != ownId )
- {
- iCoeEnv->WsSession().SendEventToWindowGroup(
- (*idArray)[x], aEvent );
- }
- }
- delete idArray;
+ CEikAppUi::HandleWsEventL( aEvent, aDestination );
}
// -----------------------------------------------------------------------------
@@ -307,8 +276,6 @@
iCoeEnv->RootWin().EnableGroupChangeEvents( );
//disable notifications about layout change
iCoeEnv->RootWin().DisableScreenChangeEvents();
- //get notifications about application key event
- iCoeEnv->RootWin().CaptureKeyUpAndDowns( EStdKeyApplication0, 0, 0 );
}
// ============================= LOCAL FUNCTIONS ===============================
--- a/contentcontrolsrv/ccsrv/src/ccsrvsession.cpp Wed Jun 09 10:01:25 2010 +0300
+++ b/contentcontrolsrv/ccsrv/src/ccsrvsession.cpp Mon Jun 21 16:00:38 2010 +0300
@@ -385,30 +385,33 @@
void CCcSrvSession::HandleGetMsgDataL(
RMessage2& aMessage )
{
- // Read sender and receiver of a response
+ // Read transaction id which message data is requested
TPckgBuf<TUint32> pckg;
aMessage.ReadL( 0, pckg );
TUint32 trId = pckg();
CCcSrvMsg* req( NULL );
- TInt index( 0 );
- for( TInt i = 0; i < iRequests.Count() && !req; i++ )
+ TBool found( EFalse );
+ for( TInt i = 0; i < iRequests.Count() && !found; i++ )
{
- if ( iRequests[ i ]->TrId() == trId )
+ req = iRequests[ i ];
+ if ( req->Function() == ECcGetMsgData &&
+ req->TrId() == trId )
{
- req = iRequests[ i ];
- index = i;
+ iRequests.Remove( i );
+ found = ETrue;
}
}
TInt err( KErrNone );
- if ( req )
+ if ( found )
{
+ CleanupStack::PushL( req );
+
// Write message data
aMessage.WriteL( 1, req->Data(), 0);
- // Remove request
- iRequests.Remove( index );
- delete req;
+
+ CleanupStack::PopAndDestroy( req );
}
else
{
@@ -474,7 +477,9 @@
found = ETrue;
}
else if ( aMessage.Function() == ECcApiResp &&
- req->TrId() == aMessage.TrId() )
+ req->Function() == ECcApiReq &&
+ req->TrId() == aMessage.TrId() &&
+ !req->Message().IsNull() )
{
// Pending ApiReq transaction found
iRequests.Remove( i );
@@ -536,7 +541,14 @@
// Store message to handled later
CCcSrvMsg* msg = CCcSrvMsg::NewL();
CleanupStack::PushL( msg );
- msg->SetFunction( aMessage.Function() );
+ if ( found && aMessage.DataSize() )
+ {
+ msg->SetFunction( ECcGetMsgData );
+ }
+ else
+ {
+ msg->SetFunction( aMessage.Function() );
+ }
msg->SetSender( aMessage.Sender() );
msg->SetReceiver( aMessage.Receiver() );
msg->SetMsgId( aMessage.MsgId() );
--- a/contentpublishingsrv/contentpublishingutils/pluginvalidator/inc/charvesterpluginvalidator.h Wed Jun 09 10:01:25 2010 +0300
+++ b/contentpublishingsrv/contentpublishingutils/pluginvalidator/inc/charvesterpluginvalidator.h Mon Jun 21 16:00:38 2010 +0300
@@ -91,7 +91,16 @@
*/
void LoadPluginL( TPluginInfo& aPluginInfo );
+ /**
+ * Calls UpdateL() for every plugin
+ */
+ void UpdatePluginsL();
+ /**
+ * Callback used for delayed update
+ */
+ static TInt UpdateCallback( TAny* aValidator );
+
private:
/**
@@ -105,6 +114,12 @@
* Own
*/
RProperty iInProgressProperty;
+
+ /*
+ * Idle AO used for delayed update
+ * Own
+ */
+ CIdle* iUpdateIdle;
};
#endif // CHARVESTERPLUGINVALIDATOR_H
--- a/contentpublishingsrv/contentpublishingutils/pluginvalidator/src/charvesterpluginvalidator.cpp Wed Jun 09 10:01:25 2010 +0300
+++ b/contentpublishingsrv/contentpublishingutils/pluginvalidator/src/charvesterpluginvalidator.cpp Mon Jun 21 16:00:38 2010 +0300
@@ -1,30 +1,35 @@
/*
-* Copyright (c) 2006 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:
+ * Copyright (c) 2006 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:
+ *
+ */
#include <e32property.h>
#include <ecom/ecom.h>
#include <mmf/common/mmfcontrollerpluginresolver.h>
#include <contentharvesterplugin.h> // harvesting plugin
-
#include "charvesterpluginvalidator.h"
#include "cblacklisthandler.h"
-const TUint32 KInProgressPropertyKey = { 0x1028000E };
-const TUint32 KHarvesterUid = { 0x10282E5A };
+const TUint32 KInProgressPropertyKey =
+ {
+ 0x1028000E
+ };
+const TUint32 KHarvesterUid =
+ {
+ 0x10282E5A
+ };
// ======== MEMBER FUNCTIONS ========
@@ -32,12 +37,12 @@
//
// ----------------------------------------------------------------------------
//
-EXPORT_C CHarvesterPluginValidator* CHarvesterPluginValidator::NewL( TUid aUid,
- TAny *aParameter )
+EXPORT_C CHarvesterPluginValidator* CHarvesterPluginValidator::NewL(
+ TUid aUid, TAny *aParameter)
{
- CHarvesterPluginValidator* self =
- CHarvesterPluginValidator::NewLC( aUid , aParameter );
- CleanupStack::Pop( self );
+ CHarvesterPluginValidator* self = CHarvesterPluginValidator::NewLC(aUid,
+ aParameter);
+ CleanupStack::Pop(self);
return self;
}
@@ -45,25 +50,24 @@
//
// ----------------------------------------------------------------------------
//
-EXPORT_C CHarvesterPluginValidator* CHarvesterPluginValidator::NewLC( TUid aUid,
- TAny *aParameter )
+EXPORT_C CHarvesterPluginValidator* CHarvesterPluginValidator::NewLC(
+ TUid aUid, TAny *aParameter)
{
- CHarvesterPluginValidator* self = new( ELeave )
- CHarvesterPluginValidator( aUid, aParameter );
- CleanupStack::PushL( self );
+ CHarvesterPluginValidator* self = new (ELeave) CHarvesterPluginValidator(
+ aUid, aParameter);
+ CleanupStack::PushL(self);
self->ConstructL();
return self;
}
-
-
// ---------------------------------------------------------------------------
// destructor
// ---------------------------------------------------------------------------
CHarvesterPluginValidator::~CHarvesterPluginValidator()
{
- iInProgressProperty.Close( );
+ iInProgressProperty.Close();
delete iBlacklist;
+ delete iUpdateIdle;
}
// ----------------------------------------------------------------------------
@@ -71,11 +75,11 @@
// ----------------------------------------------------------------------------
//
CHarvesterPluginValidator::CHarvesterPluginValidator(TUid aUid,
- TAny* aParameter) :
+ TAny* aParameter) :
CPluginValidator(aUid, aParameter)
-{
+ {
-}
+ }
// ----------------------------------------------------------------------------
//
@@ -84,45 +88,44 @@
void CHarvesterPluginValidator::ConstructL()
{
iBlacklist = CBlacklistHandler::NewL();
+ iUpdateIdle = CIdle::NewL( CActive::EPriorityIdle );
+ iUpdateIdle->Start( TCallBack( UpdateCallback, this ) );
CPluginValidator::ConstructL();
}
-
// ----------------------------------------------------------------------------
//
// ----------------------------------------------------------------------------
//
void CHarvesterPluginValidator::ManagePluginsL()
{
- TInt errorCode = iInProgressProperty.Define( TUid::Uid( KHarvesterUid ),
- KInProgressPropertyKey, RProperty::EInt );
+ TInt errorCode = iInProgressProperty.Define(TUid::Uid(KHarvesterUid),
+ KInProgressPropertyKey, RProperty::EInt);
- if ( KErrAlreadyExists == errorCode )
- {
- TInt value(-1);
- iInProgressProperty.Get( TUid::Uid( KHarvesterUid ),
- KInProgressPropertyKey, value);
- if ( value == 1 )
+ if (KErrAlreadyExists == errorCode)
{
- // property value == inprogress
- // there was a panic in the previous startup
- // so we make unofficial blacklist official
- iBlacklist->CopyBlacklistL( EFalse );
+ TInt value(-1);
+ iInProgressProperty.Get(TUid::Uid(KHarvesterUid),
+ KInProgressPropertyKey, value);
+ if (value == 1)
+ {
+ // property value == inprogress
+ // there was a panic in the previous startup
+ // so we make unofficial blacklist official
+ iBlacklist->CopyBlacklistL(EFalse);
+ }
}
- }
else
- {
- User::LeaveIfError( errorCode );
- }
+ {
+ User::LeaveIfError(errorCode);
+ }
// copy blacklisted plugins to unoffical blacklist at startup
- iBlacklist->CopyBlacklistL( ETrue );
+ iBlacklist->CopyBlacklistL(ETrue);
// set property value to 1 (which means "in progress")
- iInProgressProperty.Set( TUid::Uid( KHarvesterUid ),
- KInProgressPropertyKey, 1 );
-
+ iInProgressProperty.Set(TUid::Uid(KHarvesterUid), KInProgressPropertyKey,
+ 1);
CPluginValidator::ManagePluginsL();
-
// set property value to 0 (which means "finished")
iInProgressProperty.Set( TUid::Uid( KHarvesterUid ),
KInProgressPropertyKey, 0 );
@@ -132,32 +135,66 @@
//
// ----------------------------------------------------------------------------
//
-void CHarvesterPluginValidator::LoadPluginL( TPluginInfo& aPluginInfo )
+void CHarvesterPluginValidator::LoadPluginL(TPluginInfo& aPluginInfo)
{
- if ( !iBlacklist->IsPresentL( aPluginInfo.iImplementationUid ) )
- {
- //first we append UID to the blacklist
- iBlacklist->AppendL( aPluginInfo.iImplementationUid );
- TAny* plug ( NULL );
- TInt err( KErrNone );
- TRAP( err, plug = REComSession::CreateImplementationL(
- aPluginInfo.iImplementationUid,
- aPluginInfo.iDtor_ID_Key, iParameter ) );
- if( err==KErrNone && plug )
+ if (!iBlacklist->IsPresentL(aPluginInfo.iImplementationUid))
{
- TRAP_IGNORE(
- CleanupStack::PushL( plug );
- aPluginInfo.iPlugin = plug;
- iPluginArray.AppendL( aPluginInfo );
- CleanupStack::Pop( plug );
- static_cast<CContentHarvesterPlugin*>( plug )->UpdateL()
- );
+ //first we append UID to the blacklist
+ iBlacklist->AppendL(aPluginInfo.iImplementationUid);
+ TAny* plug(NULL);
+ TInt err(KErrNone);
+ TRAP( err, plug = REComSession::CreateImplementationL(
+ aPluginInfo.iImplementationUid,
+ aPluginInfo.iDtor_ID_Key, iParameter ) );
+ if (err == KErrNone && plug)
+ {
+ TRAP_IGNORE(
+ CleanupStack::PushL( plug );
+ aPluginInfo.iPlugin = plug;
+ iPluginArray.AppendL( aPluginInfo );
+ CleanupStack::Pop( plug );
+ );
+ }
+ //no panic during load so we can remove UID from blacklist
+ iBlacklist->RemoveL(aPluginInfo.iImplementationUid);
}
- //no panic during load so we can remove UID from blacklist
- iBlacklist->RemoveL( aPluginInfo.iImplementationUid );
- }
}
+// ----------------------------------------------------------------------------
+//
+// ----------------------------------------------------------------------------
+//
+void CHarvesterPluginValidator::UpdatePluginsL()
+ {
+ // set property value to 1 (which means "in progress")
+ iInProgressProperty.Set(TUid::Uid(KHarvesterUid), KInProgressPropertyKey,
+ 1);
+ for (TInt i = 0; i < iPluginArray.Count(); i++)
+ {
+ //first we append UID to the blacklist
+ iBlacklist->AppendL(iPluginArray[i].iImplementationUid);
+ TRAP_IGNORE( static_cast<CContentHarvesterPlugin*>
+ ( iPluginArray[i].iPlugin )->UpdateL() );
+ //no panic during update so we can remove UID from blacklist
+ iBlacklist->RemoveL(iPluginArray[i].iImplementationUid);
+ }
+ // set property value to 0 (which means "finished")
+ iInProgressProperty.Set(TUid::Uid(KHarvesterUid), KInProgressPropertyKey,
+ 0);
+ }
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+TInt CHarvesterPluginValidator::UpdateCallback( TAny* aValidator )
+ {
+ if ( aValidator )
+ {
+ TRAP_IGNORE( static_cast<CHarvesterPluginValidator*>(aValidator)->
+ UpdatePluginsL( ));
+ }
+ return KErrNone;
+ }
--- a/contentpublishingsrv/contentpublishingutils/pluginvalidator/src/cpluginvalidator.cpp Wed Jun 09 10:01:25 2010 +0300
+++ b/contentpublishingsrv/contentpublishingutils/pluginvalidator/src/cpluginvalidator.cpp Mon Jun 21 16:00:38 2010 +0300
@@ -196,9 +196,6 @@
}
}
-
-
-
// ----------------------------------------------------------------------------
//
// ----------------------------------------------------------------------------
--- a/homescreenpluginsrv/hspsmanager/group/hspsthemeserver.mmp Wed Jun 09 10:01:25 2010 +0300
+++ b/homescreenpluginsrv/hspsmanager/group/hspsthemeserver.mmp Mon Jun 21 16:00:38 2010 +0300
@@ -85,6 +85,7 @@
LIBRARY MemMan.lib
LIBRARY ws32.lib // RWsSession
LIBRARY SysLangUtil.lib
+LIBRARY PlatformEnv.lib
#ifdef _hsps_DEBUG_
LIBRARY flogger.lib
--- a/homescreenpluginsrv/hspsmanager/inc/hspsserverutil.h Wed Jun 09 10:01:25 2010 +0300
+++ b/homescreenpluginsrv/hspsmanager/inc/hspsserverutil.h Mon Jun 21 16:00:38 2010 +0300
@@ -629,6 +629,14 @@
*/
static void GetInstalledLanguagesL(
CArrayFixFlat<TInt>*& aLanguages );
+ /**
+ * Returns index of internal mass memory drive
+ * @since S60 5.2
+ * @param aFs Reference to open file server handle.
+ * @return index of internal mass memory drive. KErrNotFound if drive
+ * does not exists.
+ */
+ static TInt GetEmmcDrivePath( RFs& aFs );
private:
/**
--- a/homescreenpluginsrv/hspsmanager/inc/hspsthemeserver.h Wed Jun 09 10:01:25 2010 +0300
+++ b/homescreenpluginsrv/hspsmanager/inc/hspsthemeserver.h Mon Jun 21 16:00:38 2010 +0300
@@ -178,8 +178,8 @@
// C-Drive directory for the SISX installation files
_LIT( KImportDirectoryC, "c:\\private\\200159c0\\import\\" );
-// E-Drive directory for the SISX installation files
-_LIT( KImportDirectoryE, "e:\\private\\200159c0\\import\\" );
+// directory for the SISX installation files
+_LIT( KImportDirectory, "\\private\\200159c0\\import\\" );
/** hspsThemeServer name: */
_LIT(KhspsThemeServerName,"hspsthemeserver");
--- a/homescreenpluginsrv/hspsmanager/src/hspsinstallationhandler.cpp Wed Jun 09 10:01:25 2010 +0300
+++ b/homescreenpluginsrv/hspsmanager/src/hspsinstallationhandler.cpp Mon Jun 21 16:00:38 2010 +0300
@@ -42,6 +42,7 @@
#include "hspsserverutil.h"
#include "hspsfamilylistener.h"
+
#ifdef HSPS_LOG_ACTIVE
#include <hspsodtdump.h>
#include <hspslogbus.h>
@@ -2205,7 +2206,6 @@
const TDesC& aPath )
{
// Retrieve supported localizations.
-
CArrayFixFlat<TInt>* systemEpocLanguageCodes = NULL;
hspsServerUtil::GetInstalledLanguagesL(
systemEpocLanguageCodes );
@@ -2213,10 +2213,14 @@
// Find all entries under the Xuikon folders that
// match our eclipsing rules and localisations supported by phone.
-
RArray<TInt> driveArray;
CleanupClosePushL( driveArray );
- driveArray.Append( EDriveE );
+ TInt drive = hspsServerUtil::GetEmmcDrivePath( iFsSession );
+ if ( drive != KErrNotFound )
+ {
+ driveArray.Append( drive );
+ }
+
driveArray.Append( EDriveC );
driveArray.Append( EDriveZ );
--- a/homescreenpluginsrv/hspsmanager/src/hspsmaintenancehandler.cpp Wed Jun 09 10:01:25 2010 +0300
+++ b/homescreenpluginsrv/hspsmanager/src/hspsmaintenancehandler.cpp Mon Jun 21 16:00:38 2010 +0300
@@ -4737,14 +4737,28 @@
//
void ChspsMaintenanceHandler::HandleReinstallationL(
const TBool aInstallUdaEmmc )
- {
+ {
// Install plug-in configurations from the "install" directories
iThemeServer.InstallWidgetsL( aInstallUdaEmmc );
if( aInstallUdaEmmc )
{
- // Install plug-in configurations from the "import" directories in C and E
+ // Install plug-in configurations from the "import" directories in C
+ // and emmc(if exists)
iThemeServer.InstallUDAWidgetsL( KImportDirectoryC );
- iThemeServer.InstallUDAWidgetsL( KImportDirectoryE );
+
+ TInt drive = hspsServerUtil::GetEmmcDrivePath(
+ iServerSession->FileSystem() );
+ if ( drive != KErrNotFound )
+ {
+ TDriveUnit unit(drive);
+ HBufC* importDirectoryE = HBufC::NewLC(
+ KImportDirectory().Length() + unit.Name().Length() );
+ importDirectoryE->Des().Append( unit.Name() );
+ importDirectoryE->Des().Append( KImportDirectory );
+
+ iThemeServer.InstallUDAWidgetsL( *importDirectoryE );
+ CleanupStack::PopAndDestroy( importDirectoryE );
+ }
}
// Force updating of the header cache
--- a/homescreenpluginsrv/hspsmanager/src/hspsserverutil.cpp Wed Jun 09 10:01:25 2010 +0300
+++ b/homescreenpluginsrv/hspsmanager/src/hspsserverutil.cpp Mon Jun 21 16:00:38 2010 +0300
@@ -30,6 +30,7 @@
#include "bautils.h"
#include "sysutil.h"
#include <syslangutil.h>
+#include <DriveInfo.h>
_LIT(KHspsFolder, "\\200159c0\\themes\\" );
@@ -1996,7 +1997,11 @@
KDriveAttExclude|KDriveAttRemovable|KDriveAttRemote|KDriveAttSubsted );
if( aFindFromUdaEmmcDrives )
{
- aFs.SetSessionToPrivate( EDriveE );
+ TInt drive = hspsServerUtil::GetEmmcDrivePath( aFs );
+ if ( drive != KErrNotFound )
+ {
+ aFs.SetSessionToPrivate( drive );
+ }
}
else
{
@@ -2198,6 +2203,28 @@
// -----------------------------------------------------------------------------
+// hspsServerUtil::GetEmmcDrivePathL
+// -----------------------------------------------------------------------------
+//
+TInt hspsServerUtil::GetEmmcDrivePath( RFs& aFs )
+ {
+ TInt drive = KErrNotFound;
+ if ( DriveInfo::GetDefaultDrive(
+ DriveInfo::EDefaultMassStorage, drive ) == KErrNone )
+ {
+ TUint status;
+ if ( DriveInfo::GetDriveStatus( aFs, drive, status ) == KErrNone )
+ {
+ if ( status & DriveInfo::EDriveInternal )
+ {
+ return drive;
+ }
+ }
+ }
+ return KErrNotFound;
+ }
+
+// -----------------------------------------------------------------------------
// hspsServerUtil::hspsServerUtil
// -----------------------------------------------------------------------------
//
--- a/homescreenpluginsrv/hspsmanager/src/hspsthemeserver.cpp Wed Jun 09 10:01:25 2010 +0300
+++ b/homescreenpluginsrv/hspsmanager/src/hspsthemeserver.cpp Mon Jun 21 16:00:38 2010 +0300
@@ -2755,10 +2755,24 @@
// Install widgets from \private\200159C0\install\ directories (ROM and UDA image)
InstallWidgetsL();
- // Install widgets from \private\200159C0\imports\ directory (UDA image) C & E
+ // Install widgets from \private\200159C0\imports\ directory
+ //from c (UDA image) and from emmc
InstallUDAWidgetsL( KImportDirectoryC );
- InstallUDAWidgetsL( KImportDirectoryE );
-
+
+ TInt drive = hspsServerUtil::GetEmmcDrivePath( iFsSession );
+ if ( drive != KErrNotFound )
+ {
+ TDriveUnit unit(drive);
+ HBufC* importDirectoryE = HBufC::NewLC(
+ KImportDirectory().Length() + unit.Name().Length() );
+
+ importDirectoryE->Des().Append( unit.Name() );
+ importDirectoryE->Des().Append( KImportDirectory );
+
+ InstallUDAWidgetsL( *importDirectoryE );
+ CleanupStack::PopAndDestroy( importDirectoryE );
+ }
+
// Post RFS installations have been done, prevent re-installations at next startup
// by reading firmware version and saving it to cenrep.
GetFWVersion( fwVersion );
--- a/homescreensrv_plat/menu_content_service_api/inc/mcsdef.h Wed Jun 09 10:01:25 2010 +0300
+++ b/homescreensrv_plat/menu_content_service_api/inc/mcsdef.h Mon Jun 21 16:00:38 2010 +0300
@@ -55,6 +55,7 @@
// Menu clients always need to check that the necessary attributes are present.
//
+_LIT( KMenuAttrPredefined, "predefined" );
_LIT( KMenuAttrTitleName, "title_name" ); ///< Title name (displayed in Title Pane).
_LIT( KMenuAttrShortName, "short_name" ); ///< Short name.
_LIT( KMenuAttrLongName, "long_name" ); ///< Long name.
--- a/idlefw/plugins/mcsplugin/data/mcspluginsettingsres.rss Wed Jun 09 10:01:25 2010 +0300
+++ b/idlefw/plugins/mcsplugin/data/mcspluginsettingsres.rss Mon Jun 21 16:00:38 2010 +0300
@@ -102,7 +102,6 @@
RESOURCE AVKON_VIEW r_ai_mcs_settings_view
{
menubar = r_ai_mcs_settings_menubar;
- //cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
cba = r_scut_softkeys_options_back_change;
}
@@ -243,18 +242,4 @@
};
}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_scut_softkeys_options_exit_change
-{
- buttons =
- {
- CBA_BUTTON {id = EAknSoftkeyOptions; txt = text_softkey_option; },
- CBA_BUTTON {id = EAknSoftkeyExit; txt = text_softkey_exit; },
- CBA_BUTTON {id = EAiScutSettingsCmdChange; txt = qtn_msk_change; }
- };
-}
-
// End of File.
--- a/idlefw/plugins/mcsplugin/settings/src/mcspluginsettings.cpp Wed Jun 09 10:01:25 2010 +0300
+++ b/idlefw/plugins/mcsplugin/settings/src/mcspluginsettings.cpp Mon Jun 21 16:00:38 2010 +0300
@@ -37,11 +37,6 @@
AI_UID_ECOM_IMPLEMENTATION_SETTINGS_MCSPLUGIN
};
-const TUid KUidAiFwCommon =
-{
- AI_UID3_AIFW_COMMON
-};
-
_LIT(KMCSSettingsResourceFileName, "mcspluginsettingsres.rsc");
/** Implementation table for MCS settings plug-in */
@@ -148,17 +143,6 @@
break;
case EAknSoftkeyBack:
- if (iAppUi->View(KGSMainViewUid))
- {
- // if we are in GS activate parent plugin view (standby view)...
- iAppUi->ActivateLocalViewL(KGSPrslnPluginUid);
- }
- else
- {
- iAppUi->ActivateLocalViewL(iPrevViewId.iViewUid);
- }
- break;
-
case EAknSoftkeyExit:
iAppUi->HandleCommandL(EAknCmdExit);
break;
@@ -176,21 +160,6 @@
//
void CMCSPluginSettings::DoActivateL(const TVwsViewId& aPrevViewId, TUid aCustomMessageId, const TDesC8& aCustomMessage)
{
- CEikButtonGroupContainer* cba = Cba();
-
- if (cba)
- {
- if (aCustomMessageId == KUidAiFwCommon)
- {
- cba->SetCommandSetL(R_SCUT_SOFTKEYS_OPTIONS_EXIT_CHANGE);
- }
- else
- {
- cba->SetCommandSetL(R_SCUT_SOFTKEYS_OPTIONS_BACK_CHANGE);
- }
- cba->DrawDeferred();
- }
-
iModel->SetPluginIdL( aCustomMessage );
iModel->UpdateAppListL( EFalse );
iModel->UpdateBkmListL( EFalse );
--- a/idlefw/src/idleint/aiuiidleintegration.cpp Wed Jun 09 10:01:25 2010 +0300
+++ b/idlefw/src/idleint/aiuiidleintegration.cpp Mon Jun 21 16:00:38 2010 +0300
@@ -221,8 +221,6 @@
//
void CAiUiIdleIntegrationImpl::SetCallBubbleIfNeededL()
{
- __PRINTS( "*** CAiUiIdleIntegrationImpl::SetCallBubbleIfNeededL" );
-
if( !iIncallBubbleAllowed )
{
TInt callStatus( 0 );
@@ -234,11 +232,8 @@
// Call ongoing => show bubble
if( err == KErrNone && callStatus > EPSCTsyCallStateNone )
{
- __PRINTS( "*** CAiUiIdleIntegrationImpl::SetCallBubbleIfNeededL - enable" );
-
- iIncallBubble->SetIncallBubbleAllowedInUsualL( ETrue );
- iIncallBubble->SetIncallBubbleAllowedInIdleL( ETrue );
- iIncallBubbleAllowed = ETrue;
+ iIncallBubble->SetIncallBubbleAllowedInIdleL( ETrue );
+ iIncallBubbleAllowed = ETrue;
}
}
}
@@ -249,16 +244,11 @@
//
void CAiUiIdleIntegrationImpl::ClearCallBubbleL()
{
- __PRINTS( "*** CAiUiIdleIntegrationImpl::ClearCallBubbleL" );
-
if( iIncallBubbleAllowed )
{
- __PRINTS( "*** CAiUiIdleIntegrationImpl::ClearCallBubbleL - disable" );
-
iIncallBubble->SetIncallBubbleAllowedInIdleL( EFalse );
- iIncallBubble->SetIncallBubbleAllowedInUsualL( EFalse );
iIncallBubbleAllowed = EFalse;
- }
+ }
}
// ----------------------------------------------------------------------------
@@ -292,16 +282,34 @@
if ( err == KErrNone )
{
// Call ongoing => show bubble if not showing already
+ TBool allowed = EFalse;
+
if ( !self->iIncallBubbleAllowed &&
self->iForeground &&
( callStatus > EPSCTsyCallStateNone ) )
{
- TRAP_IGNORE( self->SetCallBubbleIfNeededL() );
+ allowed = ETrue;
+
+ TRAP( err,
+ self->iIncallBubble->SetIncallBubbleAllowedInIdleL( allowed ) );
+
+ if ( err == KErrNone )
+ {
+ self->iIncallBubbleAllowed = allowed;
+ }
}
// No call ongoing => hide if bubble is visible
else if ( self->iIncallBubbleAllowed && callStatus <= EPSCTsyCallStateNone )
{
- TRAP_IGNORE( self->ClearCallBubbleL() );
+ allowed = EFalse;
+
+ TRAP( err,
+ self->iIncallBubble->SetIncallBubbleAllowedInIdleL( allowed ) );
+
+ if ( err == KErrNone )
+ {
+ self->iIncallBubbleAllowed = allowed;
+ }
}
}
--- a/menucontentsrv/enginc/menueng.h Wed Jun 09 10:01:25 2010 +0300
+++ b/menucontentsrv/enginc/menueng.h Mon Jun 21 16:00:38 2010 +0300
@@ -421,6 +421,11 @@
*/
void SetIdSeedL( TInt aSeed );
+ /**
+ * Appends predefined attribute to items in a tree
+ */
+ void AppendPredefinedAttributeL( );
+
private: // state machine parts
/**
--- a/menucontentsrv/engsrc/menueng.cpp Wed Jun 09 10:01:25 2010 +0300
+++ b/menucontentsrv/engsrc/menueng.cpp Mon Jun 21 16:00:38 2010 +0300
@@ -645,6 +645,7 @@
// Error loading ROM tree is fatal. Nothing we can do.
User::LeaveIfError( iStatus.Int() );
iState = ESaveFile;
+ AppendPredefinedAttributeL();
SaveTempFileL();
break;
}
@@ -1201,6 +1202,25 @@
}
// ---------------------------------------------------------
+//
+// ---------------------------------------------------------
+//
+void CMenuEng::AppendPredefinedAttributeL( )
+ {
+ __ASSERT_DEBUG( iTree, User::Invariant() );
+ MXCFWNode* root = iTree->Root();
+ RNodeArray nodes;
+ CleanupClosePushL( nodes );
+ iTree->GetNodesOfTypeL(KMenuTypeApp(),nodes, root, ETrue );
+ for (TInt i = 0; i<nodes.Count(); i++)
+ {
+ CMenuEngObject* object = &Object( *nodes[i] );
+ object->SetAttributeL( KMenuAttrPredefined(), KNullDesC(), EFalse );
+ }
+ CleanupStack::PopAndDestroy( &nodes );
+ }
+
+// ---------------------------------------------------------
// CMenuEng::SelfComplete
// ---------------------------------------------------------
//
--- a/menucontentsrv/srvsrc/menusrvappscanner.cpp Wed Jun 09 10:01:25 2010 +0300
+++ b/menucontentsrv/srvsrc/menusrvappscanner.cpp Mon Jun 21 16:00:38 2010 +0300
@@ -32,7 +32,6 @@
_LIT( KMenuOne, "1" );
_LIT( KMenuAttrMmcId, "mmc_id" );
_LIT( KMenuMassStorage, "mass_storage" );
-_LIT( KMenuPredefinedWidget, "predefined_widget" );
_LIT( KMenuMmcHistoryFname, "mmchistory" );
// ==================== LOCAL FUNCTIONS ====================
@@ -1058,7 +1057,7 @@
flags = TMenuItem::EMissing;
}
else if ( iEng.ObjectL( aItem.Id() ).FindAttribute(
- KMenuPredefinedWidget(), val, dummy ) )
+ KMenuAttrPredefined(), val, dummy ) )
{
flags = TMenuItem::EMissing;
}
@@ -1066,7 +1065,7 @@
else if( iEng.ObjectL( aItem.Id() ).GetAppType()
!= CMenuEngObject::EWidgetApp
|| iEng.ObjectL( aItem.Id() ).FindAttribute(
- KMenuPredefinedWidget(), val, dummy ) )
+ KMenuAttrPredefined(), val, dummy ) )
{
flags = TMenuItem::EHidden;
}