diff -r 558113899881 -r b3425bf29f82 uifw/EikStd/srvuisrc/EIKSRVUI.CPP --- a/uifw/EikStd/srvuisrc/EIKSRVUI.CPP Mon May 03 12:45:33 2010 +0300 +++ b/uifw/EikStd/srvuisrc/EIKSRVUI.CPP Wed Jun 23 05:40:10 2010 +0800 @@ -124,6 +124,9 @@ #include #include "AknEikSrv.pan" +#include +#include + #if defined(__WINS__) const TInt KEikServSideBarWidth = 35; const TInt KEikServAppbarHeight = 50; @@ -625,12 +628,13 @@ EXPORT_C void CEikServAppUiBase::HandleThreadExitL(RThread& aThread) { + _LIT(KAppArcServerThread, "AppArcServerThread"); if (aThread.Name() == ASCliDefinitions::ServerAndThreadName()) // alarm server died { aThread.Close(); // need to Close() before restarting with same name iServerToRestart |= EAlwlSvr; // restarted under active object } - else if (aThread.Name()==NameApaServServerThread()) // AppArc server died + else if (aThread.Name() == KAppArcServerThread) // AppArc server died { aThread.Close(); iServerToRestart|=EApaSvr; @@ -1060,6 +1064,31 @@ KeySounds()->BringToForeground(); } +LOCAL_C void ShowNotificationDialog(const TDesC& aNoteText) + { + _LIT(KNotificationDialogPlugin, "com.nokia.hb.devicenotificationdialog/1.0"); + _LIT(KTimeout, "timeout"); + _LIT(KTitle, "title"); + + //@TODO replace the hardcoded parameter after enum EASyncServerStartup + // is defined(after MCL wk26). + //CHbDeviceDialogSymbian* dlg = CHbDeviceDialogSymbian::NewL( + // CHbDeviceDialogSymbian::EASyncServerStartup); + CHbDeviceDialogSymbian* dlg = CHbDeviceDialogSymbian::NewL(2); + CleanupStack::PushL(dlg); + + TInt timeout = 0; + + CHbSymbianVariantMap* map = CHbSymbianVariantMap::NewL(); + CleanupStack::PushL(map); + + map->Add(KTimeout, CHbSymbianVariant::NewL(&timeout, CHbSymbianVariant::EInt)); + map->Add(KTitle, CHbSymbianVariant::NewL(&aNoteText, CHbSymbianVariant::EDes)); + + dlg->Show(KNotificationDialogPlugin, *map); + + CleanupStack::PopAndDestroy(2); + } void CEikServAppUi::HandleThreadExitL(RThread& aThread) { @@ -1095,7 +1124,10 @@ // Construct text for a panic note. HBufC* panicText = ConstructPanicTextLC( aThread, rdSupport ); - iAknCapServerClient.ShowGlobalNoteL(panicText->Des(), EAknGlobalErrorNote); + /* iAknCapServerClient.ShowGlobalNoteL(panicText->Des(), EAknGlobalErrorNote); */ + + ShowNotificationDialog( panicText->Des() ); + CleanupStack::PopAndDestroy(); // panicText }