// Path: src/com/thoughtworks/calabash/android/CalabashLogger.java
// public static void info(Object message) {
//     if (shouldLog && isNotEmpty(message)) {
//         log.info(message);
//     }
// }


import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.exception.ZipException;
import java.io.*;
import java.net.URL;
import java.util.Enumeration;
import java.util.jar.Attributes;
import java.util.jar.Manifest;
import static com.thoughtworks.calabash.android.CalabashLogger.info;
     *
     * @return the calabashWrapper
     */
    protected CalabashWrapper getCalabashWrapper() {
        return calabashWrapper;
    }

    /**
     * generate the instrumentation test server apk, resign the application with debug keystore
     *
     * @throws CalabashException
     */
    public void setup() throws CalabashException {
        try {
            calabashWrapper.setup();
        } catch (Exception e) {
            String errorMessage = "calabash android setup failed: " + e.getMessage();
            CalabashLogger.error(errorMessage, e);
            throw new CalabashException(errorMessage, e);
        }
    }

    /**
     * install the signed apk and test server apk
     *
     * @return handle to the android application
     * @throws CalabashException
     */
    public AndroidApplication start() throws CalabashException {
        if (!alreadySetup()) {
// Path: src/com/thoughtworks/calabash/android/CalabashLogger.java
// public static void info(Object message) {
//     if (shouldLog && isNotEmpty(message)) {
//         log.info(message);
//     }
// }


// Path: src/com/thoughtworks/calabash/android/AndroidRunner.java
import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.exception.ZipException;
import java.io.*;
import java.net.URL;
import java.util.Enumeration;
import java.util.jar.Attributes;
import java.util.jar.Manifest;
import static com.thoughtworks.calabash.android.CalabashLogger.info;

     *
     * @return the calabashWrapper
     */
    protected CalabashWrapper getCalabashWrapper() {
        return calabashWrapper;
    }

    /**
     * generate the instrumentation test server apk, resign the application with debug keystore
     *
     * @throws CalabashException
     */
    public void setup() throws CalabashException {
        try {
            calabashWrapper.setup();
        } catch (Exception e) {
            String errorMessage = "calabash android setup failed: " + e.getMessage();
            CalabashLogger.error(errorMessage, e);
            throw new CalabashException(errorMessage, e);
        }
    }

    /**
     * install the signed apk and test server apk
     *
     * @return handle to the android application
     * @throws CalabashException
     */
    public AndroidApplication start() throws CalabashException {
        if (!alreadySetup()) {
            CalabashLogger.info("Application not setup. Performing setup...");