From 85520d31c95af8dd8632e0b825a5851bcf7faae3 Mon Sep 17 00:00:00 2001 From: Young Ik Cho Date: Fri, 5 Jul 2013 16:09:51 +0900 Subject: [PATCH] N_SE-44648 : fix window raise on submode Change-Id: Ie28dacccd07cade20d1c7ca46d5ddbbc8675fcfc Signed-off-by: Young Ik Cho --- src/app/FApp_AppArg.cpp | 69 ++++++++----------------- src/app/FApp_AppControlEvent.cpp | 2 +- src/app/FApp_AppControlEventArg.cpp | 3 +- src/app/FApp_AppControlEventArg.h | 33 ++++++++---- src/app/FApp_AppControlImpl.cpp | 12 +++-- src/app/FApp_AppControlManager.cpp | 32 +++++++----- src/app/FApp_AppControlProviderManagerImpl.cpp | 5 +- src/app/FApp_AppManagerImpl.cpp | 2 + src/app/FApp_Aul.cpp | 8 ++- src/app/FApp_DataControlProviderManagerImpl.cpp | 4 +- src/app/inc/FApp_AppArg.h | 5 ++ src/app/inc/FApp_AppControlImpl.h | 1 + src/app/inc/FApp_AppControlManager.h | 8 +-- src/app/inc/FApp_Aul.h | 2 +- src/app/inc/FApp_IAppControlSysEventListener.h | 2 +- 15 files changed, 100 insertions(+), 88 deletions(-) diff --git a/src/app/FApp_AppArg.cpp b/src/app/FApp_AppArg.cpp index 735f4c8..2d33f5a 100644 --- a/src/app/FApp_AppArg.cpp +++ b/src/app/FApp_AppArg.cpp @@ -78,13 +78,6 @@ static const char BUNDLE_KEY_PREFIX_SERVICE[] = "__APP_SVC_"; static const char BUNDLE_KEY_PREFIX_OSP[] = "__OSP_"; const char TIZEN_NOTIFICATION_DATA[] = "http://tizen.org/appcontrol/data/notification"; -static const char SAMSUNG_ACCOUNT_KEY_CLIENT_ID[] = "client_id"; -static const char SAMSUNG_ACCOUNT_KEY_CLIENT_SECRET[] = "client_secret"; -static const char SAMSUNG_ACCOUNT_KEY_SERVICE_CATEGORY[] = "service_category"; - -static const char SMS_KEY_SERVICE_CALLER[] = "service_caller"; -static const char SMS_KEY_SERVICE_DATA[] = "service_data"; - _AppArg::_AppArg(void) : __pBundle(null) @@ -489,47 +482,6 @@ _AppArg::SetArgList(bundle* pBundle, ArrayList* pList) SysLog(NID_APP, "argument is %s", p); } - String tmp; - p = appsvc_get_data(pBundle, SMS_KEY_SERVICE_CALLER); - if (p) - { - tmp.Format(60, L"%s:%s", SMS_KEY_SERVICE_CALLER, p); - pList->Add(*new (std::nothrow) String(tmp)); - SysLog(NID_APP, "service_caller is %s", p); - } - - p = appsvc_get_data(pBundle, SMS_KEY_SERVICE_DATA); - if (p) - { - tmp.Format(60, L"%s:%s", SMS_KEY_SERVICE_DATA, p); - pList->Add(*new (std::nothrow) String(tmp)); - SysLog(NID_APP, "service_data is set"); - } - - p = appsvc_get_data(pBundle, SAMSUNG_ACCOUNT_KEY_CLIENT_ID); - if (p) - { - tmp.Format(60, L"%s:%s", SAMSUNG_ACCOUNT_KEY_CLIENT_ID, p); - pList->Add(*new (std::nothrow) String(tmp)); - SysLog(NID_APP, "client_id is %s", p); - } - - p = appsvc_get_data(pBundle, SAMSUNG_ACCOUNT_KEY_CLIENT_SECRET); - if (p) - { - tmp.Format(60, L"%s:%s", SAMSUNG_ACCOUNT_KEY_CLIENT_SECRET, p); - pList->Add(*new (std::nothrow) String(tmp)); - SysLog(NID_APP, "client_secret is %s", p); - } - - p = appsvc_get_data(pBundle, SAMSUNG_ACCOUNT_KEY_SERVICE_CATEGORY); - if (p) - { - tmp.Format(60, L"%s:%s", SAMSUNG_ACCOUNT_KEY_SERVICE_CATEGORY, p); - pList->Add(*new (std::nothrow) String(tmp)); - SysLog(NID_APP, "service_category is %s", p); - } - return E_SUCCESS; } @@ -1199,6 +1151,27 @@ _AppArg::UpdateKeyValue(bundle* pBundle, const char* pKey, const String& value) } } + +void +_AppArg::UpdateSubMode(bundle* pBundle) +{ + appsvc_add_data(pBundle, OSP_K_SUBMODE_CALLEE, "1"); +} + + +bool +_AppArg::IsSubMode(bundle* pBundle) +{ + const char* p = appsvc_get_data(pBundle, OSP_K_SUBMODE_CALLEE); + if (p && (strncmp(p, "1", sizeof(char)) == 0)) + { + return true; + } + + return false; +} + + int _AppArg::GetRequestIdFromBundle(bundle* pBundle) { diff --git a/src/app/FApp_AppControlEvent.cpp b/src/app/FApp_AppControlEvent.cpp index af6a75c..a1f5e4b 100644 --- a/src/app/FApp_AppControlEvent.cpp +++ b/src/app/FApp_AppControlEvent.cpp @@ -51,7 +51,7 @@ _AppControlEvent::FireImpl(IEventListener& listener, const IEventArg& arg) if (pNativeArg != null) { - pListener->OnAppControlEventReceivedN(pNativeArg->GetRequestId(), pNativeArg->GetResult(), pNativeArg->GetArgs()); + pListener->OnAppControlEventReceivedN(pNativeArg->GetRequestId(), pNativeArg->GetResult(), pNativeArg->GetArgs(), pNativeArg->GetProperty()); return; } diff --git a/src/app/FApp_AppControlEventArg.cpp b/src/app/FApp_AppControlEventArg.cpp index 48e0e4d..12404f0 100644 --- a/src/app/FApp_AppControlEventArg.cpp +++ b/src/app/FApp_AppControlEventArg.cpp @@ -41,10 +41,11 @@ _AppControlEventArg::~_AppControlEventArg(void) delete __pArg; } -_NativeAppControlEventArg::_NativeAppControlEventArg(int reqId, int res, IMap* pArg) +_NativeAppControlEventArg::_NativeAppControlEventArg(int reqId, int res, IMap* pArg, int prop) : __reqId(reqId) , __result(res) , __pArgs(null) + , __property(prop) { if (pArg == null) { diff --git a/src/app/FApp_AppControlEventArg.h b/src/app/FApp_AppControlEventArg.h index a993d8f..621fcf3 100644 --- a/src/app/FApp_AppControlEventArg.h +++ b/src/app/FApp_AppControlEventArg.h @@ -86,9 +86,9 @@ private: _AppControlEventArg& operator =(const _AppControlEventArg& rhs); private: - int __reqId; + const int __reqId; _AppArg* __pArg; - int __result; + const int __result; }; // _AppControlEventArg /** @@ -100,7 +100,7 @@ class _NativeAppControlEventArg , public Tizen::Base::Runtime::IEventArg { public: - _NativeAppControlEventArg(int reqId, int res, Tizen::Base::Collection::IMap* pArgs); + _NativeAppControlEventArg(int reqId, int res, Tizen::Base::Collection::IMap* pArgs, int prop); virtual ~_NativeAppControlEventArg(void); @@ -119,10 +119,16 @@ public: return __pArgs; } + int GetProperty(void) const + { + return __property; + } + private: - int __reqId; - int __result; + const int __reqId; + const int __result; Tizen::Base::Collection::IMap* __pArgs; + const int __property; }; // _NativeAppControlEventArg /** @@ -180,7 +186,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) + _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) : __pResponseListener(pResponseListener) , __type(type) , __appId(appId.GetPointer()) @@ -189,6 +195,7 @@ public: , __appControlResult(appControlResult) , __pExtraData(pExtraData) , __reqId(reqId) + , __isSubMode(isSubMode) { } @@ -237,6 +244,11 @@ public: return __reqId; } + bool IsSubMode(void) const + { + return __isSubMode; + } + private: _AppControlResponseEventArg(const _AppControlResponseEventArg& rhs); @@ -244,13 +256,14 @@ private: private: IAppControlResponseListener* __pResponseListener; - _AppControlResponseType __type; + const _AppControlResponseType __type; const AppId __appId; const Tizen::Base::String __operationId; - result __res; - AppCtrlResult __appControlResult; + const result __res; + const AppCtrlResult __appControlResult; const Tizen::Base::Collection::IMap* __pExtraData; - int __reqId; + const int __reqId; + const bool __isSubMode; }; // _AppControlEventArg } } // Tizen::App diff --git a/src/app/FApp_AppControlImpl.cpp b/src/app/FApp_AppControlImpl.cpp index 34f81ce..496370c 100644 --- a/src/app/FApp_AppControlImpl.cpp +++ b/src/app/FApp_AppControlImpl.cpp @@ -516,12 +516,14 @@ _AppControlImpl::AppControlCbLegacy(void* data, _AppArg* pArg, _AppArg* pResArg, } } + const bool isSubMode = _AppArg::IsSubMode(b); + std::unique_ptr pMap(pResArg->GetArgMapN()); ArrayList list(SingleObjectDeleter); _AppArg::FillLegacyAppControlResult(list, res, pMap.get(), provider); - _AppControlManager::InvokeLegacyAppControlCompleteListener(*pListener, provider, oId, &list); + _AppControlManager::InvokeLegacyAppControlCompleteListener(*pListener, provider, oId, &list, isSubMode); return E_SUCCESS; } @@ -580,6 +582,8 @@ _AppControlImpl::AppControlCb(void* data, _AppArg* pArg, _AppArg* pResArg, servi } } + const bool isSubMode = _AppArg::IsSubMode(b); + std::unique_ptr pMap(pResArg->GetArgMapN()); AppCtrlResult ret = _AppControlManager::ConvertAppControlResultCode(res); @@ -592,13 +596,13 @@ _AppControlImpl::AppControlCb(void* data, _AppArg* pArg, _AppArg* pResArg, servi if (pResponseEvent != null) { - _AppControlResponseEventArg* pResponseEventArg = new (std::nothrow) _AppControlResponseEventArg(pListener, _APPCONTROL_RESPONSETYPE_COMPLETE, provider, oId, E_SUCCESS, ret, pMap.release(), reqId); + _AppControlResponseEventArg* pResponseEventArg = new (std::nothrow) _AppControlResponseEventArg(pListener, _APPCONTROL_RESPONSETYPE_COMPLETE, provider, oId, E_SUCCESS, ret, pMap.release(), reqId, isSubMode); pResponseEvent->Fire(*pResponseEventArg); SysLog(NID_APP, "OnAppControlCompleteResponseReceived, pResponseEvent is Fired"); } else { - _AppControlManager::InvokeAppControlCompleteListener(*pListener, provider, oId, ret, pMap.get()); + _AppControlManager::InvokeAppControlCompleteListener(*pListener, provider, oId, ret, pMap.get(), isSubMode); } return E_SUCCESS; @@ -974,7 +978,7 @@ _AppControlImpl::OnAppControlResponseEventReceivedN(const Tizen::Base::Runtime:: { if(pEventArg->GetType() == _APPCONTROL_RESPONSETYPE_COMPLETE) { - _AppControlManager::InvokeAppControlCompleteListener(*pResponseListener, pEventArg->GetAppId(), pEventArg->GetOperationId(), pEventArg->GetAppControlResult(), pEventArg->GetExtraData()); + _AppControlManager::InvokeAppControlCompleteListener(*pResponseListener, pEventArg->GetAppId(), pEventArg->GetOperationId(), pEventArg->GetAppControlResult(), pEventArg->GetExtraData(), pEventArg->IsSubMode()); _AppControlResponseEvent* pResponseEvent = null; _AppControlManager::GetInstance()->GetAppControlResponseEventContainer()->GetValue(pEventArg->GetRequestId(), pResponseEvent); diff --git a/src/app/FApp_AppControlManager.cpp b/src/app/FApp_AppControlManager.cpp index c811dd8..df4f4cc 100644 --- a/src/app/FApp_AppControlManager.cpp +++ b/src/app/FApp_AppControlManager.cpp @@ -224,7 +224,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); + _AppControlResponseEventArg* pResponseEventArg = new (std::nothrow) _AppControlResponseEventArg(pListener, _APPCONTROL_RESPONSETYPE_START, actualAppId, oId, r, APP_CTRL_RESULT_SUCCEEDED, null, reqId, false); if (pResponseEventArg != null) { @@ -246,24 +246,28 @@ _AppControlManager::OnAppControlEventReceivedN(int reqId, const AppId& appId, co void -_AppControlManager::InvokeAppControlCompleteListener(IAppControlResponseListener& listener, const AppId& appId, const String& op, AppCtrlResult res, const IMap* pExtraData) +_AppControlManager::InvokeAppControlCompleteListener(IAppControlResponseListener& listener, const AppId& appId, const String& op, AppCtrlResult res, const IMap* pExtraData, bool isSubMode) { listener.OnAppControlCompleteResponseReceived(appId, op, res, pExtraData); - //_AppImpl::GetInstance()->RaiseWindow(); - _AppImpl::GetInstance()->SendUserEvent(_APP_EVENT_RAISE, null, false); + if (!isSubMode) + { + _AppImpl::GetInstance()->SendUserEvent(_APP_EVENT_RAISE, null, false); + } SysLog(NID_APP, "AppControl response finished."); } void -_AppControlManager::InvokeLegacyAppControlCompleteListener(IAppControlEventListener& listener, const AppId& appId, const String& op, const IList* pList) +_AppControlManager::InvokeLegacyAppControlCompleteListener(IAppControlEventListener& listener, const AppId& appId, const String& op, const IList* pList, bool isSubMode) { listener.OnAppControlCompleted(appId, op, pList); - //_AppImpl::GetInstance()->RaiseWindow(); - _AppImpl::GetInstance()->SendUserEvent(_APP_EVENT_RAISE, null, false); + if (!isSubMode) + { + _AppImpl::GetInstance()->SendUserEvent(_APP_EVENT_RAISE, null, false); + } SysLog(NID_APP, "Legacy AppControl response finished."); } @@ -271,7 +275,7 @@ _AppControlManager::InvokeLegacyAppControlCompleteListener(IAppControlEventListe // callback for in-process event handling void -_AppControlManager::OnAppControlEventReceivedN(int reqId, int res, const IMap* pArgs) +_AppControlManager::OnAppControlEventReceivedN(int reqId, int res, const IMap* pArgs, int property) { SysLog(NID_APP, "Received request Id %d, res %d, args 0x%x", reqId, res, pArgs); @@ -300,6 +304,8 @@ _AppControlManager::OnAppControlEventReceivedN(int reqId, int res, const IMap* p } } + const bool isSubMode = (property & _APPCONTROL_PROPERTY_SUBMODE); + if (pInfo->isLegacy) { IAppControlEventListener* pListener = dynamic_cast(pInfo->pListener); @@ -308,7 +314,7 @@ _AppControlManager::OnAppControlEventReceivedN(int reqId, int res, const IMap* p ArrayList list(SingleObjectDeleter); _AppArg::FillLegacyAppControlResult(list, res, pArgs, aId); - InvokeLegacyAppControlCompleteListener(*pListener, aId, oId, &list); + InvokeLegacyAppControlCompleteListener(*pListener, aId, oId, &list, isSubMode); } else { @@ -326,7 +332,7 @@ _AppControlManager::OnAppControlEventReceivedN(int reqId, int res, const IMap* p if (pResponseEvent != null) { - _AppControlResponseEventArg* pResponseEventArg = new (std::nothrow) _AppControlResponseEventArg(pListener, _APPCONTROL_RESPONSETYPE_COMPLETE, aId, oId, E_SUCCESS, static_cast(res), const_cast (pArgs), responseEventRequestId); + _AppControlResponseEventArg* pResponseEventArg = new (std::nothrow) _AppControlResponseEventArg(pListener, _APPCONTROL_RESPONSETYPE_COMPLETE, aId, oId, E_SUCCESS, static_cast(res), const_cast (pArgs), responseEventRequestId, isSubMode); if (pResponseEventArg != null) { pResponseEvent->Fire(*pResponseEventArg); @@ -335,7 +341,7 @@ _AppControlManager::OnAppControlEventReceivedN(int reqId, int res, const IMap* p } else { - InvokeAppControlCompleteListener(*pListener, aId, oId, ConvertAppControlResultCode(res), pArgs); + InvokeAppControlCompleteListener(*pListener, aId, oId, ConvertAppControlResultCode(res), pArgs, isSubMode); SysLog(NID_APP, "Listener called directly"); delete pArgs; } @@ -899,7 +905,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); + _NativeAppControlEventArg* pArg = new (std::nothrow) _NativeAppControlEventArg(reqId, res, pMap, _APPCONTROL_PROPERTY_SUBMODE); SysTryReturnVoidResult(NID_APP, pArg != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Return argument allocation failure."); SendAppControlEvent(*pArg); @@ -1026,7 +1032,7 @@ _AppControlManager::OnAppControlResponseEventReceivedN(const Tizen::Base::Runtim } else { - InvokeAppControlCompleteListener(*pResponseListener, pEventArg->GetAppId(), pEventArg->GetOperationId(), pEventArg->GetAppControlResult(), pEventArg->GetExtraData()); + InvokeAppControlCompleteListener(*pResponseListener, pEventArg->GetAppId(), pEventArg->GetOperationId(), pEventArg->GetAppControlResult(), pEventArg->GetExtraData(), pEventArg->IsSubMode()); SysLog(NID_APP, "Listener called"); _AppControlResponseEvent* pResponseEvent = null; diff --git a/src/app/FApp_AppControlProviderManagerImpl.cpp b/src/app/FApp_AppControlProviderManagerImpl.cpp index cf5482d..9e40660 100644 --- a/src/app/FApp_AppControlProviderManagerImpl.cpp +++ b/src/app/FApp_AppControlProviderManagerImpl.cpp @@ -34,6 +34,7 @@ #include "FApp_Aul.h" #include "FApp_AppArg.h" #include "FApp_AppImpl.h" +#include "FApp_AppInfo.h" #include "FApp_AppControlManager.h" #include "FApp_AppControlProviderManagerImpl.h" @@ -78,7 +79,7 @@ _AppControlProviderManagerImpl::SendAppControlResult(RequestId reqId, const ILis SysTryReturn(NID_APP, !IsFailed(r), r, r, "[%s] Propagating.", GetErrorMessage(r)); //resArg.Print(); - r = _Aul::SendResult(resArg.GetBundle(), static_cast(0)); + r = _Aul::SendResult(resArg.GetBundle(), static_cast(0), _AppInfo::IsSubMode()); SysLog(NID_APP, "Sent AppControl event for %d.", reqId); // erase _AppArg after sending the result back to the caller @@ -128,7 +129,7 @@ _AppControlProviderManagerImpl::SendAppControlResult(RequestId reqId, AppCtrlRes } //resArg.Print(); - r = _Aul::SendResult(resArg.GetBundle(), static_cast(res)); + r = _Aul::SendResult(resArg.GetBundle(), static_cast(res), _AppInfo::IsSubMode()); SysLog(NID_APP, "Sent AppControl event for %d.", reqId); // erase _AppArg after sending the result back to the caller diff --git a/src/app/FApp_AppManagerImpl.cpp b/src/app/FApp_AppManagerImpl.cpp index 99f3f56..6b08626 100755 --- a/src/app/FApp_AppManagerImpl.cpp +++ b/src/app/FApp_AppManagerImpl.cpp @@ -1242,6 +1242,8 @@ _AppManagerImpl::GetActiveApp(AppId& appId) aul_app_get_pkgname_bypid(processId, pkgname, 255); appId = _Aul::GetRealAppId(String(pkgname)); + + SysLog(NID_APP, "ActiveApp is %ls.", appId.GetPointer()); return E_SUCCESS; } diff --git a/src/app/FApp_Aul.cpp b/src/app/FApp_Aul.cpp index a94d145..98bc8fb 100644 --- a/src/app/FApp_Aul.cpp +++ b/src/app/FApp_Aul.cpp @@ -44,6 +44,7 @@ #include "FAppPkg_PackageManagerImpl.h" #include "FApp_Types.h" #include "FApp_Aul.h" +#include "FApp_AppArg.h" #include "FApp_TemplateUtil.h" @@ -114,7 +115,7 @@ _Aul::GetConvertedResult(const int aul_ret, const char* pFunctionName) } result -_Aul::SendResult(bundle* b, appsvc_result_val res) +_Aul::SendResult(bundle* b, appsvc_result_val res, bool isSubMode) { // to skip error handling, of appsvc_send_result, use aul_send_service_result() directly. //int ret = appsvc_send_result(b, res); @@ -123,6 +124,11 @@ _Aul::SendResult(bundle* b, appsvc_result_val res) snprintf(tmp, 32, "%d", static_cast(res)); appsvc_add_data(b, APP_SVC_K_RES_VAL, tmp); + if (isSubMode) + { + _AppArg::UpdateSubMode(b); + } + const int aul_ret = aul_send_service_result(b); result r = GetConvertedResult(aul_ret, "SendResult"); diff --git a/src/app/FApp_DataControlProviderManagerImpl.cpp b/src/app/FApp_DataControlProviderManagerImpl.cpp index 6f4a231..bcc5ba6 100644 --- a/src/app/FApp_DataControlProviderManagerImpl.cpp +++ b/src/app/FApp_DataControlProviderManagerImpl.cpp @@ -110,7 +110,7 @@ _DataControlProviderManagerImpl::SendDataControlResult(RequestId reqId, _DataCon _AppArg resultArg; String* pDataId = null; result r = E_SUCCESS; - int ret = -1; + //int ret = -1; _AppControlManager* pAppMgr = _AppControlManager::GetInstance(); SysTryReturnResult(NID_APP, pAppMgr, E_SYSTEM, "Failed to get instance."); @@ -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)); + 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 diff --git a/src/app/inc/FApp_AppArg.h b/src/app/inc/FApp_AppArg.h index 2429ddc..444fb5e 100644 --- a/src/app/inc/FApp_AppArg.h +++ b/src/app/inc/FApp_AppArg.h @@ -63,6 +63,7 @@ enum _DataControlRequestType #define OSP_K_COND "__OSP_COND_NAME__" #define OSP_K_APPID "__OSP_APPID__" #define OSP_K_REQUEST_ID "__OSP_REQUEST_ID__" +#define OSP_K_SUBMODE_CALLEE "__OSP_SUB_CALLEE__" #define OSP_K_APPCONTROL_INTERNAL_OPERATION "__OSP_APPCONTROL_INTERNAL_INTERNAL_OPERATION__" #define OSP_K_DATACONTROL_PROVIDER "__OSP_DATACONTROL_PROVIDER__" #define OSP_K_DATACONTROL_DATA "__OSP_DATACONTROL_DATA__" @@ -179,6 +180,10 @@ public: static void UpdateKeyValue(bundle* b, const char* pKey, const Tizen::Base::String& value); + static void UpdateSubMode(bundle* b); + + static bool IsSubMode(bundle* b); + static result UpdateWindowHandle(bundle* b, long handle); static Tizen::Base::Collection::ArrayList* GetListN(bundle* b, const char* key); diff --git a/src/app/inc/FApp_AppControlImpl.h b/src/app/inc/FApp_AppControlImpl.h index 27a76fe..58627c5 100644 --- a/src/app/inc/FApp_AppControlImpl.h +++ b/src/app/inc/FApp_AppControlImpl.h @@ -56,6 +56,7 @@ enum _AppControlProperty _APPCONTROL_PROPERTY_OSP = 0x200, _APPCONTROL_PROPERTY_ALIAS = 0x400, _APPCONTROL_PROPERTY_APPID_CHANGE = 0x800, + _APPCONTROL_PROPERTY_SUBMODE = 0x1000, }; class _OSP_EXPORT_ _AppControlImpl diff --git a/src/app/inc/FApp_AppControlManager.h b/src/app/inc/FApp_AppControlManager.h index 2b2c254..b02d6af 100644 --- a/src/app/inc/FApp_AppControlManager.h +++ b/src/app/inc/FApp_AppControlManager.h @@ -109,7 +109,7 @@ public: _AppArg* pArg; const LaunchCbType launchCb; void* pUserData; - const int property; + int property; }; // _LaunchInfo @@ -231,7 +231,7 @@ public: virtual void OnAppControlEventReceivedN(int reqId, _AppArg* pAppArg, int res); - virtual void OnAppControlEventReceivedN(int reqId, int res, const Tizen::Base::Collection::IMap* pArgs); + virtual void OnAppControlEventReceivedN(int reqId, int res, const Tizen::Base::Collection::IMap* pArgs, int prop); virtual void OnAppControlEventReceivedN(int reqId, const AppId& appId, const Tizen::Base::String& operationId); @@ -283,9 +283,9 @@ public: static AppCtrlResult ConvertAppControlResultCode(int res); - static void InvokeAppControlCompleteListener(IAppControlResponseListener& listener, const AppId& appId, const Tizen::Base::String& op, AppCtrlResult res, const Tizen::Base::Collection::IMap* pExtraData); + static void InvokeAppControlCompleteListener(IAppControlResponseListener& listener, const AppId& appId, const Tizen::Base::String& op, AppCtrlResult res, const Tizen::Base::Collection::IMap* pExtraData, bool isSubMode); - static void InvokeLegacyAppControlCompleteListener(IAppControlEventListener& listener, const AppId& appId, const Tizen::Base::String& op, const Tizen::Base::Collection::IList* pList); + static void InvokeLegacyAppControlCompleteListener(IAppControlEventListener& listener, const AppId& appId, const Tizen::Base::String& op, const Tizen::Base::Collection::IList* pList, bool isSubMode); private: _OSP_LOCAL_ _AppControlManager(void); diff --git a/src/app/inc/FApp_Aul.h b/src/app/inc/FApp_Aul.h index 8c36d62..7774bb6 100644 --- a/src/app/inc/FApp_Aul.h +++ b/src/app/inc/FApp_Aul.h @@ -48,7 +48,7 @@ public: static result TerminateApplicationByPid(int pid); - static result SendResult(bundle* b, appsvc_result_val res); + static result SendResult(bundle* b, appsvc_result_val res, bool isSubMode); static bool IsRunning(const Tizen::Base::String& appId); diff --git a/src/app/inc/FApp_IAppControlSysEventListener.h b/src/app/inc/FApp_IAppControlSysEventListener.h index bee1959..5165a2a 100644 --- a/src/app/inc/FApp_IAppControlSysEventListener.h +++ b/src/app/inc/FApp_IAppControlSysEventListener.h @@ -46,7 +46,7 @@ public: virtual void OnAppControlEventReceivedN(int reqId, _AppArg* pArg, int res) = 0; - virtual void OnAppControlEventReceivedN(int reqId, int res, const Tizen::Base::Collection::IMap* pArgs) = 0; + virtual void OnAppControlEventReceivedN(int reqId, int res, const Tizen::Base::Collection::IMap* pArgs, int prop) = 0; virtual void OnAppControlEventReceivedN(int reqId, const AppId& appId, const Tizen::Base::String& operationId) = 0; }; // _IAppControlSysEventListener -- 2.7.4