/** * The locale preferred. Will cause getManifestXml / getApkMeta to return different values. * The default value is from os default locale setting. */ public void setPreferredLocale(CultureInfo passedLocale) { if (!Equals(this.preferredLocale, preferredLocale)) { this.preferredLocale = passedLocale; this.manifestXml = null; this.apkMeta = null; } }
/** * get the apk icon file as bytes. * * @return the apk icon data,null if icon not found * @throws IOException */ public async Task <Icon> getIconFile() { ApkMeta apkMeta = await getApkMeta(); string iconPath = apkMeta.getIcon(); if (iconPath == null) { return(null); } return(new Icon(iconPath, await getFileData(iconPath))); }
/** * parse manifest.xml, get manifestXml as xml text. * * @throws IOException */ private async Task parseManifestXml() { XmlTranslator xmlTranslator = new XmlTranslator(); ApkMetaTranslator translator = new ApkMetaTranslator(); XmlStreamer xmlStreamer = new CompositeXmlStreamer(xmlTranslator, translator); byte[] data = await getFileData(AndroidConstants.MANIFEST_FILE); if (data == null) { throw new ParserException("Manifest file not found"); } await transBinaryXml(data, xmlStreamer); this.manifestXml = xmlTranslator.getXml(); this.apkMeta = translator.getApkMeta(); }