@Override protected void loadResourceXmlFile(XmlContext xmlContext) { resourceTable.addResource( type, Fs.baseNameFor(xmlContext.getXmlFile()), new FileTypedResource(xmlContext.getXmlFile(), resType, xmlContext)); } }.load(type);
@Override public XmlBlock getXml(ResName resName, ResTable_config config) { FileTypedResource fileTypedResource = getFileResource(resName, config); if (fileTypedResource == null || !fileTypedResource.isXml()) { return null; } else { return XmlBlock.create(fileTypedResource.getPath(), resName.packageName); } }
public InputStream getRawValue(ResName resName, String qualifiers) { FileTypedResource typedResource = (FileTypedResource) resources.get(resName, qualifiers); FsFile file = typedResource == null ? null : typedResource.getFsFile(); try { return file == null ? null : file.getInputStream(); } catch (IOException e) { throw new RuntimeException(e); } }
public XmlBlock getXml(ResName resName, String qualifiers) { FileTypedResource typedResource = (FileTypedResource) resources.get(resName, qualifiers); if (typedResource == null || !typedResource.isXml()) { return null; } else { return XmlBlock.create(typedResource.getFsFile(), resName.packageName); } }
@Override public InputStream getRawValue(ResName resName, ResTable_config config) { FileTypedResource fileTypedResource = getFileResource(resName, config); if (fileTypedResource == null) { return null; } else { Path file = fileTypedResource.getPath(); try { return file == null ? null : Fs.getInputStream(file); } catch (IOException e) { throw new RuntimeException(e); } } }
@Override public InputStream getRawValue(ResName resName, ResTable_config config) { FileTypedResource fileTypedResource = getFileResource(resName, config); if (fileTypedResource == null) { return null; } else { FsFile file = fileTypedResource.getFsFile(); try { return file == null ? null : file.getInputStream(); } catch (IOException e) { throw new RuntimeException(e); } } }
@Override public XmlBlock getXml(ResName resName, ResTable_config config) { FileTypedResource fileTypedResource = getFileResource(resName, config); if (fileTypedResource == null || !fileTypedResource.isXml()) { return null; } else { return XmlBlock.create(fileTypedResource.getFsFile(), resName.packageName); } }
private Converter getConverter(TypedResource value) { if (value instanceof FileTypedResource.Image || (value instanceof FileTypedResource && ((FileTypedResource) value).getPath().getFileName().toString().endsWith(".xml"))) { return new Converter.FromFilePath(); } return Converter.getConverter(value.getResType()); }
@HiddenApi @Implementation public final InputStream openNonAsset(int cookie, String fileName, int accessMode) throws IOException { final ResName resName = qualifyFromNonAssetFileName(fileName); final FileTypedResource typedResource = (FileTypedResource) resourceTable.getValue(resName, RuntimeEnvironment.getQualifiers()); if (typedResource == null) { throw new IOException("Unable to find resource for " + fileName); } if (accessMode == AssetManager.ACCESS_STREAMING) { return typedResource.getFsFile().getInputStream(); } else { return new ByteArrayInputStream(typedResource.getFsFile().getBytes()); } }
private void loadRawFiles(PackageResourceTable resourceTable, String resourceType, Path rawDir) throws IOException { Qualifiers qualifiers; try { qualifiers = Qualifiers.fromParentDir(rawDir); } catch (IllegalArgumentException e) { Logger.warn(rawDir + ": " + e.getMessage()); return; } for (Path file : Fs.listFiles(rawDir)) { String fileBaseName = Fs.baseNameFor(file); resourceTable.addResource( resourceType, fileBaseName, new FileTypedResource( file, ResType.FILE, new XmlContext(resourceTable.getPackageName(), file, qualifiers))); } } }
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; }
@HiddenApi @Implementation public final InputStream openNonAsset(int cookie, String fileName, int accessMode) throws IOException { final ResName resName = qualifyFromNonAssetFileName(fileName); final FileTypedResource typedResource = (FileTypedResource) resourceLoader.getValue(resName, RuntimeEnvironment.getQualifiers()); if (typedResource == null) { throw new IOException("Unable to find resource for " + fileName); } if (accessMode == AssetManager.ACCESS_STREAMING) { return typedResource.getFsFile().getInputStream(); } else { return new ByteArrayInputStream(typedResource.getFsFile().getBytes()); } }
@Override protected void loadResourceXmlFile(XmlContext xmlContext) { resourceTable.addResource(type, xmlContext.getXmlFile().getBaseName(), new FileTypedResource(xmlContext.getXmlFile(), resType, xmlContext)); } }.load(type);
@HiddenApi @Implementation public final InputStream openNonAsset(int cookie, String fileName, int accessMode) throws IOException { final ResName resName = qualifyFromNonAssetFileName(fileName); final FileTypedResource typedResource = (FileTypedResource) resourceTable.getValue(resName, config); if (typedResource == null) { throw new IOException("Unable to find resource for " + fileName); } InputStream stream; if (accessMode == AssetManager.ACCESS_STREAMING) { stream = Fs.getInputStream(typedResource.getPath()); } else { stream = new ByteArrayInputStream(Fs.getBytes(typedResource.getPath())); } if (RuntimeEnvironment.getApiLevel() >= P) { Asset asset = Asset.newFileAsset(typedResource); long assetPtr = Registries.NATIVE_ASSET_REGISTRY.register(asset); // Camouflage the InputStream as an AssetInputStream so subsequent instanceof checks pass. stream = ShadowAssetInputStream.createAssetInputStream(stream, assetPtr, realObject); } return stream; }
private Converter getConverter(TypedResource value) { if (value instanceof FileTypedResource.Image || (value instanceof FileTypedResource && ((FileTypedResource) value).getFsFile().getName().endsWith(".xml"))) { return new Converter.FromFilePath(); } return Converter.getConverter(value.getResType()); }
@Override protected void loadResourceXmlFile(XmlContext xmlContext) { resourceTable.addResource(type, xmlContext.getXmlFile().getBaseName(), new FileTypedResource(xmlContext.getXmlFile(), resType, xmlContext)); } }.load(type);
@HiddenApi @Implementation public final InputStream openNonAsset(int cookie, String fileName, int accessMode) throws IOException { final ResName resName = qualifyFromNonAssetFileName(fileName); final FileTypedResource typedResource = (FileTypedResource) resourceTable.getValue(resName, RuntimeEnvironment.getQualifiers()); if (typedResource == null) { throw new IOException("Unable to find resource for " + fileName); } if (accessMode == AssetManager.ACCESS_STREAMING) { return typedResource.getFsFile().getInputStream(); } else { return new ByteArrayInputStream(typedResource.getFsFile().getBytes()); } }
private void loadRawFiles(PackageResourceTable resourceTable, String resourceType, FsFile rawDir) { FsFile[] files = rawDir.listFiles(); if (files != null) { for (FsFile file : files) { String fileBaseName = file.getBaseName(); resourceTable.addResource(resourceType, fileBaseName, new FileTypedResource(file, ResType.FILE, new XmlContext(resourceTable.getPackageName(), file))); } } } }
private Converter getConverter(TypedResource value) { if (value instanceof FileTypedResource.Image || (value instanceof FileTypedResource && ((FileTypedResource) value).getFsFile().getName().endsWith(".xml"))) { return new Converter.FromFilePath(); } return Converter.getConverter(value.getResType()); }
private void loadRawFiles(PackageResourceTable resourceTable, String resourceType, FsFile rawDir) { FsFile[] files = rawDir.listFiles(); if (files != null) { Qualifiers qualifiers; try { qualifiers = Qualifiers.fromParentDir(rawDir); } catch (IllegalArgumentException e) { Logger.warn(rawDir + ": " + e.getMessage()); return; } for (FsFile file : files) { String fileBaseName = file.getBaseName(); resourceTable.addResource(resourceType, fileBaseName, new FileTypedResource(file, ResType.FILE, new XmlContext(resourceTable.getPackageName(), file, qualifiers))); } } } }