Update to handle the FG/BG on AppControl response callback 61/14661/1
authorSunwook Bae <sunwook45.bae@samsung.com>
Fri, 6 Dec 2013 05:50:35 +0000 (14:50 +0900)
committerKeebong <keebong.bahn@samsung.com>
Thu, 9 Jan 2014 08:09:20 +0000 (17:09 +0900)
Change-Id: I3f5fcebce1dd6ea19dd522055fe9845db5bbbaf5
Signed-off-by: Sunwook Bae <sunwook45.bae@samsung.com>
src/app/FApp_AppArg.cpp
src/app/FApp_AppControlEventArg.h
src/app/FApp_AppControlImpl.cpp
src/app/FApp_AppControlManager.cpp
src/app/FApp_AppControlProviderManagerImpl.cpp
src/app/FApp_Aul.cpp
src/app/FApp_DataControlProviderManagerImpl.cpp
src/app/inc/FApp_AppArg.h
src/app/inc/FApp_AppControlImpl.h
src/app/inc/FApp_AppControlManager.h
src/app/inc/FApp_Aul.h

index 3f79949..a85fdeb 100644 (file)
@@ -77,8 +77,7 @@ static const char BUNDLE_KEY_PREFIX_SERVICE[] = "__APP_SVC_";
 static const char BUNDLE_KEY_PREFIX_OSP[] = "__OSP_";
 static const char BUNDLE_KEY_PREFIX_UG[] = "__UG_";
 
-static const char OSP_K_SUBMODE_CALLEE[] = "__OSP_SUB_CALLEE__";
-static const char OSP_K_SERVICE_CALLEE[] = "__OSP_SERVICE_CALLEE__";
+static const char OSP_K_RAISE_MODE[] = "__OSP_RAISE_MODE__";
 
 
 _AppArg::_AppArg(void)
@@ -1045,35 +1044,19 @@ _AppArg::UpdateKeyValue(bundle* pBundle, const char* pKey, const String& value)
 
 
 void
-_AppArg::UpdateSubMode(bundle* pBundle)
+_AppArg::UpdateRaiseMode(bundle* pBundle)
 {
-       appsvc_add_data(pBundle, OSP_K_SUBMODE_CALLEE, "1");
+       appsvc_add_data(pBundle, OSP_K_RAISE_MODE, "1");
 }
 
 
 bool
-_AppArg::IsSubMode(bundle* pBundle)
+_AppArg::IsRaiseMode(bundle* pBundle)
 {
-       const char* p = appsvc_get_data(pBundle, OSP_K_SUBMODE_CALLEE);
+       const char* p = appsvc_get_data(pBundle, OSP_K_RAISE_MODE);
        return (p && (strncmp(p, "1", sizeof(char)) == 0));
 }
 
-
-void
-_AppArg::UpdateServiceApp(bundle* pBundle)
-{
-       appsvc_add_data(pBundle, OSP_K_SERVICE_CALLEE, "1");
-}
-
-
-bool
-_AppArg::IsServiceApp(bundle* pBundle)
-{
-       const char* p = appsvc_get_data(pBundle, OSP_K_SERVICE_CALLEE);
-       return (p && (strncmp(p, "1", sizeof(char)) == 0));
-}
-
-
 int
 _AppArg::GetRequestIdFromBundle(bundle* pBundle)
 {
index 5585266..dd0a4ae 100644 (file)
@@ -200,7 +200,7 @@ class _AppControlResponseEventArg
        , public Tizen::Base::Runtime::IEventArg
 {
 public:
-       _AppControlResponseEventArg(IAppControlResponseListener* pResponseListener, _AppControlResponseType type, const AppId& appId, const Tizen::Base::String& operationId, result res, AppCtrlResult appControlResult, const Tizen::Base::Collection::IMap* pExtraData, int reqId, bool isSubMode)
+       _AppControlResponseEventArg(IAppControlResponseListener* pResponseListener, _AppControlResponseType type, const AppId& appId, const Tizen::Base::String& operationId, result res, AppCtrlResult appControlResult, const Tizen::Base::Collection::IMap* pExtraData, int reqId, bool isRaiseMode)
                : __pResponseListener(pResponseListener)
                , __type(type)
                , __appId(appId.GetPointer())
@@ -209,7 +209,7 @@ public:
                , __appControlResult(appControlResult)
                , __pExtraData(pExtraData)
                , __reqId(reqId)
-               , __isSubMode(isSubMode)
+               , __isRaiseMode(isRaiseMode)
        {
        }
 
@@ -258,9 +258,9 @@ public:
                return __reqId;
        }
 
-       bool IsSubMode(void) const
+       bool IsRaiseMode(void) const
        {
-               return __isSubMode;
+               return __isRaiseMode;
        }
 
 private:
@@ -277,7 +277,7 @@ private:
        const AppCtrlResult __appControlResult;
        const Tizen::Base::Collection::IMap* __pExtraData;
        const int __reqId;
-       const bool __isSubMode;
+       const bool __isRaiseMode;
 }; // _AppControlEventArg
 
 } } // Tizen::App
