// Path: hierarchyviewer/src/main/java/com/polidea/hierarchyviewer/Config.java
// public class Config {
// 
//     private static final int DEFAULT_PORT = 4000;
// 
//     private HashMap<Class<? extends View>, ModelInfo> convertersHashMap;
// 
//     private int port;
// 
//     private Config(Builder configBuilder) {
//         convertersHashMap = new HashMap<>();
//         for (Map.Entry<? extends Class<? extends View>, ? extends ModelInfo> entry : configBuilder.convertersHashMap.entrySet()) {
//             convertersHashMap.put(entry.getKey(), entry.getValue());
//         }
//         port = configBuilder.port;
//     }
// 
//     public HashMap<Class<? extends View>, ModelInfo> getConvertersHashMap() {
//         return convertersHashMap;
//     }
// 
//     public int getPort() {
//         return port;
//     }
// 
//     public static class Builder {
// 
//         private HashMap<Class<? extends View>, ModelInfo> convertersHashMap;
// 
//         private int port;
// 
//         public Builder() {
//             convertersHashMap = new HashMap<>();
//             port = DEFAULT_PORT;
//         }
// 
//         public Builder add(Class<? extends View> clazz, ModelInfo modelInfo) {
//             convertersHashMap.put(clazz, modelInfo);
//             return this;
//         }
// 
//         public Builder port(int port) {
//             port = port;
//             return this;
//         }
// 
//         public Config build() {
//             return new Config(this);
//         }
//     }
// }
// 
// Path: hierarchyviewer/src/main/java/com/polidea/hierarchyviewer/HierarchyViewer.java
// public class HierarchyViewer {
// 
//     private static Injector injector;
// 
//     public static Injector injector() {
//         return injector;
//     }
// 
//     public static boolean isInjector() {
//         return injector != null;
//     }
// 
//     public static void start(Context context) {
//         start(context, new Config.Builder().build());
//     }
// 
//     public static void start(Context context, Config config) {
//         if (HierarchyViewerService.isRunning()) {
//             return;
//         }
// 
//         injector = new Injector(context, config);
// 
//         context.startService(new Intent(context, HierarchyViewerService.class));
//     }
// }


import android.app.Application;
import com.polidea.hierarchyviewer.Config;
import com.polidea.hierarchyviewer.HierarchyViewer;
package com.polidea.hierarchyviewerdemo;


public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

// Path: hierarchyviewer/src/main/java/com/polidea/hierarchyviewer/Config.java
// public class Config {
// 
//     private static final int DEFAULT_PORT = 4000;
// 
//     private HashMap<Class<? extends View>, ModelInfo> convertersHashMap;
// 
//     private int port;
// 
//     private Config(Builder configBuilder) {
//         convertersHashMap = new HashMap<>();
//         for (Map.Entry<? extends Class<? extends View>, ? extends ModelInfo> entry : configBuilder.convertersHashMap.entrySet()) {
//             convertersHashMap.put(entry.getKey(), entry.getValue());
//         }
//         port = configBuilder.port;
//     }
// 
//     public HashMap<Class<? extends View>, ModelInfo> getConvertersHashMap() {
//         return convertersHashMap;
//     }
// 
//     public int getPort() {
//         return port;
//     }
// 
//     public static class Builder {
// 
//         private HashMap<Class<? extends View>, ModelInfo> convertersHashMap;
// 
//         private int port;
// 
//         public Builder() {
//             convertersHashMap = new HashMap<>();
//             port = DEFAULT_PORT;
//         }
// 
//         public Builder add(Class<? extends View> clazz, ModelInfo modelInfo) {
//             convertersHashMap.put(clazz, modelInfo);
//             return this;
//         }
// 
//         public Builder port(int port) {
//             port = port;
//             return this;
//         }
// 
//         public Config build() {
//             return new Config(this);
//         }
//     }
// }
// 
// Path: hierarchyviewer/src/main/java/com/polidea/hierarchyviewer/HierarchyViewer.java
// public class HierarchyViewer {
// 
//     private static Injector injector;
// 
//     public static Injector injector() {
//         return injector;
//     }
// 
//     public static boolean isInjector() {
//         return injector != null;
//     }
// 
//     public static void start(Context context) {
//         start(context, new Config.Builder().build());
//     }
// 
//     public static void start(Context context, Config config) {
//         if (HierarchyViewerService.isRunning()) {
//             return;
//         }
// 
//         injector = new Injector(context, config);
// 
//         context.startService(new Intent(context, HierarchyViewerService.class));
//     }
// }


// Path: example/src/main/java/com/polidea/hierarchyviewerdemo/MyApplication.java
import android.app.Application;
import com.polidea.hierarchyviewer.Config;
import com.polidea.hierarchyviewer.HierarchyViewer;

package com.polidea.hierarchyviewerdemo;


public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        Config config = new Config.Builder()