diff -r a15c582fbf97 -r ff9df6630274 usbengines/usbwatcher/src/cusbwatcher.cpp --- a/usbengines/usbwatcher/src/cusbwatcher.cpp Fri Mar 12 15:48:40 2010 +0200 +++ b/usbengines/usbwatcher/src/cusbwatcher.cpp Mon Mar 15 12:44:42 2010 +0200 @@ -26,6 +26,7 @@ #include #include #include //for global system state +#include //FeatureManager #include "cusbwatcher.h" #include "cusbactivestate.h" @@ -1007,9 +1008,28 @@ TInt CUsbWatcher::GetChargingPersonalityId( TInt& aPersonalityId ) { LOG_FUNC + + TUint32 chargingKey( KUsbWatcherChargingDefaultPersonality ); + // Check if it is now in certificate test mode + TRAPD(ret, FeatureManager::InitializeLibL()); + LOG1( "FeatureManager::InitializeLibL(): %d", ret ); + if ( KErrNone == ret ) + { + if( FeatureManager::FeatureSupported( + KFeatureIdEnableIsiCommunicationInUsbChargingMode ) ) + { + chargingKey = KUsbWatcherCertTestChargingPersonality; + LOG( "KFeatureIdEnableIsiCommunicationInUsbChargingMode true" ); + } + else + { + LOG( "KFeatureIdEnableIsiCommunicationInUsbChargingMode false" ); + } + FeatureManager::UnInitializeLib(); + } - TInt ret = iPersonalityRepository->Get( - KUsbWatcherChargingDefaultPersonality, aPersonalityId ); + ret = iPersonalityRepository->Get( chargingKey, aPersonalityId ); + LOG2( "ret = %d ( aPersonalityId: %d )", ret, aPersonalityId ); return ret; }