coreapplicationuis/SysAp/Src/BtSap/SysApBtSapControllerImpl.cpp
branchRCL_3
changeset 17 5e7d68cc22e0
parent 0 2e3d3ce01487
child 19 924385140d98
--- a/coreapplicationuis/SysAp/Src/BtSap/SysApBtSapControllerImpl.cpp	Mon Jun 21 15:51:07 2010 +0300
+++ b/coreapplicationuis/SysAp/Src/BtSap/SysApBtSapControllerImpl.cpp	Thu Jul 15 18:49:38 2010 +0300
@@ -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"
@@ -27,6 +27,7 @@
 #include <StringLoader.h>
 #include <coemain.h>
 #include <SysAp.rsg>
+#include <startupdomainpskeys.h>
 
 
 MSysApBtSapController* CreateSysApBtSapControllerL( CSysApAppUi& aSysApAppUi )
@@ -215,6 +216,7 @@
 // ----------------------------------------------------------------------------
 void CSysApBtSapController::HandlePropertyChangedL( const TUid& aCategory, const TUint aKey )
     {
+    TInt simStatus = ESimStatusUninitialized;
     if ( aCategory == KPSUidBluetoothSapConnectionState && aKey == KBTSapConnectionState )
         {
         TInt value( 0 );
@@ -231,7 +233,9 @@
                 break;
             case EBTSapConnecting:
                 TRACES( RDebug::Print( _L("CSysApBtSapController::HandlePropertyChangedL: EBTSapConnecting, iBtSapEnabled=%d"), iBtSapEnabled ) );
-                if ( !iBtSapEnabled )
+                //Ensure SIM is present
+                simStatus = iSysApAppUi.StateOfProperty( KPSUidStartup, KPSSimStatus );
+                if ( !iBtSapEnabled && !(simStatus == ESimNotPresent || simStatus == ESimNotSupported))
                     {
                     iSysApAppUi.InitCloseSimApplicationsL();
                     }