public Resources getResources(Context context, ApplicationInfo appInfo) throws Exception { PackageSetting ps = PackageCacheManager.getSetting(appInfo.packageName); if (ps != null) { AssetManager assets = mirror.android.content.res.AssetManager.ctor.newInstance(); mirror.android.content.res.AssetManager.addAssetPath.call(assets, ps.apkPath); Resources hostRes = context.getResources(); return new Resources(assets, hostRes.getDisplayMetrics(), hostRes.getConfiguration()); } return null; } }
@Implementation protected Resources getResourcesForApplication(String appPackageName) throws NameNotFoundException { if (context.getPackageName().equals(appPackageName)) { return context.getResources(); } else if (packageInfos.containsKey(appPackageName)) { Resources appResources = resources.get(appPackageName); if (appResources == null) { appResources = new Resources(new AssetManager(), null, null); resources.put(appPackageName, appResources); } return appResources; } throw new NameNotFoundException(appPackageName); }
@Implementation protected static Resources getSystem() { if (system == null) { AssetManager assetManager = AssetManager.getSystem(); DisplayMetrics metrics = new DisplayMetrics(); Configuration config = new Configuration(); system = new Resources(assetManager, metrics, config); } return system; }
public Resources getResources(String pkg) throws Resources.NotFoundException { InstalledAppInfo installedAppInfo = getInstalledAppInfo(pkg, 0); if (installedAppInfo != null) { AssetManager assets = mirror.android.content.res.AssetManager.ctor.newInstance(); mirror.android.content.res.AssetManager.addAssetPath.call(assets, installedAppInfo.apkPath); Resources hostRes = context.getResources(); return new Resources(assets, hostRes.getDisplayMetrics(), hostRes.getConfiguration()); } throw new Resources.NotFoundException(pkg); }
Resources skinResource = new Resources(assetManager,superRes.getDisplayMetrics(),superRes.getConfiguration());
private void loadPlugin(String skinPath, String skinPkgName, String suffix) throws Exception { AssetManager assetManager = AssetManager.class.newInstance(); Method addAssetPath = assetManager.getClass().getMethod("addAssetPath", String.class); addAssetPath.invoke(assetManager, skinPath); Resources superRes = mContext.getResources(); mResources = new Resources(assetManager, superRes.getDisplayMetrics(), superRes.getConfiguration()); mResourceManager = new ResourceManager(mResources, skinPkgName, suffix); usePlugin = true; }
context = new ContextWrapper(getActivity()) { private Resources wrappedResources; @Override public Resources getResources() { Resources r = super.getResources(); if(wrappedResources == null) { wrappedResources = new Resources(r.getAssets(), r.getDisplayMetrics(), r.getConfiguration()) { @NonNull @Override public String getString(int id, Object... formatArgs) throws NotFoundException { try { return super.getString(id, formatArgs); } catch (IllegalFormatConversionException ifce) { Log.e("DatePickerDialogFix", "IllegalFormatConversionException Fixed!", ifce); String template = super.getString(id); template = template.replaceAll("%" + ifce.getConversion(), "%s"); return String.format(getConfiguration().locale, template, formatArgs); } } }; } return wrappedResources; } };
@Override public Resources getResources() { if (wrappedResources == null) { wrappedResources = wrapResourcesFixDateDialogCrash(super.getResources()); } return wrappedResources; } public Resources wrapResourcesFixDateDialogCrash(Resources r) { return new Resources(r.getAssets(), r.getDisplayMetrics(), r.getConfiguration()) { @NonNull @Override public String getString(int id, Object... formatArgs) throws NotFoundException { try { return super.getString(id, formatArgs); } catch (IllegalFormatConversionException ifce) { Log.i("DatePickerDialogFix", "IllegalFormatConversionException Fixed!", ifce); String template = super.getString(id); template = template.replaceAll("%" + ifce.getConversion(), "%s"); return String.format(getConfiguration().locale, template, formatArgs); } } }; }
private void loadPlugin(String skinPath, String skinPkgName, String suffix) throws Exception { //checkPluginParams(skinPath, skinPkgName); AssetManager assetManager = AssetManager.class.newInstance(); Method addAssetPath = assetManager.getClass().getMethod("addAssetPath", String.class); addAssetPath.invoke(assetManager, skinPath); Resources superRes = mContext.getResources(); mResources = new Resources(assetManager, superRes.getDisplayMetrics(), superRes.getConfiguration()); mResourceManager = new ResourceManager(mResources, skinPkgName, suffix); usePlugin = true; }
public void addPackage(PackageInfo packageInfo, PackageStats packageStats) { Preconditions.checkArgument(packageInfo.packageName.equals(packageStats.packageName)); packageInfos.put(packageInfo.packageName, packageInfo); packageStatsMap.put(packageInfo.packageName, packageStats); applicationEnabledSettingMap.put(packageInfo.packageName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT); Resources r = new Resources(new AssetManager(), null, null); resources.put(packageInfo.packageName, r); if (packageInfo.applicationInfo != null) { namesForUid.put(packageInfo.applicationInfo.uid, packageInfo.packageName); } }
public void addPackage(PackageInfo packageInfo) { PackageStats packageStats = new PackageStats(packageInfo.packageName); Preconditions.checkArgument(packageInfo.packageName.equals(packageStats.packageName)); packageInfos.put(packageInfo.packageName, packageInfo); packageStatsMap.put(packageInfo.packageName, packageStats); applicationEnabledSettingMap.put(packageInfo.packageName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT); Resources r = new Resources(new AssetManager(), null, null); resources.put(packageInfo.packageName, r); if (packageInfo.applicationInfo != null) { namesForUid.put(packageInfo.applicationInfo.uid, packageInfo.packageName); } }
public Resources getResources(Context context, ApplicationInfo appInfo) throws Exception { PackageSetting ps = PackageCacheManager.getSetting(appInfo.packageName); if (ps != null) { AssetManager assets = mirror.android.content.res.AssetManager.ctor.newInstance(); mirror.android.content.res.AssetManager.addAssetPath.call(assets, ps.apkPath); Resources hostRes = context.getResources(); return new Resources(assets, hostRes.getDisplayMetrics(), hostRes.getConfiguration()); } return null; } }
public Resources getResources(Context context, ApplicationInfo appInfo) throws Exception { PackageSetting ps = PackageCacheManager.getSetting(appInfo.packageName); if (ps != null) { AssetManager assets = mirror.android.content.res.AssetManager.ctor.newInstance(); mirror.android.content.res.AssetManager.addAssetPath.call(assets, ps.apkPath); Resources hostRes = context.getResources(); return new Resources(assets, hostRes.getDisplayMetrics(), hostRes.getConfiguration()); } return null; } }
@Override @Implementation public Resources getResources() { if (resources == null ) { resources = ShadowResources.bind(new Resources(null, null, null), resourceLoader); } return resources; }
public Resources getResources(String pkg) throws Resources.NotFoundException { InstalledAppInfo installedAppInfo = getInstalledAppInfo(pkg, 0); if (installedAppInfo != null) { AssetManager assets = mirror.android.content.res.AssetManager.ctor.newInstance(); mirror.android.content.res.AssetManager.addAssetPath.call(assets, installedAppInfo.apkPath); Resources hostRes = context.getResources(); return new Resources(assets, hostRes.getDisplayMetrics(), hostRes.getConfiguration()); } throw new Resources.NotFoundException(pkg); }
public Resources getResources(String pkg) throws Resources.NotFoundException { InstalledAppInfo installedAppInfo = getInstalledAppInfo(pkg, 0); if (installedAppInfo != null) { AssetManager assets = mirror.android.content.res.AssetManager.ctor.newInstance(); mirror.android.content.res.AssetManager.addAssetPath.call(assets, installedAppInfo.apkPath); Resources hostRes = context.getResources(); return new Resources(assets, hostRes.getDisplayMetrics(), hostRes.getConfiguration()); } throw new Resources.NotFoundException(pkg); }
@Implementation public static Resources getSystem() { if (system == null) { AssetManager assetManager = AssetManager.getSystem(); DisplayMetrics metrics = new DisplayMetrics(); Configuration config = new Configuration(); system = new Resources(assetManager, metrics, config); } return system; }
@Implementation protected static Resources getSystem() { if (system == null) { AssetManager assetManager = AssetManager.getSystem(); DisplayMetrics metrics = new DisplayMetrics(); Configuration config = new Configuration(); system = new Resources(assetManager, metrics, config); } return system; }
@Implementation public static Resources getSystem() { if (system == null) { AssetManager assetManager = AssetManager.getSystem(); DisplayMetrics metrics = new DisplayMetrics(); Configuration config = new Configuration(); system = new Resources(assetManager, metrics, config); } return system; }
@Implementation public static Resources getSystem() { if (system == null) { AssetManager assetManager = AssetManager.getSystem(); DisplayMetrics metrics = new DisplayMetrics(); Configuration config = new Configuration(); system = new Resources(assetManager, metrics, config); } return system; }