From 1b89cc4c198a55b3a7dbdc81193564099aa1a717 Mon Sep 17 00:00:00 2001
From: Jiban Prakash
Date: Wed, 29 May 2013 11:13:39 +0530
Subject: [PATCH] added the RECREATE event implementation
Change-Id: I01ca6b30fac93e3cea536a3a21e3cc92b94c0ad8
Signed-off-by: Jiban Prakash
---
src/FShell_AppWidgetManagerService.cpp | 28 +++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/src/FShell_AppWidgetManagerService.cpp b/src/FShell_AppWidgetManagerService.cpp
index 3b6e0f6..b1d54c5 100644
--- a/src/FShell_AppWidgetManagerService.cpp
+++ b/src/FShell_AppWidgetManagerService.cpp
@@ -466,7 +466,33 @@ AppWidgetManagerService::OnAppWidgetPeriodChaned(struct event_arg *arg, void* da
int
AppWidgetManagerService::OnAppWidgetRecreate(struct event_arg *arg, void* data)
{
- SysLog(NID_SHELL, "");
+ SysTryReturn(NID_SHELL, arg != null, EINVAL, E_INVALID_ARG, "[E_INVALID_ARG]");
+ SysTryReturn(NID_SHELL, arg->pkgname != null, EINVAL, E_INVALID_ARG, "[E_INVALID_ARG]");
+ SysTryReturn(NID_SHELL, arg->id != null, EINVAL, E_INVALID_ARG, "[E_INVALID_ARG]");
+
+ SysSecureLog(NID_SHELL, "packageName(%s) id(%s) content(%s) cluster(%s) category(%s)", arg->pkgname, arg->id, arg->info.lb_recreate.content, arg->info.lb_recreate.cluster, arg->info.lb_recreate.category);
+
+ double default_priority = 1.0f;
+ _AppWidgetContext* pAppWidgetContext = new (std::nothrow)_AppWidgetContext( arg->info.lb_recreate.content, arg->pkgname, arg->id,
+ arg->info.lb_recreate.width, arg->info.lb_recreate.height, arg->info.lb_recreate.period * 1000, default_priority);
+ SysTryReturn(NID_SHELL, pAppWidgetContext, 0, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY]");
+
+ int clientId = AppWidgetManagerService::GetInstance()->Find(arg->pkgname);
+ if (clientId != -1)
+ {
+ SysLog(NID_SHELL, "There is same parent application.");
+ pAppWidgetContext->SetIpcClientId(clientId);
+ }
+ else
+ {
+ SysLog(NID_SHELL, "There is no same parent application.");
+ }
+
+ AppWidgetManagerService* pAppWidgetService = AppWidgetManagerService::GetInstance();
+ pAppWidgetService->AddAppWidget(pAppWidgetContext);
+ pAppWidgetContext->OnAdded();
+
+ SysLog(NID_SHELL, "Exit. %d appWidget(s)", pAppWidgetService->__appWidgetContextList.GetCount());
return 0;
}
--
2.34.1