From ea924c54f7b99dbe1ff92483bf1aa23cf7bac41b Mon Sep 17 00:00:00 2001 From: "jungmin76.park" Date: Wed, 30 Oct 2013 19:26:01 +0900 Subject: [PATCH] fix not to terminate app when last dynamic box provider is removed. (instead the app will be terminated only when the lifeduration is expired.) Change-Id: I2fb83ae3b5fefd2e174569c5d2960ae74924fb74 Signed-off-by: jungmin76.park --- inc/FShell_AppContext.h | 3 +- inc/FShell_AppWidgetManagerService.h | 6 +-- inc/FShell_AppWidgetManagerStub.h | 2 - src/FShell_AppContext.cpp | 76 +++++++++++++++++---------- src/FShell_AppWidgetManagerService.cpp | 95 +++++++++++++--------------------- src/FShell_AppWidgetManagerStub.cpp | 20 +------ 6 files changed, 93 insertions(+), 109 deletions(-) diff --git a/inc/FShell_AppContext.h b/inc/FShell_AppContext.h index d6bca4f..9699e00 100644 --- a/inc/FShell_AppContext.h +++ b/inc/FShell_AppContext.h @@ -99,6 +99,7 @@ public: private: void SetConnectionState(_ConnectionState state); + static const wchar_t* GetConnectionStateString(_ConnectionState state); void SetWaitingStatus(bool status); _AppWidgetContext* FindInvalidAppWidget(void) const; @@ -125,7 +126,7 @@ private: bool __isWaitingResult; int __ipcClientId; _ConnectionState __connectionState; - Tizen::Base::Collection::HashMapT __appWidgetContextList; + Tizen::Base::Collection::HashMapT __appWidgetContexts; Tizen::Base::Collection::ArrayListT* __pPendingEventList; }; diff --git a/inc/FShell_AppWidgetManagerService.h b/inc/FShell_AppWidgetManagerService.h index dec320f..e6a6a79 100644 --- a/inc/FShell_AppWidgetManagerService.h +++ b/inc/FShell_AppWidgetManagerService.h @@ -97,7 +97,6 @@ private: virtual result SendAccessStatus(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int accessStatus); // stub implementations(response) - virtual result RequestProviderCount(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int& providerCount); virtual result SendResult(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, bool isSucceeded); // stub implementations(ipc connection) @@ -112,9 +111,10 @@ private: virtual void OnApplicationTerminated(const Tizen::App::AppId& appId, int pid); // helpers + _AppContext* GetOrCreateAppContext(const Tizen::App::AppId& appId); _AppContext* FindAppContext(const Tizen::App::AppId& appId) const; result RemoveAppContext(const Tizen::App::AppId& appId); - _AppWidgetContext* FindAppWidget(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId) const; +// _AppWidgetContext* FindAppWidget(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId) const; void StartPingTimer(void); virtual void OnTimerExpired(Tizen::Base::Runtime::Timer& timer); result RequestUpdateAllInactiveted(void) const; @@ -125,7 +125,7 @@ private: private: static AppWidgetManagerService* __pTheInstance; - Tizen::Base::Collection::HashMapT __appContextList; + Tizen::Base::Collection::HashMapT __appContexts; Tizen::Base::Runtime::Timer __pingTimer; enum CoreDaemonConnectionState diff --git a/inc/FShell_AppWidgetManagerStub.h b/inc/FShell_AppWidgetManagerStub.h index 8ce1148..1e4082b 100644 --- a/inc/FShell_AppWidgetManagerStub.h +++ b/inc/FShell_AppWidgetManagerStub.h @@ -62,7 +62,6 @@ protected: bool OnSyncRemoteBufferForPD(const Tizen::Base::String& instanceId, result* pRes); bool OnReleaseRemoteBuffer(const Tizen::Base::String& instanceId, result* pRes); bool OnReleaseRemoteBufferForPD(const Tizen::Base::String& instanceId, result* pRes); - bool OnRequestProviderCount(const Tizen::Base::String& instanceId, int* pProviderCount); bool OnSendResult(const Tizen::Base::String& instanceId, bool isSucceeded); bool OnSendAccessStatus(const Tizen::Base::String& instanceId, int accessStatus); @@ -77,7 +76,6 @@ protected: virtual result ReleaseRemoteBufferForPD(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId) = 0; virtual result SendAccessStatus(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int accessStatus) = 0; - virtual result RequestProviderCount(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int& pProviderCount) = 0; virtual result SendResult(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, bool isSucceeded) = 0; virtual void OnIpcClientConnected(const Tizen::App::AppId& appId, int clientId) = 0; diff --git a/src/FShell_AppContext.cpp b/src/FShell_AppContext.cpp index b1704ee..69b0f01 100644 --- a/src/FShell_AppContext.cpp +++ b/src/FShell_AppContext.cpp @@ -57,8 +57,10 @@ _AppContext::_AppContext(const AppId& appId) result r = __pPendingEventList->Construct(); SysTryReturnVoidResult(NID_SHELL, !IsFailed(r), E_SYSTEM, "Failed to execute Construct."); - r = __appWidgetContextList.Construct(); + r = __appWidgetContexts.Construct(); SysTryReturnVoidResult(NID_SHELL, !IsFailed(r), E_SYSTEM, "Failed to execute Construct."); + + SysLog(NID_SHELL, "Constructed."); } _AppContext::~_AppContext(void) @@ -77,7 +79,7 @@ _AppContext::~_AppContext(void) delete __pPendingEventList; } - IMapEnumeratorT* pMapEnum = __appWidgetContextList.GetMapEnumeratorN(); + IMapEnumeratorT* pMapEnum = __appWidgetContexts.GetMapEnumeratorN(); if (pMapEnum != null) { while (pMapEnum->MoveNext() == E_SUCCESS) @@ -99,12 +101,12 @@ _AppContext::AddAppWidget(const Tizen::Base::String& userInfo, const Tizen::Base _AppWidgetContext* pAppWidgetContext = null; bool containsKey = false; - __appWidgetContextList.ContainsKey(instanceId, containsKey); + __appWidgetContexts.ContainsKey(instanceId, containsKey); if (containsKey == true) { SysSecureLog(NID_SHELL, "The appwidget(%ls) is already exist, so requesting to update.", instanceId.GetPointer() ); - __appWidgetContextList.GetValue(instanceId, pAppWidgetContext); + __appWidgetContexts.GetValue(instanceId, pAppWidgetContext); pAppWidgetContext->OnUpdate(L""); } else @@ -112,10 +114,10 @@ _AppContext::AddAppWidget(const Tizen::Base::String& userInfo, const Tizen::Base pAppWidgetContext = new (std::nothrow)_AppWidgetContext(this, instanceId, providerId, width, height, userInfo, period, priority); SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OUT_OF_MEMORY, ""); - __appWidgetContextList.Add(instanceId, pAppWidgetContext); + __appWidgetContexts.Add(instanceId, pAppWidgetContext); pAppWidgetContext->OnAdded(); - SysSecureLog(NID_SHELL, "%ls, %ls, count(%d)", pAppWidgetContext->GetProviderId().GetPointer(), pAppWidgetContext->GetInstanceId().GetPointer(), __appWidgetContextList.GetCount()); + SysSecureLog(NID_SHELL, "%ls, %ls, count(%d)", pAppWidgetContext->GetProviderId().GetPointer(), pAppWidgetContext->GetInstanceId().GetPointer(), __appWidgetContexts.GetCount()); } return E_SUCCESS; } @@ -159,14 +161,14 @@ _AppContext::DestroyAppWidget(const Tizen::Base::String& instanceId, bool isTrig _AppWidgetContext* pAppWidgetContext = FindAppWidget(instanceId); SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OBJ_NOT_FOUND, "Failed to find _AppWidgetContext."); - __appWidgetContextList.Remove(instanceId); + __appWidgetContexts.Remove(instanceId); result r = pAppWidgetContext->OnRemoved(isTriggeredByViewer); SysTryLog(NID_SHELL, !IsFailed(r), "Failed to execute OnRemoved."); delete pAppWidgetContext; - SysLog(NID_SHELL, "AppWidget(%ls) is removed. remain count(%d)", instanceId.GetPointer(), __appWidgetContextList.GetCount()); + SysLog(NID_SHELL, "AppWidget(%ls) is removed. remain count(%d)", instanceId.GetPointer(), __appWidgetContexts.GetCount()); return E_SUCCESS; } @@ -190,9 +192,24 @@ _AppContext::GetConnectionState(void) const void _AppContext::SetConnectionState(_ConnectionState state) { + SysLog(NID_SHELL, "state transition has occurred: %ls -> %ls", GetConnectionStateString(__connectionState), GetConnectionStateString(state)); __connectionState = state; } +const wchar_t* +_AppContext::GetConnectionStateString(_ConnectionState state) +{ + static const wchar_t* const connectionStateStringArray[] = + { + L"Invalid state", + L"Connecting", + L"Connected", + L"Disconnected", + }; + + return connectionStateStringArray[state]; +} + Tizen::App::AppId _AppContext::GetAppId(void) const { @@ -218,7 +235,7 @@ _AppContext::OnIpcDisconnected(void) __ipcClientId = -1; SetConnectionState(CONNECTION_STATE_DISCONNECTED); - unique_ptr< IMapEnumeratorT > pAppWidgetContextEnum(__appWidgetContextList.GetMapEnumeratorN()); + unique_ptr< IMapEnumeratorT > pAppWidgetContextEnum(__appWidgetContexts.GetMapEnumeratorN()); SysTryReturnVoidResult(NID_SHELL, pAppWidgetContextEnum, E_SYSTEM, ""); _AppWidgetContext* pAppWidgetContext = null; @@ -265,28 +282,35 @@ _AppContext::SendRequestToApp(const AppId& providerAppId, const String& operatio { result r = E_SUCCESS; - if (GetConnectionState() == CONNECTION_STATE_NONE || GetConnectionState() == CONNECTION_STATE_DISCONNECTED) + const _ConnectionState connectionState = GetConnectionState(); + SysLog(NID_SHELL, "Connection(%ls), Waiting response(%d)", GetConnectionStateString(connectionState), GetWaitingStatus() ? "true":"false"); + + if (connectionState == CONNECTION_STATE_NONE || connectionState == CONNECTION_STATE_DISCONNECTED) { - SysLog(NID_SHELL, "The application is not running."); + const _ConnectionState oldConnectionState = connectionState; + SetConnectionState(CONNECTION_STATE_CONNECTING); r = _AppWidgetRequestHelper::SendAppControlRequest(providerAppId, operation, pArgs); pArgs->RemoveAll(true); delete pArgs; - SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "[%s] Failed to SendRequestToApp", GetErrorMessage(r)); + SysTryCatch(NID_SHELL, !IsFailed(r), , r, "[%s] Failed to SendRequestToApp", GetErrorMessage(r)); SetWaitingStatus(true); - SetConnectionState(CONNECTION_STATE_CONNECTING); + return E_SUCCESS; + + CATCH: + SetConnectionState(oldConnectionState); + return E_SYSTEM; } else { - if (GetConnectionState() == CONNECTION_STATE_CONNECTING || GetWaitingStatus() == true) + if (GetWaitingStatus() == true || GetConnectionState() == CONNECTION_STATE_CONNECTING) { - SysLog(NID_SHELL, "The application is running but IPC is not connected yet. Queueing the request (%ls).", operation.GetPointer() ); + SysLog(NID_SHELL, "Queueing the request (%ls).", operation.GetPointer() ); __pPendingEventList->Add(new (nothrow) PendingEvent(operation, pArgs)); } else { - SysLog(NID_SHELL, "The application is running and IPC is connected."); r = _AppWidgetRequestHelper::SendIpcRequest(GetClientId(), operation, pArgs); pArgs->RemoveAll(true); delete pArgs; @@ -308,7 +332,7 @@ _AppContext::SendPendingEvent(void) PendingEvent* pEvent = null; __pPendingEventList->GetAt(0, pEvent); __pPendingEventList->RemoveAt(0); - SysLog(NID_SHELL, "(%d) Remains in __pPendingEventList.", __pPendingEventList->GetCount()); + SysLog(NID_SHELL, "(%d) pending event(s) remains.", __pPendingEventList->GetCount()); result r = _AppWidgetRequestHelper::SendIpcRequest(GetClientId(), pEvent->operation, pEvent->pArgs); delete pEvent; @@ -386,7 +410,7 @@ _AppContext::FindAppWidget(const String& instanceId) const } else { - result r = __appWidgetContextList.GetValue(instanceId, pAppWidgetContext); + result r = __appWidgetContexts.GetValue(instanceId, pAppWidgetContext); SysTryReturn(NID_SHELL, !IsFailed(r), null, E_OBJ_NOT_FOUND, "instanceId(%ls) is not found", instanceId.GetPointer() ); } return pAppWidgetContext; @@ -398,7 +422,7 @@ _AppContext::FindInvalidAppWidget(void) const SysTryReturn(NID_SHELL, GetConnectionState() == CONNECTION_STATE_NONE, null, E_INVALID_STATE, "[E_INVALID_STATE] connectionState(%d)", GetConnectionState()); _AppWidgetContext* pAppWidgetContext = null; - unique_ptr< IMapEnumeratorT > pAppWidgetContextEnum(__appWidgetContextList.GetMapEnumeratorN()); + unique_ptr< IMapEnumeratorT > pAppWidgetContextEnum(__appWidgetContexts.GetMapEnumeratorN()); SysTryReturn(NID_SHELL, pAppWidgetContextEnum, null, E_SYSTEM, ""); while (pAppWidgetContextEnum->MoveNext() == E_SUCCESS) @@ -416,7 +440,7 @@ _AppContext::FindInvalidAppWidget(void) const int _AppContext::GetProviderCount(void) const { - return __appWidgetContextList.GetCount(); + return __appWidgetContexts.GetCount(); } result @@ -425,8 +449,8 @@ _AppContext::RequestUpdate(const Tizen::Base::String& providerName, const Tizen: SysLog(NID_SHELL, "Enter."); bool found = false; - unique_ptr< IMapEnumeratorT > pAppWidgetContextEnum(__appWidgetContextList.GetMapEnumeratorN()); - SysTryReturnResult(NID_SHELL, pAppWidgetContextEnum, E_SYSTEM, "Failed to invoke __appWidgetContextList.GetMapEnumeratorN()"); + unique_ptr< IMapEnumeratorT > pAppWidgetContextEnum(__appWidgetContexts.GetMapEnumeratorN()); + SysTryReturnResult(NID_SHELL, pAppWidgetContextEnum, E_SYSTEM, "Failed to invoke __appWidgetContexts.GetMapEnumeratorN()"); while (pAppWidgetContextEnum->MoveNext() == E_SUCCESS) { @@ -448,8 +472,8 @@ result _AppContext::RequestUpdateAllInactiveted(void) { SysLog(NID_SHELL, "Exit."); - unique_ptr< IMapEnumeratorT > pAppWidgetContextEnum(__appWidgetContextList.GetMapEnumeratorN()); - SysTryReturnResult(NID_SHELL, pAppWidgetContextEnum, E_SYSTEM, "Failed to invoke __appWidgetContextList.GetMapEnumeratorN()"); + unique_ptr< IMapEnumeratorT > pAppWidgetContextEnum(__appWidgetContexts.GetMapEnumeratorN()); + SysTryReturnResult(NID_SHELL, pAppWidgetContextEnum, E_SYSTEM, "Failed to invoke __appWidgetContexts.GetMapEnumeratorN()"); while (pAppWidgetContextEnum->MoveNext() == E_SUCCESS) { @@ -480,7 +504,7 @@ _AppContext::OnAppWidgetBackground(const Tizen::Base::String& instanceId) result _AppContext::OnAppWidgetBackgroundAll(void) { - unique_ptr< IMapEnumeratorT > pAppWidgetContextEnum(__appWidgetContextList.GetMapEnumeratorN()); + unique_ptr< IMapEnumeratorT > pAppWidgetContextEnum(__appWidgetContexts.GetMapEnumeratorN()); SysTryReturnResult(NID_SHELL, pAppWidgetContextEnum, E_SYSTEM, "Failed to invoke GetMapEnumeratorN()"); while (pAppWidgetContextEnum->MoveNext() == E_SUCCESS) @@ -510,7 +534,7 @@ _AppContext::OnAppWidgetForeground(const Tizen::Base::String& instanceId) result _AppContext::OnAppWidgetForegroundAll(void) { - unique_ptr< IMapEnumeratorT > pAppWidgetContextEnum(__appWidgetContextList.GetMapEnumeratorN()); + unique_ptr< IMapEnumeratorT > pAppWidgetContextEnum(__appWidgetContexts.GetMapEnumeratorN()); SysTryReturnResult(NID_SHELL, pAppWidgetContextEnum, E_SYSTEM, "Failed to invoke GetMapEnumeratorN()"); while (pAppWidgetContextEnum->MoveNext() == E_SUCCESS) diff --git a/src/FShell_AppWidgetManagerService.cpp b/src/FShell_AppWidgetManagerService.cpp index 89a8a62..b335295 100644 --- a/src/FShell_AppWidgetManagerService.cpp +++ b/src/FShell_AppWidgetManagerService.cpp @@ -77,7 +77,7 @@ AppWidgetManagerService::~AppWidgetManagerService(void) SysTryReturnVoidResult(NID_SHELL, __coreDaemonConnectionState == CONNECTED, E_SERVICE_DEACTIVATED, "Core daemon is already terminated."); - IMapEnumeratorT* pMapEnum = __appContextList.GetMapEnumeratorN(); + IMapEnumeratorT* pMapEnum = __appContexts.GetMapEnumeratorN(); if (pMapEnum != null) { while (pMapEnum->MoveNext() == E_SUCCESS) @@ -147,7 +147,7 @@ AppWidgetManagerService::CreateInstance(const char* pCoreDaemonId) result AppWidgetManagerService::Construct(const char* pCoreDaemonId) { - result r = __appContextList.Construct(); + result r = __appContexts.Construct(); SysTryReturnResult(NID_SHELL, !IsFailed(r), E_SYSTEM, "Failed to execute Construct."); _AppWidgetManagerStub::StartIpcServer(); @@ -237,7 +237,7 @@ _AppContext* AppWidgetManagerService::FindAppContext(const Tizen::App::AppId& appId) const { _AppContext* pAppContext = null; - result r = __appContextList.GetValue(appId, pAppContext); + result r = __appContexts.GetValue(appId, pAppContext); SysTryReturn(NID_SHELL, !IsFailed(r), null, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND]"); return pAppContext; @@ -246,17 +246,7 @@ AppWidgetManagerService::FindAppContext(const Tizen::App::AppId& appId) const result AppWidgetManagerService::RemoveAppContext(const Tizen::App::AppId& appId) { - return __appContextList.Remove(appId); -} - -_AppWidgetContext* -AppWidgetManagerService::FindAppWidget(const AppId& appId, const String& instanceId) const -{ - _AppContext* pAppContext = null; - result r = __appContextList.GetValue(appId, pAppContext); - SysTryReturn(NID_SHELL, !IsFailed(r), null, E_OBJ_NOT_FOUND, "appId(%ls) is not found", appId.GetPointer() ); - - return pAppContext->FindAppWidget(instanceId); + return __appContexts.Remove(appId); } void @@ -269,7 +259,7 @@ void AppWidgetManagerService::OnApplicationTerminated(const AppId& appId, int pid) { _AppContext* pAppContext = null; - __appContextList.GetValue(appId, pAppContext); + __appContexts.GetValue(appId, pAppContext); if (pAppContext) { pAppContext->OnApplicationTerminated(); @@ -281,8 +271,7 @@ AppWidgetManagerService::OnIpcClientConnected(const AppId& appId, int clientId) { SysLog(NID_SHELL, "appId(%ls)", appId.GetPointer()); - _AppContext* pAppContext = null; - __appContextList.GetValue(appId, pAppContext); + _AppContext* pAppContext = GetOrCreateAppContext(appId); if (pAppContext) { pAppContext->OnIpcConnected(clientId); @@ -295,7 +284,7 @@ AppWidgetManagerService::OnIpcClientDisconnected(const AppId& appId, int clientI SysLog(NID_SHELL, "appId(%ls)", appId.GetPointer()); _AppContext* pAppContext = null; - __appContextList.GetValue(appId, pAppContext); + __appContexts.GetValue(appId, pAppContext); if (pAppContext) { pAppContext->OnIpcDisconnected(); @@ -320,27 +309,36 @@ AppWidgetManagerService::OnSettingChanged(Tizen::Base::String& key) } } -result -AppWidgetManagerService::AddAppWidget(const Tizen::Base::String& userInfo, const Tizen::Base::String& providerId, const Tizen::Base::String& instanceId, int width, int height, int period, int priority) +_AppContext* +AppWidgetManagerService::GetOrCreateAppContext(const AppId& appId) { - AppId appId; - String providerName; - _AppWidgetManagerImpl::ExtractAppIdAndProviderName(providerId, appId, providerName); - _AppContext* pAppContext = null; bool containsKey = false; - __appContextList.ContainsKey(appId, containsKey); + __appContexts.ContainsKey(appId, containsKey); if( containsKey == false) { pAppContext = new(std::nothrow) _AppContext(appId); - SysTryReturnResult(NID_SHELL, pAppContext, E_OUT_OF_MEMORY, ""); - __appContextList.Add(appId, pAppContext); + SysTryReturn(NID_SHELL, pAppContext, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient."); + __appContexts.Add(appId, pAppContext); } else { - __appContextList.GetValue(appId, pAppContext); + __appContexts.GetValue(appId, pAppContext); } + return pAppContext; +} + +result +AppWidgetManagerService::AddAppWidget(const Tizen::Base::String& userInfo, const Tizen::Base::String& providerId, const Tizen::Base::String& instanceId, int width, int height, int period, int priority) +{ + AppId appId; + String providerName; + _AppWidgetManagerImpl::ExtractAppIdAndProviderName(providerId, appId, providerName); + + _AppContext* pAppContext = GetOrCreateAppContext(appId); + SysTryReturnResult(NID_SHELL, pAppContext, E_OUT_OF_MEMORY, "The memory is insufficient."); + return pAppContext->AddAppWidget(userInfo, providerId, instanceId, width, height, period, priority); } @@ -351,7 +349,7 @@ int AppWidgetManagerService::OnAppWidgetCreate(struct event_arg *arg, int *width, int *height, double *priority, void* data) { SysAssertf(arg != null && arg->pkgname != null && arg->id != null && arg->type == event_arg::EVENT_NEW, "The status of data-provider-master is invalid."); - SysSecureLog(NID_SHELL, "providerId(%s) id(%s) content(%s) cluster(%s) category(%s)", arg->pkgname, arg->id, arg->info.lb_create.content, arg->info.lb_create.cluster, arg->info.lb_create.category); + SysSecureLog(NID_SHELL, "providerId(%s) id(%s) content(%s)", arg->pkgname, arg->id, arg->info.lb_create.content); const int MAX_LENGTH = 0xFFFF;// FUi_Control.h *width = arg->info.lb_create.width; @@ -469,8 +467,8 @@ AppWidgetManagerService::OnAppWidgetBackgroundAll(struct event_arg *arg, void* d { SysAssertf(arg != null && arg->type == event_arg::EVENT_PAUSE, "The status of data-provider-master is invalid."); - unique_ptr< IMapEnumeratorT > pAppContextEnum(AppWidgetManagerService::GetInstance()->__appContextList.GetMapEnumeratorN()); - SysTryReturnResult(NID_SHELL, pAppContextEnum, E_SYSTEM, "Failed to invoke __appContextList.GetMapEnumeratorN()"); + unique_ptr< IMapEnumeratorT > pAppContextEnum(AppWidgetManagerService::GetInstance()->__appContexts.GetMapEnumeratorN()); + SysTryReturnResult(NID_SHELL, pAppContextEnum, E_SYSTEM, "Failed to invoke __appContexts.GetMapEnumeratorN()"); while (pAppContextEnum->MoveNext() == E_SUCCESS) { @@ -507,8 +505,8 @@ AppWidgetManagerService::OnAppWidgetForegroundAll(struct event_arg *arg, void* d { SysAssertf(arg != null && arg->type == event_arg::EVENT_RESUME, "The status of data-provider-master is invalid."); - unique_ptr< IMapEnumeratorT > pAppContextEnum(AppWidgetManagerService::GetInstance()->__appContextList.GetMapEnumeratorN()); - SysTryReturnResult(NID_SHELL, pAppContextEnum, E_SYSTEM, "Failed to invoke __appContextList.GetMapEnumeratorN()"); + unique_ptr< IMapEnumeratorT > pAppContextEnum(AppWidgetManagerService::GetInstance()->__appContexts.GetMapEnumeratorN()); + SysTryReturnResult(NID_SHELL, pAppContextEnum, E_SYSTEM, "Failed to invoke __appContexts.GetMapEnumeratorN()"); while (pAppContextEnum->MoveNext() == E_SUCCESS) { @@ -566,7 +564,7 @@ AppWidgetManagerService::OnAppWidgetRecreate(struct event_arg *arg, void* data) SysAssertf(arg != null && arg->pkgname != null && arg->id != null && arg->type == event_arg::EVENT_RENEW, "The status of data-provider-master is invalid."); SysAssertf(arg->info.lb_recreate.width >= 0 && arg->info.lb_recreate.height >= 0 && arg->info.lb_recreate.width <= MAX_LENGTH && arg->info.lb_recreate.height <= MAX_LENGTH, "w:%d, h:%d", arg->info.lb_recreate.width, arg->info.lb_recreate.height); - SysSecureLog(NID_SHELL, "providerId(%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); + SysSecureLog(NID_SHELL, "providerId(%s) id(%s) content(%s)", arg->pkgname, arg->id, arg->info.lb_recreate.content); AppWidgetManagerService* pAppWidgetManagerService = AppWidgetManagerService::GetInstance(); SysTryReturn(NID_SHELL, pAppWidgetManagerService != null, -EBUSY, E_SYSTEM, "Failed to get the instance for AppWidgetManagerService."); @@ -624,7 +622,7 @@ result AppWidgetManagerService::RequestUpdate(const Tizen::App::AppId& appId, const Tizen::Base::String& providerName, const Tizen::Base::String& argument) const { _AppContext* pAppContext = null; - result r = __appContextList.GetValue(appId, pAppContext); + result r = __appContexts.GetValue(appId, pAppContext); SysTryReturn(NID_SHELL, !IsFailed(r), null, E_OBJ_NOT_FOUND, "appId(%ls) is not found", appId.GetPointer() ); return pAppContext->RequestUpdate(providerName, argument); @@ -634,8 +632,8 @@ result AppWidgetManagerService::RequestUpdateAllInactiveted(void) const { SysLog(NID_SHELL, "Enter."); - unique_ptr< IMapEnumeratorT > pAppContextEnum(__appContextList.GetMapEnumeratorN()); - SysTryReturnResult(NID_SHELL, pAppContextEnum, E_SYSTEM, "Failed to invoke __appContextList.GetMapEnumeratorN()"); + unique_ptr< IMapEnumeratorT > pAppContextEnum(__appContexts.GetMapEnumeratorN()); + SysTryReturnResult(NID_SHELL, pAppContextEnum, E_SYSTEM, "Failed to invoke __appContexts.GetMapEnumeratorN()"); while (pAppContextEnum->MoveNext() == E_SUCCESS) { @@ -721,31 +719,10 @@ AppWidgetManagerService::ReleaseRemoteBufferForPD(const Tizen::App::AppId& appId } result -AppWidgetManagerService::RequestProviderCount(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int& providerCount) -{ - SysLog(NID_SHELL, "ENTER"); - - _AppContext* pAppContext = null; - result r = __appContextList.GetValue(appId, pAppContext); - SysTryReturnResult(NID_SHELL, pAppContext, E_OBJ_NOT_FOUND, "Failed to find _AppContext."); - - providerCount = pAppContext->GetProviderCount(); - - r = pAppContext->DestroyAppWidget(instanceId, false); - SysTryReturnResult(NID_SHELL, !IsFailed(r), E_SYSTEM, "Failed to execute DestroyAppWidget."); - - providerCount--; - - pAppContext->SendPendingEvent(); - - return E_SUCCESS; -} - -result AppWidgetManagerService::SendResult(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, bool isSucceeded) { _AppContext* pAppContext = null; - result r = __appContextList.GetValue(appId, pAppContext); + result r = __appContexts.GetValue(appId, pAppContext); SysTryReturnResult(NID_SHELL, !IsFailed(r), E_OBJ_NOT_FOUND, "appId(%ls) is not found.", appId.GetPointer()); if (!isSucceeded) diff --git a/src/FShell_AppWidgetManagerStub.cpp b/src/FShell_AppWidgetManagerStub.cpp index 99ef7e8..ca37641 100644 --- a/src/FShell_AppWidgetManagerStub.cpp +++ b/src/FShell_AppWidgetManagerStub.cpp @@ -60,14 +60,13 @@ _AppWidgetManagerStub::~_AppWidgetManagerStub(void) result _AppWidgetManagerStub::StartIpcServer(void) { - SysLog(NID_SHELL, "Enter."); __pIpcServer = new (std::nothrow) _IpcServer(); SysTryReturn(NID_SHELL, __pIpcServer != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Not enough memory."); result r = __pIpcServer->Construct( IPC_SERVER_NAME, *this, false); - SysTryCatch(NID_SHELL, !IsFailed(r), , r, "[%s] Failed to create IPC server(%s)", GetErrorMessage(r), "osp.app.ipcserver.appmanager"); - SysLog(NID_SHELL, "Exit."); + SysTryCatch(NID_SHELL, !IsFailed(r), , r, "[%s] Failed to create IPC server(%s)", GetErrorMessage(r), IPC_SERVER_NAME); + SysLog(NID_SHELL, "IpcServer started."); return E_SUCCESS; CATCH: @@ -79,7 +78,6 @@ CATCH: bool _AppWidgetManagerStub::OnRequestUpdate(const Tizen::App::AppId& appId, const Tizen::Base::String& providerName, const Tizen::Base::String& argument, result* pRes) { - SysLog(NID_SHELL, ""); *pRes = RequestUpdate(appId, providerName, argument); return true; } @@ -87,7 +85,6 @@ _AppWidgetManagerStub::OnRequestUpdate(const Tizen::App::AppId& appId, const Tiz bool _AppWidgetManagerStub::OnRequestUpdateInstance(const Tizen::Base::String& instanceId, const Tizen::Base::String& argument, result* pRes) { - SysLog(NID_SHELL, ""); *pRes = RequestUpdateInstance(__pIpcServer->GetClientApplicationId(), instanceId, argument); return true; } @@ -153,16 +150,6 @@ _AppWidgetManagerStub::OnReleaseRemoteBufferForPD(const String& instanceId, resu } bool -_AppWidgetManagerStub::OnRequestProviderCount(const String& instanceId, int* pProviderCount) -{ - SysSecureLog(NID_SHELL, "(instanceId:%ls)", instanceId.GetPointer()); - - RequestProviderCount(__pIpcServer->GetClientApplicationId(), instanceId, *pProviderCount); - - return true; -} - -bool _AppWidgetManagerStub::OnSendResult(const String& instanceId, bool isSucceeded) { SysSecureLog(NID_SHELL, "(instanceId:%ls, data:%d)", instanceId.GetPointer(), isSucceeded); @@ -185,8 +172,6 @@ _AppWidgetManagerStub::OnSendAccessStatus(const String& instanceId, int accessSt void _AppWidgetManagerStub::OnIpcRequestReceived(_IpcServer& server, const IPC::Message& message) { - SysLog(NID_SHELL, "(appId:%ls, clientId:%d)\n", server.GetClientApplicationId().GetPointer(), server.GetClientId()); - SysAssertf(__pIpcServer, "__pIpcServer is null!"); IPC_BEGIN_MESSAGE_MAP(_AppWidgetManagerStub, message) @@ -198,7 +183,6 @@ _AppWidgetManagerStub::OnIpcRequestReceived(_IpcServer& server, const IPC::Messa IPC_MESSAGE_HANDLER_EX(AppWidgetManager_SyncRemoteBufferForPD, &server, OnSyncRemoteBufferForPD) IPC_MESSAGE_HANDLER_EX(AppWidgetManager_ReleaseRemoteBuffer, &server, OnReleaseRemoteBuffer) IPC_MESSAGE_HANDLER_EX(AppWidgetManager_ReleaseRemoteBufferForPD, &server, OnReleaseRemoteBufferForPD) - IPC_MESSAGE_HANDLER_EX(AppWidgetManager_RequestProviderCount, &server, OnRequestProviderCount) IPC_MESSAGE_HANDLER_EX(AppWidgetManager_SendResult, &server, OnSendResult) IPC_MESSAGE_HANDLER_EX(AppWidgetManager_SendAccessStatus, &server, OnSendAccessStatus) IPC_END_MESSAGE_MAP() -- 2.7.4