本文整理汇总了C++中AutoPtr::AddIconPath方法的典型用法代码示例。如果您正苦于以下问题:C++ AutoPtr::AddIconPath方法的具体用法?C++ AutoPtr::AddIconPath怎么用?C++ AutoPtr::AddIconPath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AutoPtr
的用法示例。
在下文中一共展示了AutoPtr::AddIconPath方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CreateIconResource
ECode IconPackHelper::CreateIconResource(
/* [in] */ IContext* context,
/* [in] */ const String& packageName,
/* [out] */ IResources** iconRes)
{
VALIDATE_NOT_NULL(iconRes);
AutoPtr<IPackageManager> pm;
context->GetPackageManager((IPackageManager**)&pm);
AutoPtr<IPackageInfo> info;
FAIL_RETURN(pm->GetPackageInfo(packageName, 0, (IPackageInfo**)&info))
AutoPtr<IApplicationInfo> appInfo;
info->GetApplicationInfo((IApplicationInfo**)&appInfo);
String themeApk;
appInfo->GetPublicSourceDir(&themeApk);
String prefixPath;
String iconPkgPath;
String iconResPath;
Boolean result;
if (info->GetIsLegacyIconPackPkg(&result), result) {
iconResPath = "";
iconPkgPath = "";
prefixPath = "";
}
else {
prefixPath = IThemeUtils::ICONS_PATH; //path inside APK
iconPkgPath = ThemeUtils::GetIconPackPkgPath(packageName);
iconResPath = ThemeUtils::GetIconPackResPath(packageName);
}
AutoPtr<IAssetManager> assets;
CAssetManager::New((IAssetManager**)&assets);
Int32 cookie;
assets->AddIconPath(themeApk, iconPkgPath,
prefixPath, IResources::THEME_ICON_PKG_ID, &cookie);
AutoPtr<IResources> res;
context->GetResources((IResources**)&res);
AutoPtr<IDisplayMetrics> dm;
res->GetDisplayMetrics((IDisplayMetrics**)&dm);
AutoPtr<IConfiguration> config;
res->GetConfiguration((IConfiguration**)&config);
return CResources::New(assets, dm, config, iconRes);
}