--- 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();
}