// Path: EventBus/src/org/greenrobot/eventbus/Logger.java
// public interface Logger {
// 
//     void log(Level level, String msg);
// 
//     void log(Level level, String msg, Throwable th);
// 
//     class JavaLogger implements Logger {
//         protected final java.util.logging.Logger logger;
// 
//         public JavaLogger(String tag) {
//             logger = java.util.logging.Logger.getLogger(tag);
//         }
// 
//         @Override
//         public void log(Level level, String msg) {
//             // TODO Replace logged method with caller method
//             logger.log(level, msg);
//         }
// 
//         @Override
//         public void log(Level level, String msg, Throwable th) {
//             // TODO Replace logged method with caller method
//             logger.log(level, msg, th);
//         }
// 
//     }
// 
//     class SystemOutLogger implements Logger {
// 
//         @Override
//         public void log(Level level, String msg) {
//             System.out.println("[" + level + "] " + msg);
//         }
// 
//         @Override
//         public void log(Level level, String msg, Throwable th) {
//             System.out.println("[" + level + "] " + msg);
//             th.printStackTrace(System.out);
//         }
// 
//     }
// 
//     class Default {
//         public static Logger get() {
//             if (AndroidComponents.areAvailable()) {
//                 return AndroidComponents.get().logger;
//             }
// 
//             return new SystemOutLogger();
//         }
//     }
// 
// }
// 
// Path: EventBus/src/org/greenrobot/eventbus/MainThreadSupport.java
// public interface MainThreadSupport {
// 
//     boolean isMainThread();
// 
//     Poster createPoster(EventBus eventBus);
// }


import org.greenrobot.eventbus.Logger;
import org.greenrobot.eventbus.MainThreadSupport;
package org.greenrobot.eventbus.android;


public abstract class AndroidComponents {

    private static final AndroidComponents implementation;

    static {
        implementation = AndroidDependenciesDetector.isAndroidSDKAvailable()
            ? AndroidDependenciesDetector.instantiateAndroidComponents()
            : null;
    }

    public static boolean areAvailable() {
        return implementation != null;
    }

    public static AndroidComponents get() {
        return implementation;
    }

    public final Logger logger;
// Path: EventBus/src/org/greenrobot/eventbus/Logger.java
// public interface Logger {
// 
//     void log(Level level, String msg);
// 
//     void log(Level level, String msg, Throwable th);
// 
//     class JavaLogger implements Logger {
//         protected final java.util.logging.Logger logger;
// 
//         public JavaLogger(String tag) {
//             logger = java.util.logging.Logger.getLogger(tag);
//         }
// 
//         @Override
//         public void log(Level level, String msg) {
//             // TODO Replace logged method with caller method
//             logger.log(level, msg);
//         }
// 
//         @Override
//         public void log(Level level, String msg, Throwable th) {
//             // TODO Replace logged method with caller method
//             logger.log(level, msg, th);
//         }
// 
//     }
// 
//     class SystemOutLogger implements Logger {
// 
//         @Override
//         public void log(Level level, String msg) {
//             System.out.println("[" + level + "] " + msg);
//         }
// 
//         @Override
//         public void log(Level level, String msg, Throwable th) {
//             System.out.println("[" + level + "] " + msg);
//             th.printStackTrace(System.out);
//         }
// 
//     }
// 
//     class Default {
//         public static Logger get() {
//             if (AndroidComponents.areAvailable()) {
//                 return AndroidComponents.get().logger;
//             }
// 
//             return new SystemOutLogger();
//         }
//     }
// 
// }
// 
// Path: EventBus/src/org/greenrobot/eventbus/MainThreadSupport.java
// public interface MainThreadSupport {
// 
//     boolean isMainThread();
// 
//     Poster createPoster(EventBus eventBus);
// }


// Path: EventBus/src/org/greenrobot/eventbus/android/AndroidComponents.java
import org.greenrobot.eventbus.Logger;
import org.greenrobot.eventbus.MainThreadSupport;

package org.greenrobot.eventbus.android;


public abstract class AndroidComponents {

    private static final AndroidComponents implementation;

    static {
        implementation = AndroidDependenciesDetector.isAndroidSDKAvailable()
            ? AndroidDependenciesDetector.instantiateAndroidComponents()
            : null;
    }

    public static boolean areAvailable() {
        return implementation != null;
    }

    public static AndroidComponents get() {
        return implementation;
    }

    public final Logger logger;
    public final MainThreadSupport defaultMainThreadSupport;