diff -r 6df133bd92e1 -r 075425b8d9a4 radioapp/radioapplication/src/radioapplication.cpp --- a/radioapp/radioapplication/src/radioapplication.cpp Fri Jun 04 10:21:36 2010 +0100 +++ b/radioapp/radioapplication/src/radioapplication.cpp Fri Jun 11 13:38:32 2010 +0300 @@ -17,6 +17,7 @@ // System includes #include +#include #include // User includes @@ -71,13 +72,21 @@ */ void RadioApplication::init() { - bool okToStart = !RadioUiEngine::isOfflineProfile(); + // If started as a service, there is no need for offline-check + const Hb::ActivationReason reason = activateReason(); + bool okToStart = reason == Hb::ActivationReasonService; + QScopedPointer deviceInfo( new QtMobility::QSystemDeviceInfo() ); if ( !okToStart ) { - HbDeviceMessageBox box( hbTrId( "txt_rad_info_activate_radio_in_offline_mode" ), HbMessageBox::MessageTypeQuestion ); - box.setTimeout( HbPopup::NoTimeout ); - box.exec(); - okToStart = box.isAcceptAction( box.triggeredAction() ); + if ( deviceInfo->currentProfile() != QtMobility::QSystemDeviceInfo::OfflineProfile ) { + okToStart = true; + } else { + // Device is in offline profile, ask the user for permission to start + HbDeviceMessageBox box( hbTrId( "txt_rad_info_activate_radio_in_offline_mode" ), HbMessageBox::MessageTypeQuestion ); + box.setTimeout( HbPopup::NoTimeout ); + box.exec(); + okToStart = box.isAcceptAction( box.triggeredAction() ); + } } if ( okToStart ) { @@ -92,7 +101,7 @@ INIT_WIN32_TEST_WINDOW // Construct the real views - mMainWindow->init(); + mMainWindow->init( deviceInfo.take() ); mMainWindow->show(); } else {