,__pAppInfo(null)
,__pDefaultIconType(null)
,__isDefaultName(false)
+,__isEflTpk(false)
{
}
SysLog(NID_APP, "Id = [%s]", pCharacters);
__pPackageInfoImpl->SetId(pCharacters);
+ RegularExpression regularExpression;
+ String pattern(L"([a-zA-Z0-9]{10})");
+ result r = regularExpression.Construct(pattern);
+ SysTryReturn(NID_APP, !IsFailed(r), false, E_SYSTEM, "regularExpression.Construct() failed.");
+
+ PackageId packageId = pCharacters;
+ if (regularExpression.Match(packageId, true) == true)
+ {
+ SysLog(NID_APP, "[%ls] is tizen native application.", packageId.GetPointer());
+ }
+ else
+ {
+ SysLog(NID_APP, "[%ls] is not tizen native application.", packageId.GetPointer());
+ __isEflTpk = true;
+ }
+
return true;
}
r = unzipper.UnzipTo(tmp, iconRelPath);
if (!IsFailed(r))
{
+ result r = E_SUCCESS;
+ File file;
tempIconPath = tmp + iconRelPath;
- pPackageAppInfoImpl->SetAppTempIconPath(tempIconPath);
+
+ r = file.Construct(tempIconPath, "r");
+ if (r == E_SUCCESS)
+ {
+ FileAttributes attr;
+ file.GetAttributes(tempIconPath, attr);
+ int size = (int)attr.GetFileSize();
+
+ char* pBuffer = new (std::nothrow) char[size];
+ SysTryReturn(NID_APP, pBuffer, false, E_OUT_OF_MEMORY, "pBuffer is null.");
+
+ memset(pBuffer, 0, size);
+ file.Read((void*)pBuffer, size);
+
+ pPackageAppInfoImpl->SetAppMenuIconBuffer(pBuffer, size);
+
+ Directory::Remove(tmp, true);
+ delete pBuffer;
+ }
+ else
+ {
+ SysLog(NID_APP, "file.Construct() failed.", tempIconPath.GetPointer());
+ }
}
else
{
pPackageAppInfoImpl->SetAppName(pName);
AppId appId = __pPackageInfoImpl->GetId() + L"." + pName;
- pPackageAppInfoImpl->SetAppId(appId);
+ if (__isEflTpk == false)
+ {
+ pPackageAppInfoImpl->SetAppId(appId);
+ }
+ else
+ {
+ pPackageAppInfoImpl->SetAppId(__pPackageInfoImpl->GetId());
+ }
char* pMain = pAttr->Find("Main");
if (pMain)
if (strcasecmp(pMain, "True") == 0)
{
__isDefaultName = true;
- __pPackageInfoImpl->SetMainAppId(appId);
+ if (__isEflTpk == false)
+ {
+ __pPackageInfoImpl->SetMainAppId(appId);
+ }
+ else
+ {
+ __pPackageInfoImpl->SetMainAppId(__pPackageInfoImpl->GetId());
+ }
pPackageAppInfoImpl->SetMainApp(true);
}
}