Beispiel #1
0
 /**
  * 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;
     }
 }
Beispiel #2
0
        /**
         * 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)));
        }
Beispiel #3
0
        /**
         * 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();
        }