index 899c9ea..d11820d 100644 (file)
@@ -510,7 +510,7 @@ _AppControlImpl::OnAppControlResponseEventReceivedN(const Tizen::Base::Runtime::
                {
                        if(pEventArg->GetType() == _APPCONTROL_RESPONSETYPE_COMPLETE)
                        {
-                               _AppControlManager::InvokeAppControlCompleteListener(*pResponseListener, pEventArg->GetAppId(), pEventArg->GetOperationId(), pEventArg->GetAppControlResult(), pEventArg->GetExtraData(), pEventArg->IsSubMode());
+                               _AppControlManager::InvokeAppControlCompleteListener(*pResponseListener, pEventArg->GetAppId(), pEventArg->GetOperationId(), pEventArg->GetAppControlResult(), pEventArg->GetExtraData(), pEventArg->IsRaiseMode());
 
                                _AppControlResponseEvent* pResponseEvent = null;
                                _AppControlManager::GetInstance()->GetAppControlResponseEventContainer()->GetValue(pEventArg->GetRequestId(), pResponseEvent);
index c2b933d..cf8cd71 100644 (file)
@@ -236,7 +236,7 @@ _AppControlManager::OnAppControlEventReceivedN(int reqId, const AppId& appId, co
        if (pResponseEvent != null)
        {
                String oId(operationId);
-               _AppControlResponseEventArg* pResponseEventArg = new (std::nothrow) _AppControlResponseEventArg(pListener, _APPCONTROL_RESPONSETYPE_START, actualAppId, oId, r, APP_CTRL_RESULT_SUCCEEDED, null, reqId, false);
+               _AppControlResponseEventArg* pResponseEventArg = new (std::nothrow) _AppControlResponseEventArg(pListener, _APPCONTROL_RESPONSETYPE_START, actualAppId, oId, r, APP_CTRL_RESULT_SUCCEEDED, null, reqId, true);
 
                if (pResponseEventArg != null)
                {
@@ -259,11 +259,11 @@ _AppControlManager::OnAppControlEventReceivedN(int reqId, const AppId& appId, co
 
 
 void
-_AppControlManager::InvokeAppControlCompleteListener(IAppControlResponseListener& listener, const AppId& appId, const String& op, AppCtrlResult res, const IMap* pExtraData, bool noRaise)
+_AppControlManager::InvokeAppControlCompleteListener(IAppControlResponseListener& listener, const AppId& appId, const String& op, AppCtrlResult res, const IMap* pExtraData, bool isRaiseMode)
 {
        listener.OnAppControlCompleteResponseReceived(appId, op, res, pExtraData);
 
-       if (!noRaise)
+       if (isRaiseMode)
        {
                _AppImpl::GetInstance()->SendUserEvent(_APP_EVENT_RAISE, null, false);
        }
@@ -273,11 +273,11 @@ _AppControlManager::InvokeAppControlCompleteListener(IAppControlResponseListener
 
 
 void
-_AppControlManager::InvokeLegacyAppControlCompleteListener(IAppControlEventListener& listener, const AppId& appId, const String& op, const IList* pList, bool noRaise)
+_AppControlManager::InvokeLegacyAppControlCompleteListener(IAppControlEventListener& listener, const AppId& appId, const String& op, const IList* pList, bool isRaiseMode)
 {
        listener.OnAppControlCompleted(appId, op, pList);
 
-       if (!noRaise)
+       if (isRaiseMode)
        {
                _AppImpl::GetInstance()->SendUserEvent(_APP_EVENT_RAISE, null, false);
        }
@@ -318,8 +318,7 @@ _AppControlManager::OnAppControlPluginEventReceivedN(int reqId, int res, const A
 
                SysLog(NID_APP, "Invoking callback 0x%x for (%ls, %ls).", pInfo->pListener, aId.GetPointer(), oId.GetPointer());
 
-               const bool isSubMode = (property & _APPCONTROL_PROPERTY_SUBMODE);
-               const bool isServiceCallee = (property & _APPCONTROL_PROPERTY_SERVICE_CALLEE);
+               const bool isRaiseMode = (property & _APPCONTROL_PROPERTY_RAISE_MODE);
 
                if (pInfo->isLegacy)
                {
@@ -329,7 +328,7 @@ _AppControlManager::OnAppControlPluginEventReceivedN(int reqId, int res, const A
                                ArrayList list(SingleObjectDeleter);
                                _AppArg::FillLegacyAppControlResult(list, res, pArgs, aId);
 
-                               InvokeLegacyAppControlCompleteListener(*pListener, aId, oId, &list, isSubMode | isServiceCallee);
+                               InvokeLegacyAppControlCompleteListener(*pListener, aId, oId, &list, isRaiseMode);
                        }
                        else
                        {
@@ -347,7 +346,7 @@ _AppControlManager::OnAppControlPluginEventReceivedN(int reqId, int res, const A
 
                                if (pResponseEvent != null)
                                {
-                                       _AppControlResponseEventArg* pResponseEventArg = new (std::nothrow) _AppControlResponseEventArg(pListener, _APPCONTROL_RESPONSETYPE_COMPLETE, aId, oId, E_SUCCESS, static_cast<AppCtrlResult>(res), const_cast<IMap*> (pArgs), responseEventRequestId, isSubMode);
+                                       _AppControlResponseEventArg* pResponseEventArg = new (std::nothrow) _AppControlResponseEventArg(pListener, _APPCONTROL_RESPONSETYPE_COMPLETE, aId, oId, E_SUCCESS, static_cast<AppCtrlResult>(res), const_cast<IMap*> (pArgs), responseEventRequestId, isRaiseMode);
                                        if (pResponseEventArg != null)
                                        {
                                                pResponseEvent->Fire(*pResponseEventArg);
@@ -356,7 +355,7 @@ _AppControlManager::OnAppControlPluginEventReceivedN(int reqId, int res, const A
                                }
                                else
                                {
-                                       InvokeAppControlCompleteListener(*pListener, aId, oId, ConvertAppControlResultCode(res), pArgs, isSubMode | isServiceCallee);
+                                       InvokeAppControlCompleteListener(*pListener, aId, oId, ConvertAppControlResultCode(res), pArgs, isRaiseMode);
                                        SysLog(NID_APP, "Listener called directly");
                                        delete pArgs;
                                }
@@ -825,7 +824,7 @@ void
 _AppControlManager::FinishAppControl(int reqId, int res, IMap* pMap)
 {
        SysLog(NID_APP, "req %d, res %d.", reqId, res);
-       _NativeAppControlEventArg* pArg = new (std::nothrow) _NativeAppControlEventArg(reqId, res, pMap, _APPCONTROL_PROPERTY_SUBMODE);
+       _NativeAppControlEventArg* pArg = new (std::nothrow) _NativeAppControlEventArg(reqId, res, pMap, _APPCONTROL_PROPERTY_RAISE_MODE);
        SysTryReturnVoidResult(NID_APP, pArg != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Return argument allocation failure.");
 
        SendAppControlEvent(*pArg);
@@ -953,7 +952,7 @@ _AppControlManager::OnAppControlResponseEventReceivedN(const Tizen::Base::Runtim
                        }
                        else
                        {
-                               InvokeAppControlCompleteListener(*pResponseListener, pEventArg->GetAppId(), pEventArg->GetOperationId(), pEventArg->GetAppControlResult(), pEventArg->GetExtraData(), pEventArg->IsSubMode());
+                               InvokeAppControlCompleteListener(*pResponseListener, pEventArg->GetAppId(), pEventArg->GetOperationId(), pEventArg->GetAppControlResult(), pEventArg->GetExtraData(), !pEventArg->IsRaiseMode());
                                SysLog(NID_APP, "Listener called");
 
                                _AppControlResponseEvent* pResponseEvent = null;
index 1bc79a9..994e1dd 100644 (file)
@@ -162,15 +162,22 @@ _AppControlProviderManagerImpl::SendAppControlResultPrimitive(RequestId reqId, _
        }
        else
        {
+               const bool isSubMode = _AppInfo::IsSubMode();
+               const bool isService = _AppInfo::GetAppType() & _APP_TYPE_SERVICE_APP;
+               bool isRaiseMode = true;
+
                if (reqId == 0)
                {
                        firstRequestSent = true;
                }
 
-               const bool isService = _AppInfo::GetAppType() & _APP_TYPE_SERVICE_APP;
+               if (isSubMode || isService)
+               {
+                       isRaiseMode = false;
+               }
 
                //resArg.Print();
-               result r = _Aul::SendResult(arg.GetBundle(), static_cast<appsvc_result_val>(ret), _AppInfo::IsSubMode(), isService);
+               result r = _Aul::SendResult(arg.GetBundle(), static_cast<appsvc_result_val>(ret), isRaiseMode);
                SysLog(NID_APP, "Sent AppControl event for %d.", reqId);
 
                return r;
index 6abde09..c87413a 100644 (file)
@@ -115,7 +115,7 @@ _Aul::GetConvertedResult(const int aul_ret, const char* pFunctionName)
 }
 
 result
-_Aul::SendResult(bundle* b, appsvc_result_val res, bool isSubMode, bool isServiceApp)
+_Aul::SendResult(bundle* b, appsvc_result_val res, bool isRaiseMode)
 {
        // to skip error handling, of appsvc_send_result, use aul_send_service_result() directly.
        //int ret = appsvc_send_result(b, res);
@@ -124,14 +124,9 @@ _Aul::SendResult(bundle* b, appsvc_result_val res, bool isSubMode, bool isServic
        snprintf(tmp, 32, "%d", static_cast<int>(res));
        appsvc_add_data(b, APP_SVC_K_RES_VAL, tmp);
 
-       if (isSubMode)
+       if (isRaiseMode)
        {
-               _AppArg::UpdateSubMode(b);
-       }
-
-       if (isServiceApp)
-       {
-               _AppArg::UpdateServiceApp(b);
+               _AppArg::UpdateRaiseMode(b);
        }
 
        const int aul_ret = aul_send_service_result(b);
index a78c9f5..bcc5ba6 100644 (file)
@@ -364,7 +364,7 @@ _DataControlProviderManagerImpl::SendDataControlResult(RequestId reqId, _DataCon
        resultArg.UpdateKeyValue(OSP_K_DATACONTROL_PROTOCOL_VERSION, version);
 
        //resultArg.Print();
-       r = _Aul::SendResult(resultArg.GetBundle(), static_cast< appsvc_result_val >(0), false, false);
+       r = _Aul::SendResult(resultArg.GetBundle(), static_cast< appsvc_result_val >(0), false);
        SysTryCatch(NID_APP, !IsFailed(r), , r, "[%s] Failed to send result.", GetErrorMessage(r));
 
        // Erases _AppArg after sending the result back to the caller
index 49975e2..c9c0c30 100644 (file)
@@ -175,13 +175,9 @@ public:
 
        static void UpdateKeyValue(bundle* b, const char* pKey, const Tizen::Base::String& value);
 
-       static void UpdateSubMode(bundle* b);
+       static void UpdateRaiseMode(bundle* b);
 
-       static bool IsSubMode(bundle* b);
-
-       static void UpdateServiceApp(bundle* b);
-
-       static bool IsServiceApp(bundle* b);
+       static bool IsRaiseMode(bundle* b);
        
        static AppId GetCalleeAppId(bundle* b);
 
index 4996ccf..573ed92 100644 (file)
@@ -53,8 +53,7 @@ enum _AppControlProperty
 {
        _APPCONTROL_PROPERTY_NONE = 0x0,
        _APPCONTROL_PROPERTY_PUBLIC = 0x01,
-       _APPCONTROL_PROPERTY_SUBMODE = 0x1000,
-       _APPCONTROL_PROPERTY_SERVICE_CALLEE = 0x2000,
+       _APPCONTROL_PROPERTY_RAISE_MODE = 0x1000,
 };
 
 class _OSP_LOCAL_ _AppControlImpl
index e3cf44b..e5b6def 100644 (file)
@@ -164,9 +164,9 @@ public:
 
        void StopAppControlResponseListener(IAppControlResponseListener* pLisetener);
 
-       static void InvokeAppControlCompleteListener(IAppControlResponseListener& listener, const AppId& appId, const Tizen::Base::String& op, AppCtrlResult res, const Tizen::Base::Collection::IMap* pExtraData, bool noRaise);
+       static void InvokeAppControlCompleteListener(IAppControlResponseListener& listener, const AppId& appId, const Tizen::Base::String& op, AppCtrlResult res, const Tizen::Base::Collection::IMap* pExtraData, bool isRaiseMode);
 
-       static void InvokeLegacyAppControlCompleteListener(IAppControlEventListener& listener, const AppId& appId, const Tizen::Base::String& op, const Tizen::Base::Collection::IList* pList, bool noRaise);
+       static void InvokeLegacyAppControlCompleteListener(IAppControlEventListener& listener, const AppId& appId, const Tizen::Base::String& op, const Tizen::Base::Collection::IList* pList, bool isRaiseMode);
 
 private:
        _OSP_LOCAL_ _AppControlManager(void);
index 39abc37..da5d17e 100644 (file)
@@ -48,7 +48,7 @@ public:
 
        static result TerminateApplicationByPid(int pid);
 
-       static result SendResult(bundle* b, appsvc_result_val res, bool isSubMode, bool isServiceApp);
+       static result SendResult(bundle* b, appsvc_result_val res, bool isRaiseMode);
 
        static bool IsRunning(const Tizen::Base::String& appId);