# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1268649670 -7200 # Node ID 096dad6e50a987b3063d0f1f2e8282692a511b92 # Parent 7645e9ce10dca4a3219b1d4d2695d30229adc3c6 Revision: 201009 Kit: 201010 diff -r 7645e9ce10dc -r 096dad6e50a9 appfw/apparchitecture/group/APGRFX.MMP --- a/appfw/apparchitecture/group/APGRFX.MMP Fri Mar 12 15:43:21 2010 +0200 +++ b/appfw/apparchitecture/group/APGRFX.MMP Mon Mar 15 12:41:10 2010 +0200 @@ -47,6 +47,7 @@ library apserv.lib apfile.lib #ifdef USE_IH_RAISE_EVENT +APP_LAYER_SYSTEMINCLUDE_SYMBIAN LIBRARY instrumentationhandler.lib #endif // USE_IH_RAISE_EVENT diff -r 7645e9ce10dc -r 096dad6e50a9 appfw/apparchitecture/group/APLIST.MMP --- a/appfw/apparchitecture/group/APLIST.MMP Fri Mar 12 15:43:21 2010 +0200 +++ b/appfw/apparchitecture/group/APLIST.MMP Mon Mar 15 12:41:10 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-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" @@ -62,6 +62,7 @@ //library apserv.lib apfile.lib apparc.lib #ifdef USE_IH_RAISE_EVENT +APP_LAYER_SYSTEMINCLUDE_SYMBIAN LIBRARY instrumentationhandler.lib #endif // USE_IH_RAISE_EVENT diff -r 7645e9ce10dc -r 096dad6e50a9 appfw/uiftestfw/inc/appfwk_test_AppUi.h --- a/appfw/uiftestfw/inc/appfwk_test_AppUi.h Fri Mar 12 15:43:21 2010 +0200 +++ b/appfw/uiftestfw/inc/appfwk_test_AppUi.h Mon Mar 15 12:41:10 2010 +0200 @@ -1,4 +1,4 @@ -// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2005-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" @@ -30,7 +30,7 @@ #include -#include "appfwk_tmsteststep.h" +#include // user panic descriptors _LIT(KPanicNullPointer,"Null pointer"); diff -r 7645e9ce10dc -r 096dad6e50a9 contenthandling/webrecognisers/group/BLD.INF --- a/contenthandling/webrecognisers/group/BLD.INF Fri Mar 12 15:43:21 2010 +0200 +++ b/contenthandling/webrecognisers/group/BLD.INF Mon Mar 15 12:41:10 2010 +0200 @@ -24,8 +24,6 @@ // If there's no destination then the source file will be copied // to the same name in /epoc32/include -../eBookmark/ebookmark.doc /epoc32/engdoc/ebookmark/ebookmark.doc - ../group/recognisers.iby /epoc32/rom/include/recognisers.iby ../waprecogniser/wapmime.h SYMBIAN_MW_LAYER_PLATFORM_EXPORT_PATH(wapmime.h) diff -r 7645e9ce10dc -r 096dad6e50a9 contenthandling/webrecognisers/group/application-protocols_recognisers.mrp --- a/contenthandling/webrecognisers/group/application-protocols_recognisers.mrp Fri Mar 12 15:43:21 2010 +0200 +++ b/contenthandling/webrecognisers/group/application-protocols_recognisers.mrp Mon Mar 15 12:41:10 2010 +0200 @@ -2,7 +2,6 @@ source \sf\mw\appsupport\contenthandling\webrecognisers binary \sf\mw\appsupport\contenthandling\webrecognisers\group all exports \sf\mw\appsupport\contenthandling\webrecognisers\group --export_file \sf\mw\appsupport\contenthandling\webrecognisers\eBookmark\ebookmark.doc \epoc32\engdoc\ebookmark\eBookmark.doc notes_source \component_defs\release.src diff -r 7645e9ce10dc -r 096dad6e50a9 contextframework/cfwplugins/ApplicationStateSourcePlugIn/inc/ApplicationStateSourcePlugin.h --- a/contextframework/cfwplugins/ApplicationStateSourcePlugIn/inc/ApplicationStateSourcePlugin.h Fri Mar 12 15:43:21 2010 +0200 +++ b/contextframework/cfwplugins/ApplicationStateSourcePlugIn/inc/ApplicationStateSourcePlugin.h Mon Mar 15 12:41:10 2010 +0200 @@ -29,7 +29,7 @@ #include #include #include -#include + #include #include "cfapplicationstatesettings.h" #include "uidorientationpair.h" @@ -37,22 +37,7 @@ // FORWARD DECLARATIONS class CRepository; class CCenRepNotifyHandler; -// FORWARD DECLARATIONS -class CWsEventHandler; -NONSHARABLE_CLASS( MWsEventObserver ) - { -public: - - /** - * Handles window server event. - * - * @since S60 5.0 - * @param aEvent New window server event. - * @return None. - */ - virtual void HandleWsEventL( RWsSession& aWsSession ) = 0; - }; // CLASS DECLARATION /** @@ -66,7 +51,7 @@ */ NONSHARABLE_CLASS( CApplicationStateSourcePlugIn ): public CCFContextSourcePlugIn, - public MWsEventObserver, + public MVwsSessionWrapperObserver, public MCenRepNotifyHandlerCallback { public: // Constructors and destructor @@ -91,7 +76,10 @@ // @see CCFContextSourcePlugIn void InitializeL(); +public: // From MVwsSessionWrapperObserver + // @see MVwsSessionWrapperObserver + void HandleViewEventL( const TVwsViewEvent& aEvent ); public: // From MCenRepNotifyHandlerCallback @@ -123,7 +111,7 @@ // Initialize the fg application context void InitializeFgApplicationL(); - void HandleWsEventL( RWsSession& aWsSession ); + // Handles the view server event void DoHandleViewEventL( const TVwsViewEvent& aEvent ); @@ -161,7 +149,7 @@ // Foreground application setting list RApplicationStateSettingsPointerArray iApplicationSettings; - CWsEventHandler* iWsEventHandler; + // Previous foreground application orientation TPtrC iPreviousOrientation; @@ -178,67 +166,5 @@ // KCRUidDefaultAppOrientation listener CCenRepNotifyHandler* iCRAppOrientationListener; }; -/** - * Listens events from window server and forwards them to observer. - */ -NONSHARABLE_CLASS( CWsEventHandler ): public CActive - { -public: - /** - * Symbian two phased constructors. - * - * @since S60 5.0 - * @param None. - * @return CDisplayServiceUILayout - */ - static CWsEventHandler* NewL( MWsEventObserver& aObserver ); - static CWsEventHandler* NewLC( MWsEventObserver& aObserver ); - - /** - * C++ destructor. - */ - virtual ~CWsEventHandler(); - -public: - - /** - * Start event listening. - * - * @since S60 5.0 - * @param None. - * @return None. - */ - void IssueRequest(); - -protected: - - // @see CActive - virtual void RunL(); - - // @see CActive - virtual void DoCancel(); - - // @see CActive - virtual TInt RunError( TInt aError ); - -private: - - CWsEventHandler( MWsEventObserver& aObserver ); - void ConstructL(); - -private: // Data - - /** Observer */ - MWsEventObserver& iObserver; - - /** Window server session */ - RWsSession iWsSession; - - /** Window group for receiving window server events */ - RWindowGroup* iWindowGroup; - - /** Window group name to hide it from the task manager */ - CApaWindowGroupName* iWindowGroupName; - }; #endif // C_APPLICATIONSTATESOURCEPLUGIN_H diff -r 7645e9ce10dc -r 096dad6e50a9 contextframework/cfwplugins/ApplicationStateSourcePlugIn/src/ApplicationStateSourcePlugin.cpp --- a/contextframework/cfwplugins/ApplicationStateSourcePlugIn/src/ApplicationStateSourcePlugin.cpp Fri Mar 12 15:43:21 2010 +0200 +++ b/contextframework/cfwplugins/ApplicationStateSourcePlugIn/src/ApplicationStateSourcePlugin.cpp Mon Mar 15 12:41:10 2010 +0200 @@ -26,7 +26,6 @@ #include #include #include -#include #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS #include #endif @@ -82,8 +81,7 @@ iDefaultAppName = KApplicationStateDefaultValue().AllocL(); iDefaultViewName = KApplicationStateDefaultValue().AllocL(); iContext = CCFContextObject::NewL(); - iWsEventHandler = CWsEventHandler::NewL( *this ); - iWsEventHandler->IssueRequest(); + } // ----------------------------------------------------------------------------- @@ -133,7 +131,7 @@ delete iCRAppOrientation; iApplicationSettings.ResetAndDestroy(); delete iSettings; - + delete iVws; delete iDefaultViewName; delete iDefaultAppName; delete iApplDefaultState; @@ -225,7 +223,8 @@ iSettings = NULL; } - + iVws = CVwsSessionWrapper::NewL( *this ); + iVws->NotifyNextActivation(); } // ----------------------------------------------------------------------------- @@ -352,7 +351,33 @@ } } +// ----------------------------------------------------------------------------- +// CApplicationStateSourcePlugIn::HandleViewEventL +// Maps view activations to contexts. +// ----------------------------------------------------------------------------- +// +void CApplicationStateSourcePlugIn::HandleViewEventL( + const TVwsViewEvent& aEvent ) + { + FUNC_LOG; + // Renew listening + iVws->NotifyNextActivation(); + + // Handle the view server event + DoHandleViewEventL( aEvent ); + + // Log event members! + INFO_1( "HandleViewEventL: eventType: [%d]", aEvent.iEventType ); + + INFO_2( "HandleViewEventL: viewOne [appUid:%S] [viewUid%S]", + &(const TDesC&)aEvent.iViewOneId.iAppUid.Name(), + &(const TDesC&)aEvent.iViewOneId.iViewUid.Name() ); + + INFO_2( "HandleViewEventL: viewTwo [appUid:%S] [viewUid%S]", + &(const TDesC&)aEvent.iViewTwoId.iAppUid.Name(), + &(const TDesC&)aEvent.iViewTwoId.iViewUid.Name() ); + } //------------------------------------------------------------------------------ // CApplicationStateSourcePlugIn::HandleNotifyGeneric @@ -720,223 +745,6 @@ } return index; } -void CApplicationStateSourcePlugIn::HandleWsEventL( RWsSession& aWsSession ) - { - TUid appUid( TUid::Null() ); - TPtrC bgApp( *iDefaultAppName ); - TPtrC fgApp( *iDefaultAppName ); - TPtrC fgView( *iDefaultViewName ); - - TInt focWndGrp( aWsSession.GetFocusWindowGroup() ); - CApaWindowGroupName* wndGrpName = CApaWindowGroupName::NewL( aWsSession ); - CleanupStack::PushL( wndGrpName ); - wndGrpName->ConstructFromWgIdL( focWndGrp ); - appUid = wndGrpName->AppUid(); - - for ( TInt i = 0; i < iApplicationSettings.Count(); ++i ) - { - CCFApplicationStateSettings* appSettings = iApplicationSettings[ i ]; - if ( appUid == appSettings->Uid() ) - { - fgApp.Set( appSettings->Name() ); - appSettings->GetViewName( appUid, fgView ); - bgApp.Set( iPreviousForegroundApplication ); - break; - } - } - TBool publishFgApp( EFalse ); - TBool publishFgView( EFalse ); - TBool publishBgApp( EFalse ); - - if ( iPreviousForegroundApplication.Compare( fgApp ) != 0 ) - { - publishFgApp = ETrue; - } - else if ( iPreviousForegroundView.Compare( fgView ) != 0 ) - { - publishFgView = ETrue; - } - - if ( bgApp != fgApp ) - { - publishBgApp = ETrue; - } - - iPreviousForegroundApplication.Set( fgApp ); // Store for next round - iPreviousForegroundView.Set( fgView ); - - RThread thread; - - if ( publishFgApp ) - { - iContext->SetTypeL( KApplicationStateForegroundApplicationType ); - iContext->SetValueL( fgApp ); - iCF.PublishContext( *iContext, thread ); - } - - if ( publishFgApp || publishFgView ) - { - iContext->SetTypeL( KApplicationStateForegroundApplicationViewType ); - iContext->SetValueL( fgView ); - iCF.PublishContext( *iContext, thread ); - } - - if ( publishBgApp ) - { - iContext->SetTypeL( KApplicationStateBackgroundApplicationType ); - iContext->SetValueL( bgApp ); - iCF.PublishContext( *iContext, thread ); - } - - thread.Close(); - CleanupStack::PopAndDestroy( wndGrpName ); - - } - -// ======================== CWsEventHandler ======================== - -// --------------------------------------------------------------------------- -// C++ constructor. -// --------------------------------------------------------------------------- -// -CWsEventHandler::CWsEventHandler( MWsEventObserver& aObserver ): - CActive( CActive::EPriorityStandard ), - iObserver( aObserver ) - { - CActiveScheduler::Add( this ); - } - -// --------------------------------------------------------------------------- -// Symbian 2nd phase constructor. -// --------------------------------------------------------------------------- -// -void CWsEventHandler::ConstructL() - { - // Connect to window server server - User::LeaveIfError( iWsSession.Connect() ); - - // Construct window group - iWindowGroup = new( ELeave ) RWindowGroup( iWsSession ); - User::LeaveIfError( iWindowGroup->Construct( (TUint32)this, EFalse ) ); - User::LeaveIfError( iWindowGroup->EnableGroupChangeEvents() ); - iWindowGroup->SetOrdinalPosition( 0, ECoeWinPriorityNeverAtFront ); - iWindowGroup->EnableReceiptOfFocus( EFalse ); - - // Hide the invisible window from the task manager - iWindowGroupName = CApaWindowGroupName::NewL( iWsSession ); - iWindowGroupName->SetHidden( ETrue ); - iWindowGroupName->SetWindowGroupName( *iWindowGroup ); - - } -// --------------------------------------------------------------------------- -// Symbian two phased constructor. -// --------------------------------------------------------------------------- -// -CWsEventHandler* CWsEventHandler::NewL( MWsEventObserver& aObserver ) - { - CWsEventHandler* self = CWsEventHandler::NewLC( aObserver ); - CleanupStack::Pop( self ); - - return self; - } - -// --------------------------------------------------------------------------- -// Symbian two phased constructor. -// Leaves pointer in the cleanup stack. -// --------------------------------------------------------------------------- -// -CWsEventHandler* CWsEventHandler::NewLC( MWsEventObserver& aObserver ) - { - CWsEventHandler* self = new ( ELeave ) CWsEventHandler( aObserver ); - CleanupStack::PushL( self ); - self->ConstructL(); - - return self; - } - -// --------------------------------------------------------------------------- -// C++ destructor. -// --------------------------------------------------------------------------- -// -CWsEventHandler::~CWsEventHandler() - { - Cancel(); - - // Cleanup window group name - delete iWindowGroupName; - - // Cleanup window group - if( iWindowGroup ) - { - iWindowGroup->DisableGroupChangeEvents(); - iWindowGroup->Close(); - delete iWindowGroup; - } - - // Cleanup window server session - iWsSession.Close(); - } - -//------------------------------------------------------------------------------ -// CWsEventHandler::IssueRequest -//------------------------------------------------------------------------------ -// -void CWsEventHandler::IssueRequest() - { - // Request events from window server - iWsSession.EventReady( &iStatus ); - SetActive(); - } -//------------------------------------------------------------------------------ -// CWsEventHandler::RunL -//------------------------------------------------------------------------------ -// -void CWsEventHandler::RunL() - { - TInt err = iStatus.Int(); - if( err == KErrNone ) - { - // No errors occured, fetch event - TWsEvent wsEvent; - iWsSession.GetEvent( wsEvent ); - - // Continue listening - IssueRequest(); - switch (wsEvent.Type()) - { - case EEventWindowGroupsChanged : - // Forward event to observer - iObserver.HandleWsEventL( iWsSession ); - break; - default: - break; - } - } - } - -//------------------------------------------------------------------------------ -// CWsEventHandler::DoCancel -//------------------------------------------------------------------------------ -// -void CWsEventHandler::DoCancel() - { - // Cancel event ready from window server - iWsSession.EventReadyCancel(); - } - -//------------------------------------------------------------------------------ -// CWsEventHandler::RunError -//------------------------------------------------------------------------------ -// -TInt CWsEventHandler::RunError( TInt /*aError*/ ) - { - // Issue a new request, other error handling is not performed since the - // problem has occured in the observer code - IssueRequest(); - - return KErrNone; - } - diff -r 7645e9ce10dc -r 096dad6e50a9 coreapplicationuis/SysAp/Inc/SysApAppUi.h --- a/coreapplicationuis/SysAp/Inc/SysApAppUi.h Fri Mar 12 15:43:21 2010 +0200 +++ b/coreapplicationuis/SysAp/Inc/SysApAppUi.h Mon Mar 15 12:41:10 2010 +0200 @@ -525,6 +525,13 @@ * @return void */ void ConstructL(); + + /** + * Deactivate PSM on reboot if battery level is above threshold value. + * @param None + * @return void + */ + void DeactivatePSMifBatteryNotLowL(); private: @@ -1671,8 +1678,7 @@ */ TBool IsEncryptionOperationOngoingL() const; TInt iKeyBoardRepeatCount; - TBool iFlagForRmvMmcFrmShortPwrKey; - + //Offset of profile-related menu items in power key menu TInt iProfileItemsOffset; }; diff -r 7645e9ce10dc -r 096dad6e50a9 coreapplicationuis/SysAp/Inc/sysapbatteryinfocontroller.h --- a/coreapplicationuis/SysAp/Inc/sysapbatteryinfocontroller.h Fri Mar 12 15:43:21 2010 +0200 +++ b/coreapplicationuis/SysAp/Inc/sysapbatteryinfocontroller.h Mon Mar 15 12:41:10 2010 +0200 @@ -101,6 +101,12 @@ */ void BatteryStatusUpdated( const TInt aValue ); + /** + * Check if battery status is above the threshold level + * + */ + TBool IsBatteryInfoAboveThreshold() const; + private: /** diff -r 7645e9ce10dc -r 096dad6e50a9 coreapplicationuis/SysAp/Src/SysApAppUi.cpp --- a/coreapplicationuis/SysAp/Src/SysApAppUi.cpp Fri Mar 12 15:43:21 2010 +0200 +++ b/coreapplicationuis/SysAp/Src/SysApAppUi.cpp Mon Mar 15 12:41:10 2010 +0200 @@ -190,6 +190,10 @@ _LIT_SECURITY_POLICY_PASS(KAlwaysPassPolicy); _LIT_SECURITY_POLICY_C1(KWriteDeviceDataPolicy, ECapabilityWriteDeviceData); + +_LIT(KPowerSaveActivate,"Power saving mode activated"); +_LIT(KPowerSaveDeActivate,"Power saving mode deactivated"); + // ============================ MEMBER FUNCTIONS ============================== // ---------------------------------------------------------------------------- @@ -264,8 +268,7 @@ BaseConstructL( EAknEnableSkin ); TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: BaseConstructL() OK") ) ); - iFlagForRmvMmcFrmShortPwrKey = EFalse; - + /*SysAp is set as system application (Symbian terminology). This means some special privilege compared to other applications. For example it does not get closed when system is asked to close applications */ @@ -347,7 +350,8 @@ // Define P&S keys "owned" by SysAp RProperty::Define( KPSUidUikon, KUikMMCInserted, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy ); - + //initially set the value as 0 assuming mmc is not inserted + RProperty::Set( KPSUidUikon, KUikMMCInserted, 0 ); TDriveInfo driveInfo; TInt driveNumber; TInt err; @@ -355,11 +359,11 @@ for ( driveNumber = EDriveD; driveNumber < EDriveZ; driveNumber++ ) { err = fileServer.Drive(driveInfo,driveNumber); - if(err == KErrNone && driveInfo.iType == EMediaHardDisk && driveInfo.iDriveAtt & KDriveAttRemovable) + if(driveNumber==EDriveF && err == KErrNone && driveInfo.iType == EMediaHardDisk && driveInfo.iDriveAtt & KDriveAttRemovable) { - TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: err = %d, driveInfo.iType = %d, driveInfo.iDriveAtt %d, KDriveAttRemovable = %d "),err,driveInfo.iType,driveInfo.iDriveAtt,KDriveAttRemovable) ); + TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: err = %d, driveInfo.iType = %d, driveInfo.iDriveAtt %d, KDriveAttRemovable = %d "),err,driveInfo.iType,driveInfo.iDriveAtt,KDriveAttRemovable) ); RProperty::Set( KPSUidUikon, KUikMMCInserted, 1 ); - break; // Memory card drive found... + break; // Memory card drive found... } } @@ -485,10 +489,48 @@ // Create HAC setting observer now because telephony state may change before entering to normal state TRACES( RDebug::Print( _L("CCSysApAppUi::ConstructL trying CSysApCenRepHacSettingObserver::NewL") ) ); iSysApCenRepHacSettingObserver = CSysApCenRepHacSettingObserver::NewL( *this ); - + + DeactivatePSMifBatteryNotLowL (); + TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: END") ) ); } + +// ---------------------------------------------------------------------------- +// CSysApAppUi::DeactivatePSMifBatteryNotLow() +// ---------------------------------------------------------------------------- + void CSysApAppUi::DeactivatePSMifBatteryNotLowL () + { + TRACES( RDebug::Print( _L("CSysApAppUi::DeactivatePSMifBatteryNotLow: Start") ) ); + if ( iSysApFeatureManager->PowerSaveSupported()) //&& iSysApFeatureManager->Supported( KSysApFeatureIdBatteryInfoPopup )) + { + // Create batteruInfoController to get current battery status; + if(iSysApBatteryInfoController == NULL) + { + iSysApBatteryInfoController = CSysApBatteryInfoController::NewL( + iSysApCenRepController->GetInt( + KCRUidCoreApplicationUIsConf, + KCoreAppUIsBatteryInformationLowThreshold ) ); + } + //Querry the battery level + TBool status = iSysApBatteryInfoController->IsBatteryInfoAboveThreshold(); + TRACES( RDebug::Print( _L("CCSysApAppUi::DeactivatePSMifBatteryNotLow IsBatteryInfoAboveThreshold=%d"), status ) ); + // Querry to deactivate PSM if PSM is activated and battery status is above threshold + if (status) + { + if(iSysApPsmController == NULL) + { + iSysApPsmController = CSysApPsmController::NewL( *this ); + } + if ( iSysApPsmController->ShowDeactivateQuery()) + ShowQueryL( ESysApBattChargingPowerSavingQuery ); + else + iSysApPsmController->DoEnablePartialPsm( EFalse ); + } + } + TRACES( RDebug::Print( _L("CSysApAppUi::DeactivatePSMifBatteryNotLow: End") ) ); + } + // ---------------------------------------------------------------------------- // CSysApAppUi::~CSysApAppUi() // ---------------------------------------------------------------------------- @@ -1546,6 +1588,16 @@ { TPtr textBuffer = noteStringBuf->Des(); TRACES( RDebug::Print( _L("CSysApAppUi::ShowUiNoteL Next:note->ShowNoteL" ) ) ); + if(textBuffer.Compare(KPowerSaveActivate)==0) + { + CleanupStack::PopAndDestroy(2); // note and noteStringbuf + return; + } + if(textBuffer.Compare(KPowerSaveDeActivate)==0) + { + CleanupStack::PopAndDestroy(2); // note and noteStringbuf + return; + } note->ShowNoteL( noteType, textBuffer ); CleanupStack::PopAndDestroy( ); // noteStringbuf } @@ -3966,7 +4018,6 @@ _L( "CSysApAppUi::PowerKeyPopUpMenuSelectionDoneL: \"Eject\" selected, drive=%d" ), iDriveToEject ) ); iSysApDriveList->ResetDrivesToEject(); - iFlagForRmvMmcFrmShortPwrKey = ETrue; RProperty::Set( KPSUidUikon, KUikMMCInserted, 0 ); EjectMMCL(); } @@ -4938,8 +4989,11 @@ if ( iSysApFeatureManager->Supported( KSysApFeatureIdBatteryInfoPopup ) ) { - iSysApBatteryInfoController = CSysApBatteryInfoController::NewL( iSysApCenRepController->GetInt( KCRUidCoreApplicationUIsConf, + if( iSysApBatteryInfoController == NULL) + { + iSysApBatteryInfoController = CSysApBatteryInfoController::NewL( iSysApCenRepController->GetInt( KCRUidCoreApplicationUIsConf, KCoreAppUIsBatteryInformationLowThreshold ) ); + } } @@ -5488,11 +5542,7 @@ { if ( memoryCardStatus == ESysApMemoryCardInserted ) { - if(!iFlagForRmvMmcFrmShortPwrKey) - { - RProperty::Set( KPSUidUikon, KUikMMCInserted, 1 ); - } - iFlagForRmvMmcFrmShortPwrKey = EFalse; + RProperty::Set( KPSUidUikon, KUikMMCInserted, 1 ); } else { @@ -6659,7 +6709,7 @@ // cancel any active power saving query because user has changed the state manually CancelQuery( ESysApBattChargingPowerSavingQuery ); CancelQuery( ESysApBattLowPowerSavingQuery ); - + switch ( aStatus ) { case MSysApPsmControllerNotifyCallback::EPsmActivationComplete: diff -r 7645e9ce10dc -r 096dad6e50a9 coreapplicationuis/SysAp/Src/sysapbatteryinfocontroller.cpp --- a/coreapplicationuis/SysAp/Src/sysapbatteryinfocontroller.cpp Fri Mar 12 15:43:21 2010 +0200 +++ b/coreapplicationuis/SysAp/Src/sysapbatteryinfocontroller.cpp Mon Mar 15 12:41:10 2010 +0200 @@ -218,3 +218,13 @@ User::LeaveIfError( err ); } + +// --------------------------------------------------------------------------- +// CSysApBatteryInfoController::IsBatteryInfoAboveThreshold +// --------------------------------------------------------------------------- +// +TBool CSysApBatteryInfoController::IsBatteryInfoAboveThreshold() const + { + TInt capacity = iBsUtil->GetBatteryCapacity(); + return ((capacity <= iThresholdCapacity ? EBatteryInfoBelowThreshold : EBatteryInfoAboveThreshold) == EBatteryInfoAboveThreshold); + } diff -r 7645e9ce10dc -r 096dad6e50a9 coreapplicationuis/rfsplugins/FormatterRFSPlugin/src/formatterrfsplugin.cpp --- a/coreapplicationuis/rfsplugins/FormatterRFSPlugin/src/formatterrfsplugin.cpp Fri Mar 12 15:43:21 2010 +0200 +++ b/coreapplicationuis/rfsplugins/FormatterRFSPlugin/src/formatterrfsplugin.cpp Mon Mar 15 12:41:10 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2006-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" @@ -44,56 +44,58 @@ // static void FileWriteL(RPointerArray &files) { - RFs iFs; - RFile iFile; - User::LeaveIfError(iFs.Connect()); - TInt err = iFile.Open(iFs,_L("c:\\private\\100059C9\\excludelistcache.txt"),EFileWrite); + RFs fileSession; + RFile file; + User::LeaveIfError(fileSession.Connect()); + TInt err = file.Open(fileSession,_L("c:\\private\\100059C9\\excludelistcache.txt"),EFileWrite|EFileStreamText); if ( err != KErrNone ) { RDebug::Print(_L("CFormatterRFSPlugin::ExcludeListNameL , FileWrite : Failed to open the file")); return; } - TBuf8 <1> newLine; - newLine.Append('\n'); TInt pos = 0; - iFile.Seek(ESeekEnd,pos); + file.Seek(ESeekEnd,pos); TInt size = files.Count(); + RBuf filenameBuf; + for ( TInt i=0; i < size; i++) { HBufC8* fileName = HBufC8::NewLC(files[i]->Size()); TPtr8 fileNamePtr(fileName->Des()); fileNamePtr.Copy(*files[i]); - iFile.Write(*fileName); - iFile.Write(newLine); + + filenameBuf.Create(fileNamePtr.Length()); + filenameBuf.Copy(fileNamePtr); + TFileText fileText ; + fileText.Set(file) ; + fileText.Seek(ESeekStart); + fileText.Write(filenameBuf); CleanupStack::PopAndDestroy();//Filename - iFile.Flush(); + file.Flush(); } - iFile.Close(); - iFs.Close(); - + file.Close(); + fileSession.Close(); } static void MergeFilesL() { - RFs iSession; - RFile iExclude; + RFs fileSession; + RFile excludeFileName; - RFs iFs; - RFile iFile; + RFile fileName; TInt pos = 0; TInt size_of_script( 0 ); TInt buffer_size( sizeof(TText) ); TInt number_of_chars; - User::LeaveIfError(iSession.Connect()); - TInt ret = iExclude.Open(iSession,_L("c:\\private\\100059C9\\excludelist.txt"),EFileRead); + User::LeaveIfError(fileSession.Connect()); + TInt ret = excludeFileName.Open(fileSession,_L("c:\\private\\100059C9\\excludelist.txt"),EFileRead); - User::LeaveIfError(iFs.Connect()); - TInt err1 = iFile.Open(iFs,_L("c:\\private\\100059C9\\excludelistcache.txt"),EFileWrite); + TInt err1 = fileName.Open(fileSession,_L("c:\\private\\100059C9\\excludelistcache.txt"),EFileWrite|EFileStreamText); - iFile.Seek(ESeekEnd,pos); + fileName.Seek(ESeekEnd,pos); if ( ret != KErrNone || err1 != KErrNone) { RDebug::Print(_L("CFormatterRFSPlugin::ExcludeListNameL , MergeFiles : Failed to open the file")); @@ -103,7 +105,7 @@ TPtr8 bufferPtr( (TUint8*)buffer->Ptr(), buffer_size); TInt err(0); - err = iExclude.Size( size_of_script ); + err = excludeFileName.Size( size_of_script ); number_of_chars = size_of_script / sizeof(TText); TInt i(0); @@ -111,50 +113,47 @@ { if ( err == KErrNone ) { - err = iExclude.Read( bufferPtr); + err = excludeFileName.Read( bufferPtr); } - iFile.Write(bufferPtr); + fileName.Write(bufferPtr); } - iFile.Flush(); - iFile.Close(); - iFs.Close(); + fileName.Flush(); + fileName.Close(); - iExclude.Close(); - iSession.Close(); + excludeFileName.Close(); + fileSession.Close(); + CleanupStack::PopAndDestroy();//buffer - CleanupStack::PopAndDestroy();//buffer - } static HBufC* ExcludeListNameL( TChar aSystemDrive ) { FUNC_LOG; - + RDebug::Print(_L("CFormatterRFSPlugin::ExcludeListNameL")); - RFs iFs; - RFile iFile; + RFs fileSession; + RFile file; _LIT8(KFileName, "c:\\private\\100059C9\\excludelistcache.txt\n"); TBuf8 <50> fileName; fileName.Copy(KFileName); - User::LeaveIfError(iFs.Connect()); + User::LeaveIfError(fileSession.Connect()); RDir dir; - if(dir.Open(iFs,_L("c:\\private\\100059C9\\"),KEntryAttNormal) != KErrNone) + if(dir.Open(fileSession,_L("c:\\private\\100059C9\\"),KEntryAttNormal) != KErrNone) { - iFs.MkDir(_L("c:\\private\\100059C9\\")); + User::LeaveIfError(fileSession.MkDir(_L("c:\\private\\100059C9\\"))); } - TInt rev = iFile.Replace(iFs,_L("c:\\private\\100059C9\\excludelistcache.txt"),EFileWrite); + TInt rev = file.Replace(fileSession,_L("c:\\private\\100059C9\\excludelistcache.txt"),EFileWrite|EFileStreamText); RDebug::Print(_L("CFormatterRFSPlugin::ExcludeListNameL, Replace returned %d"),rev); - iFile.Write(fileName); - iFile.Flush(); - iFile.Close(); - iFs.Close(); + file.Flush(); + file.Close(); + fileSession.Close(); Swi::RSisRegistrySession session; CleanupClosePushL(session); @@ -171,76 +170,97 @@ CleanupClosePushL(entry); CleanupClosePushL(entry2); - - //No issues until here - RPointerArray allfiles; + RPointerArray registryFiles; + RPointerArray augmentedRegistryFiles; RPointerArray nonRemovableFiles; RPointerArray nonRemovableAugmentedFiles; - CleanupResetAndDestroyPushL(allfiles); + CleanupResetAndDestroyPushL(registryFiles); + CleanupResetAndDestroyPushL(augmentedRegistryFiles); CleanupResetAndDestroyPushL(nonRemovableFiles); CleanupResetAndDestroyPushL(nonRemovableAugmentedFiles); - //Logic starts - TInt count; - RPointerArray augmentationPackages; - CleanupResetAndDestroyPushL(augmentationPackages); - for ( TInt iter=0; iter=0;z--) - { - TPtr firstChar(nonRemovableFiles[z]->Des()); - if(firstChar.Mid(0,1) == _L("z")) - { - delete nonRemovableFiles[z]; - nonRemovableFiles.Remove(z); - } - } - // Look for augmentations. - if(entry.IsAugmentationL()) - { - entry.AugmentationsL(augmentationPackages); - count = entry.AugmentationsNumberL(); - for (TInt i=0; i < count; ++i) - { - User::LeaveIfError(entry2.OpenL(session,*augmentationPackages[i])); - if(EFalse == entry2.RemovableL()) - { - entry2.FilesL(nonRemovableAugmentedFiles); - for (TInt c=0; cDes()); - if(firstChar.Mid(0,1) == _L("z")) - { - delete nonRemovableAugmentedFiles[c]; - nonRemovableAugmentedFiles.Remove(c); - } - } - } - entry2.Close(); - } - } - } - entry.Close(); - } - RDebug::Print(_L("CFormatterRFSPlugin::ExcludeListNameL Writing the file names to the excludelist.txt")); + TInt count; + RPointerArray augmentationPackages; + CleanupResetAndDestroyPushL(augmentationPackages); + for ( TInt iter=0; iter=0;z--) + { + TPtr firstChar(nonRemovableFiles[z]->Des()); + if(firstChar.Mid(0,1) == _L("z")) + { + delete nonRemovableFiles[z]; + nonRemovableFiles.Remove(z); + } + } + // Look for augmentations. + if(entry.IsAugmentationL()) + { + entry.AugmentationsL(augmentationPackages); + count = entry.AugmentationsNumberL(); + for (TInt i=0; i < count; ++i) + { + User::LeaveIfError(entry2.OpenL(session,*augmentationPackages[i])); + if(EFalse == entry2.RemovableL()) + { + entry2.FilesL(nonRemovableAugmentedFiles); + entry2.RegistryFilesL(augmentedRegistryFiles); + for (TInt c=0; cDes()); + if(firstChar.Mid(0,1) == _L("z")) + { + delete nonRemovableAugmentedFiles[c]; + nonRemovableAugmentedFiles.Remove(c); + } + } + } + entry2.Close(); + } + } + } + entry.Close(); + } + RDebug::Print(_L("CFormatterRFSPlugin::ExcludeListNameL Writing the file names to the excludelist.txt")); + + MergeFilesL(); + FileWriteL(nonRemovableAugmentedFiles); + FileWriteL(augmentedRegistryFiles); + FileWriteL(nonRemovableFiles); + FileWriteL(registryFiles); - FileWriteL(nonRemovableFiles); - FileWriteL(nonRemovableAugmentedFiles); - MergeFilesL(); - - CleanupStack::PopAndDestroy(8,&session); + TInt pos = 0; + User::LeaveIfError(fileSession.Connect()); + User::LeaveIfError(file.Open(fileSession,_L("c:\\private\\100059C9\\excludelistcache.txt"),EFileWrite|EFileStreamText)); + + file.Seek(ESeekEnd,pos); - HBufC* buf = HBufC::NewLC( KExcludeListcache().Length() + KExcludeListPathNameLenExt ); - TPtr bufPtr = buf->Des(); - bufPtr.Append( aSystemDrive ); - bufPtr.Append( KDriveDelimiter ); - bufPtr.Append( KExcludeListcache ); - CleanupStack::Pop( buf ); + TBuf configurationLine ; + TFileText fileText ; + fileText.Set(file) ; + fileText.Seek(ESeekStart); + configurationLine.Format(_L("c:\\private\\100059C9\\excludelistcache.txt")) ; + fileText.Write(configurationLine); + + file.Flush(); + file.Close(); + fileSession.Close(); + + + CleanupStack::PopAndDestroy(9,&session); + + HBufC* buf = HBufC::NewLC( KExcludeListcache().Length() + KExcludeListPathNameLenExt ); + TPtr bufPtr = buf->Des(); + bufPtr.Append( aSystemDrive ); + bufPtr.Append( KDriveDelimiter ); + bufPtr.Append( KExcludeListcache ); + CleanupStack::Pop( buf ); return buf; } diff -r 7645e9ce10dc -r 096dad6e50a9 coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/init/msgcentrerfsplugintest.ini --- a/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/init/msgcentrerfsplugintest.ini Fri Mar 12 15:43:21 2010 +0200 +++ b/coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/init/msgcentrerfsplugintest.ini Mon Mar 15 12:41:10 2010 +0200 @@ -19,6 +19,8 @@ # Comment lines start with '#'-character. # See STIF TestFramework users guide.doc for instructions + + # -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- # Set following test engine settings: # - Set Test Reporting mode. TestReportMode's possible values are: diff -r 7645e9ce10dc -r 096dad6e50a9 coreapplicationuis/sensordatacompensatorplugin/tsrc/sensordatacompensatorplgtest/conf/sensordatacompensatorplgtest.cfg --- a/coreapplicationuis/sensordatacompensatorplugin/tsrc/sensordatacompensatorplgtest/conf/sensordatacompensatorplgtest.cfg Fri Mar 12 15:43:21 2010 +0200 +++ b/coreapplicationuis/sensordatacompensatorplugin/tsrc/sensordatacompensatorplgtest/conf/sensordatacompensatorplgtest.cfg Mon Mar 15 12:41:10 2010 +0200 @@ -16,6 +16,7 @@ */ + // Publish&Subscribe definitions [Define] KSensrvChannelTypeIdAccelerometerXYZAxisData 270553214 diff -r 7645e9ce10dc -r 096dad6e50a9 startupservices/Startup/conf/startup.confml Binary file startupservices/Startup/conf/startup.confml has changed diff -r 7645e9ce10dc -r 096dad6e50a9 startupservices/Startup/src/StartupTone.cpp --- a/startupservices/Startup/src/StartupTone.cpp Fri Mar 12 15:43:21 2010 +0200 +++ b/startupservices/Startup/src/StartupTone.cpp Mon Mar 15 12:41:10 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-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" @@ -28,7 +28,7 @@ #include "AudioPreference.h" #define MIN_VOLUME 0 -#define MAX_VOLUME 10 +#define MAX_VOLUME 10000 //=============================== MEMBER FUNCTIONS ============================ // --------------------------------------------------------- diff -r 7645e9ce10dc -r 096dad6e50a9 startupservices/startupanimation/sanimctrl/src/sanimstartupctrl.cpp --- a/startupservices/startupanimation/sanimctrl/src/sanimstartupctrl.cpp Fri Mar 12 15:43:21 2010 +0200 +++ b/startupservices/startupanimation/sanimctrl/src/sanimstartupctrl.cpp Mon Mar 15 12:41:10 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007,2008 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2007-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" @@ -30,7 +30,7 @@ #include "trace.h" const TInt KMinVolume( 0 ); /** Minimum allowed volume level. */ -const TInt KMaxVolume( 10 ); /** Maximum allowed volume level. */ +const TInt KMaxVolume( 10000 ); /** Maximum allowed volume level. */ const TInt KDefaultRepeatCount( 1 ); /** Default repeat count for animation and tone. */ const TInt KDefaultVolumeRamp( 0 ); /** Default volume ramp value in microseconds. */ diff -r 7645e9ce10dc -r 096dad6e50a9 systemsettings/GSAccessoryPlugin/src/gsacctvoutview.cpp --- a/systemsettings/GSAccessoryPlugin/src/gsacctvoutview.cpp Fri Mar 12 15:43:21 2010 +0200 +++ b/systemsettings/GSAccessoryPlugin/src/gsacctvoutview.cpp Mon Mar 15 12:41:10 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-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" @@ -262,28 +262,27 @@ void CGSAccTvoutView::ChangeTvSystemSettingL() { FUNC_LOG; - TInt currentValue = iServerEngine->TvSystemL(); - // If PALM is not supported, index correction - if( !iModel.PalmSupport() && currentValue ) + // If PALM is not supported only toggle values + // pal = 0, palm = 1, ntsc = 2 + TInt pal = 0; + TInt ntsc = 2; + if( !iModel.PalmSupport() ) { - currentValue--; + iServerEngine->SetTvSystemL( currentValue == pal ? ntsc : pal ); + UpdateListBoxL( EGSSettIdTvSystem ); + iSettingChanged = ETrue; + return; } + // otherwise when palm is supported and more than two options + // available show the dialog if ( ShowRadioButtonSettingsPageL( R_ACC_TV_SYSTEM_SETTING_PAGE, - iModel.PalmSupport() ? - R_ACC_TV_SYSTEM_SETTING_PAGE_LBX : - R_ACC_TV_SYSTEM_SETTING_PAGE_NO_PALM_LBX, + R_ACC_TV_SYSTEM_SETTING_PAGE_LBX, currentValue ) ) { - if( !iModel.PalmSupport() && currentValue ) - { - //In case PALM support is missing fix the NTSC value index - currentValue++; - } - iServerEngine->SetTvSystemL( currentValue ); UpdateListBoxL( EGSSettIdTvSystem ); iSettingChanged = ETrue; diff -r 7645e9ce10dc -r 096dad6e50a9 systemsettings/gssensorplugin/group/gssensorplugin.cfg --- a/systemsettings/gssensorplugin/group/gssensorplugin.cfg Fri Mar 12 15:43:21 2010 +0200 +++ b/systemsettings/gssensorplugin/group/gssensorplugin.cfg Mon Mar 15 12:41:10 2010 +0200 @@ -15,7 +15,6 @@ * */ - #ifndef GSSENSORPLUGIN_CFG #define GSSENSORPLUGIN_CFG