uifw/EikStd/srvuisrc/EIKSRVUI.CPP
changeset 33 b3425bf29f82
parent 14 3320e4e6e8bb
--- 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 <AknCustomCursorSupport.h>
 #include "AknEikSrv.pan"
 
+#include <hb/hbcore/hbsymbianvariant.h>
+#include <hb/hbcore/hbdevicedialogsymbian.h>
+
 #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
         }