Modify DataControl manager for thread-safe
[platform/framework/native/appfw.git] / src / app / FApp_AppInfo.cpp
index b83a027..bb8d05a 100644 (file)
@@ -37,6 +37,7 @@
 #include <FBase_StringConverter.h>
 
 #include "FAppPkg_PackageInfoImpl.h"
+#include "FApp_Aul.h"
 #include "FApp_AppInfo.h"
 
 using namespace Tizen::App::Package;
@@ -143,17 +144,21 @@ _AppInfo::Construct(void)
        const char* pPackageId = appinfo_get_packageid();
        const char* pExecName = appinfo_get_execname();
 
-
        if (strncmp(pExecName, SUBMODE_NAME, strlen(SUBMODE_NAME)) == 0)
        {
                SysLog(NID_APP, "Handling for submode.");
-               const String& name = _PackageManagerImpl::GetInstance()->GetDefaultAppExecutableName(String(pPackageId));
-
-               __isSubMode = true;
 
-               std::unique_ptr<char[]> pActualExec(_StringConverter::CopyToCharArrayN(name));
-               appinfo_update_submode_execname_and_appid(pActualExec.get());
-               SysLog(NID_APP, "Executable name is changed to %s.", pActualExec.get());
+               const char* pAppId = appinfo_get_appid();
+               const String& mainId = _Aul::GetMainAppId(pAppId);
+               if (!mainId.IsEmpty())
+               {
+                       std::unique_ptr<char[]> pMainId(_StringConverter::CopyToCharArrayN(mainId));
+                       appinfo_update_submode_appid(pMainId.get());
+               
+                       __isSubMode = true;
+               
+                       SysLog(NID_APP, "Executable name is changed to %s.", pMainId.get());
+               }
        }
 
        result r = E_SUCCESS;