}
result
-_PackageAppInfoImpl::SetAppSettingIconPath(const Tizen::Base::String& appSettingIcon)
+_PackageAppInfoImpl::SetAppSettingIconPath(const String& appSettingIcon)
{
__appSettingIconPath = appSettingIcon;
return E_SUCCESS;
return E_SUCCESS;
}
-const String&
-_PackageAppInfoImpl::GetAppTempIconPath(void) const
+char*
+_PackageAppInfoImpl::GetAppMenuIconBufferN(int& size) const
{
- return __appTempIconPath;
+ if (__pIconBuffer)
+ {
+ char* pBuffer = new (std::nothrow) char[__iconSize];
+ SysTryReturn(NID_APP, pBuffer, null, E_OUT_OF_MEMORY, "pBuffer is null.");
+
+ memset(pBuffer, 0, __iconSize);
+ memcpy(pBuffer, __pIconBuffer, __iconSize);
+
+ size = __iconSize;
+ return pBuffer;
+ }
+ else
+ {
+ return null;
+ }
}
result
-_PackageAppInfoImpl::SetAppTempIconPath(const String& tempIconPath)
+_PackageAppInfoImpl::SetAppMenuIconBuffer(char* pBuffer, int size)
{
- __appTempIconPath = tempIconPath;
+ if (pBuffer)
+ {
+ __pIconBuffer = new (std::nothrow) char[size];
+ SysTryReturnResult(NID_APP, __pIconBuffer, E_OUT_OF_MEMORY, "__pIconBuffer is null.");
+
+ __iconSize = size;
+
+ memset(__pIconBuffer, 0, __iconSize);
+ memcpy(__pIconBuffer, pBuffer, __iconSize);
+ }
+
return E_SUCCESS;
}
}
iconPath = __appIconPath;
+ pBitmap = _AppResourceImpl::GetNonScalingBitmapN(iconPath);
}
else
{
- if (__appTempIconPath.IsEmpty() == true)
+ if ((__pIconBuffer == null) || (__iconSize <= 0))
{
return null;
}
- iconPath = __appTempIconPath;
+ iconPath = L"/tmp/icon.png";
+ if (File::IsFileExist(iconPath) == true)
+ {
+ File::Remove(iconPath);
+ }
+
+ result r = E_SUCCESS;
+ File file;
+
+ r = file.Construct(iconPath, "w");
+ SysTryReturn(NID_APP, r == E_SUCCESS, null, E_SYSTEM, "file.Construct() failed.");
+
+ r = file.Write((void*)__pIconBuffer, __iconSize);
+ SysTryReturn(NID_APP, r == E_SUCCESS, null, E_SYSTEM, "file.Write() failed.");
+
+ file.Flush();
+
+ pBitmap = _AppResourceImpl::GetNonScalingBitmapN(iconPath);
+
+ File::Remove(iconPath);
}
- SysLog(NID_APP, "iconPath = [%ls]", iconPath.GetPointer());
- pBitmap = _AppResourceImpl::GetNonScalingBitmapN(iconPath);
+ SysLog(NID_APP, "iconPath = [%ls]", iconPath.GetPointer());
return pBitmap;
}
, __pDataControlImplList(null)
, __pAppControlImplList(null)
, __pAppCategoryList(null)
+ , __pNameList(null)
, __uniqueId(0)
, __pkgId(0)
, __appFeature(0)
,__pAppInfoHandle(null)
+ , __pIconBuffer(null)
+ , __iconSize(0)
{
__pLaunchConditionImplList = new (std::nothrow) ArrayList;
SysTryReturnVoidResult(NID_APP, __pLaunchConditionImplList != null, E_OUT_OF_MEMORY, "__pLaunchConditionImplList instance must not be null.");
{
pkgmgrinfo_appinfo_destroy_appinfo(__pAppInfoHandle);
}
-
- if (File::IsFileExist(__appTempIconPath) == true)
- {
- File::Remove(__appTempIconPath);
-
- String tmp(L"/tmp/__icon/");
- Directory::Remove(tmp, true);
- }
}
const String&