package io.appium.apktools;

import brut.androlib.res.AndrolibResources;
import brut.androlib.res.data.ResTable;
import brut.androlib.res.util.ExtFile;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import java.io.File;


public class AndroidManifestActivityHelper {

    final static AndrolibResources res = new AndrolibResources();

    public static String getLaunchableActivityName(final String xmlFilePath) throws Exception {
     SAXParserFactory factory = SAXParserFactory.newInstance();
     SAXParser saxParser = factory.newSAXParser();
     final CustomHandler handler = new CustomHandler();
     saxParser.parse(xmlFilePath, handler);
     return handler.getLauncherActivity();
    }

    public static void decodeManifestXML(final File input, final File outputDirectory) throws Exception {
     final ExtFile apkFile = new ExtFile(input);
     ResTable table = res.getResTable(apkFile, true);
     res.decodeManifest(table, apkFile, outputDirectory);
    }
}