Revision: 201009 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 15 Mar 2010 12:41:10 +0200
branchRCL_3
changeset 13 096dad6e50a9
parent 12 7645e9ce10dc
child 17 d440d4c7e9b4
Revision: 201009 Kit: 201010
appfw/apparchitecture/group/APGRFX.MMP
appfw/apparchitecture/group/APLIST.MMP
appfw/uiftestfw/inc/appfwk_test_AppUi.h
contenthandling/webrecognisers/group/BLD.INF
contenthandling/webrecognisers/group/application-protocols_recognisers.mrp
contextframework/cfwplugins/ApplicationStateSourcePlugIn/inc/ApplicationStateSourcePlugin.h
contextframework/cfwplugins/ApplicationStateSourcePlugIn/src/ApplicationStateSourcePlugin.cpp
coreapplicationuis/SysAp/Inc/SysApAppUi.h
coreapplicationuis/SysAp/Inc/sysapbatteryinfocontroller.h
coreapplicationuis/SysAp/Src/SysApAppUi.cpp
coreapplicationuis/SysAp/Src/sysapbatteryinfocontroller.cpp
coreapplicationuis/rfsplugins/FormatterRFSPlugin/src/formatterrfsplugin.cpp
coreapplicationuis/rfsplugins/tsrc/rfspluginstest/msgcentrerfsplugintest/init/msgcentrerfsplugintest.ini
coreapplicationuis/sensordatacompensatorplugin/tsrc/sensordatacompensatorplgtest/conf/sensordatacompensatorplgtest.cfg
startupservices/Startup/conf/startup.confml
startupservices/Startup/src/StartupTone.cpp
startupservices/startupanimation/sanimctrl/src/sanimstartupctrl.cpp
systemsettings/GSAccessoryPlugin/src/gsacctvoutview.cpp
systemsettings/gssensorplugin/group/gssensorplugin.cfg
--- 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
 
--- 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
 
--- 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 <test/testexecutestepbase.h>
 
-#include "appfwk_tmsteststep.h"
+#include <test/appfwk_tmsteststep.h>
 
 // user panic descriptors
 _LIT(KPanicNullPointer,"Null pointer");
--- 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)
--- 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
 
 
--- 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 <cfcontextsourceplugin.h>
 #include <cfcontextobject.h>
 #include <cenrepnotifyhandler.h>
-#include <w32std.h>
+
 #include <apgwgnam.h>
 #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
--- 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 <apgwgnam.h>
 #include <applicationorientation.h>
 #include <aknappui.h>
-#include <coedef.h>
 #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
 #include <vwsdefpartner.h>
 #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;
-    }
-
 	
--- 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;
     };
--- 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:
 
     /**
--- 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:
--- 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);
+        }
--- 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<HBufC> &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<HBufC> allfiles;
+    RPointerArray<HBufC> registryFiles;
+    RPointerArray<HBufC> augmentedRegistryFiles;
     RPointerArray<HBufC> nonRemovableFiles;
     RPointerArray<HBufC> nonRemovableAugmentedFiles;
-    CleanupResetAndDestroyPushL(allfiles);
+    CleanupResetAndDestroyPushL(registryFiles);
+    CleanupResetAndDestroyPushL(augmentedRegistryFiles);
     CleanupResetAndDestroyPushL(nonRemovableFiles);
     CleanupResetAndDestroyPushL(nonRemovableAugmentedFiles);
     
-    //Logic starts
-    TInt count;
-    RPointerArray<Swi::CSisRegistryPackage> augmentationPackages;
-    CleanupResetAndDestroyPushL(augmentationPackages);
-    for ( TInt iter=0; iter<uidcount; iter++)
-        {
-        User::LeaveIfError(entry.Open(session,uids[iter]));
-        if(EFalse == entry.RemovableL())
-            {
-            entry.FilesL(nonRemovableFiles);
-            TInt fileCount = nonRemovableFiles.Count(); 
-            for (TInt z=fileCount-1; z>=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; c<nonRemovableAugmentedFiles.Count();c++)
-                              {
-                              TPtr firstChar(nonRemovableAugmentedFiles[c]->Des());
-                              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<Swi::CSisRegistryPackage> augmentationPackages;
+     CleanupResetAndDestroyPushL(augmentationPackages);
+     for ( TInt iter=0; iter<uidcount; iter++)
+         {
+         User::LeaveIfError(entry.Open(session,uids[iter]));
+         if(EFalse == entry.RemovableL())
+             {
+             entry.FilesL(nonRemovableFiles);
+             entry.RegistryFilesL(registryFiles);
+             TInt fileCount = nonRemovableFiles.Count(); 
+             for (TInt z=fileCount-1; z>=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; c<nonRemovableAugmentedFiles.Count();c++)
+                               {
+                               TPtr firstChar(nonRemovableAugmentedFiles[c]->Des());
+                               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<KMaxFileName> 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;
     }
 
--- 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:
--- 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
Binary file startupservices/Startup/conf/startup.confml has changed
--- 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 ============================
 // ---------------------------------------------------------
--- 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. */
--- 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;
--- 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