diff -r 03849bd79877 -r fdbfe0a95492 deviceupdatesui/deviceupdatesqtsp/src/DmTelServiceHandler.cpp --- a/deviceupdatesui/deviceupdatesqtsp/src/DmTelServiceHandler.cpp Fri Sep 17 19:58:05 2010 +0530 +++ b/deviceupdatesui/deviceupdatesqtsp/src/DmTelServiceHandler.cpp Fri Oct 15 11:39:02 2010 +0530 @@ -11,12 +11,16 @@ * * Contributors: * - * Description: + * Description: Service Handler for dialer launch of DM * */ +#include +#include +#include +#include +#include #include "DmTelServiceHandler.h" -#include DmTelServiceHandler::DmTelServiceHandler(QObject *parent): XQServiceProvider("com.nokia.services.devicemanager", parent) @@ -29,15 +33,48 @@ } void DmTelServiceHandler::showVersionNumber() -{ -// Create DM UI Process -RProcess rp; -TInt err = rp.Create(KDMUIProcess,KNullDesC); -User::LeaveIfError(err); -rp.SetPriority(EPriorityForeground); -rp.Resume(); // logon OK - start the server + { + qDebug("DmTelServiceHandler::showVersionNumber >> "); + // Create DM UI Process + RWsSession ws; + User::LeaveIfError(ws.Connect()); + CleanupClosePushL(ws); + // Find the task with uid + TApaTaskList taskList(ws); + TApaTask task = taskList.FindApp(KPSUidNSmlDMSyncApp); + TInt dmLaunch=NULL; + TInt err = NULL; + RProperty::Get(KPSUidNSmlDMSyncApp, KDMLaunched, dmLaunch); + if (task.Exists()) + { + if (dmLaunch == EDMLaunchedFromDialer) + { + task.BringToForeground(); + } + else if(dmLaunch == EDMLaunchedFromCP) + { + TApaTask task1 = taskList.FindApp(KControlPanelAppUid); + if (task1.Exists()) + { + task1.BringToForeground(); + } + } + } + else + { + RProcess rp; + err = rp.Create(KDMUIProcess, KNullDesC); + qDebug()<<"process creation error "<> end"); }