coreapplicationuis/SysAp/Src/SysApAppUi.cpp
changeset 69 dcd4152cfe55
parent 65 8a530a83576a
--- a/coreapplicationuis/SysAp/Src/SysApAppUi.cpp	Thu Sep 02 20:36:53 2010 +0300
+++ b/coreapplicationuis/SysAp/Src/SysApAppUi.cpp	Fri Sep 17 08:30:44 2010 +0300
@@ -465,6 +465,10 @@
         MMCStatusChangedL();
         iHideFirstBeep = EFalse;
 #else // RD_MULTIPLE_DRIVE
+		if(iSysApDriveList == NULL)
+			{
+				iSysApDriveList = CSysApDriveList::NewL( iEikonEnv->FsSession() );
+			}
         iSysApDriveList->MountDrive( iSysApDriveList->DefaultMemoryCard() );
         UpdateInsertedMemoryCardsL();
 #endif // RD_MULTIPLE_DRIVE
@@ -472,6 +476,11 @@
 		
 	if ( iSysApFeatureManager->MmcHotSwapSupported() )
         {
+        if(iSysApMMCObserver == NULL)
+        	{
+        	iSysApMMCObserver = CSysApMMCObserver::NewL(
+            iEikonEnv->FsSession(), *iSysApDriveList, *this, iSysApFeatureManager->MmcHotSwapSupported() );
+        	}
         iSysApMMCObserver->StartMountObserver();
         }    
    
@@ -565,23 +574,7 @@
     if( IsStateNormal() )
         {
         TRACES( RDebug::Print(_L("CSysApAppUi::DoStateChangedL to normal state.") ) );
-        
-        if ( iSysApFeatureManager->MmcSupported() )
-            {
-#ifndef RD_MULTIPLE_DRIVE
-            MountMMC();
-            MMCStatusChangedL();
-            iHideFirstBeep = EFalse;
-#else // RD_MULTIPLE_DRIVE
-            iSysApDriveList->MountDrive( iSysApDriveList->DefaultMemoryCard() );
-            UpdateInsertedMemoryCardsL();
-#endif // RD_MULTIPLE_DRIVE
-            }
-        if ( iSysApFeatureManager->MmcHotSwapSupported() )
-            {
-            iSysApMMCObserver->StartMountObserver();
-            }
-        
+               
         iSysApBtController = CreateSysApBtControllerL( *this );
         iSysApBtSapController = CreateSysApBtSapControllerL( *this );
 
@@ -2773,10 +2766,6 @@
             {
             //Do nothing:: To supress warning
             }
-        if (iSysApKeyManagement && aKeyEvent.iCode != EKeyPowerOff && aKeyEvent.iCode != 'E')
-            {
-            response = iSysApKeyManagement->HandleKeyEventL(aKeyEvent, aType );
-            }
         
         if( aType == EEventKey )
             {