FileTypedResource(Path path, ResType resType, XmlContext xmlContext) { super(Fs.externalize(path), resType, xmlContext); this.path = path; }
public String8(Path value) { this(Fs.externalize(value)); }
/** @deprecated use {@link Fs#externalize(Path)} instead. */ @Deprecated default String getPath() { return Fs.externalize(this); }
public boolean addDefaultAssets(Path systemAssetsPath) { return addDefaultAssets(Fs.externalize(systemAssetsPath)); }
public static Asset newFileAsset(FileTypedResource fileTypedResource) throws IOException { _FileAsset fileAsset = new _FileAsset(); Path path = fileTypedResource.getPath(); fileAsset.mFileName = Fs.externalize(path); fileAsset.mLength = Files.size(path); fileAsset.mBuf = Fs.getBytes(path); return fileAsset; }
/** Parses an AndroidManifest.xml file using the framework PackageParser. */ public static Package callParsePackage(Path apkFile) { PackageParser packageParser = new PackageParser(); int flags = PackageParser.PARSE_IGNORE_PROCESSES; try { Package thePackage; if (RuntimeEnvironment.getApiLevel() >= Build.VERSION_CODES.LOLLIPOP) { thePackage = packageParser.parsePackage(apkFile.toFile(), flags); } else { // JB -> KK thePackage = reflector(_PackageParser_.class, packageParser) .parsePackage( apkFile.toFile(), Fs.externalize(apkFile), new DisplayMetrics(), flags); } if (thePackage == null) { List<LogItem> logItems = ShadowLog.getLogsForTag("PackageParser"); if (logItems.isEmpty()) { throw new RuntimeException( "Failed to parse package " + apkFile); } else { LogItem logItem = logItems.get(0); throw new RuntimeException( "Failed to parse package " + apkFile + ": " + logItem.msg, logItem.throwable); } } return thePackage; } catch (Exception e) { throw new RuntimeException(e); } }
private void populateAssetPaths(AssetManager assetManager, AndroidManifest appManifest) { for (AndroidManifest manifest : appManifest.getAllManifests()) { if (manifest.getAssetsDirectory() != null) { assetManager.addAssetPath(Fs.externalize(manifest.getAssetsDirectory())); } } }