// Path: buruberi-example/src/main/java/is/hello/buruberi/example/modules/AppModule.java
// @Module(complete = false,
//         includes = {
//                 BluetoothModule.class,
//         },
//         injects = {
//                 ScanActivity.class,
//                 PeripheralActivity.class,
//         })
// public class AppModule {
// }
// 
// Path: buruberi-example/src/main/java/is/hello/buruberi/example/modules/BluetoothModule.java
// @Module(complete = false,
//         injects = {
//                 ScanPresenter.class,
//                 PeripheralPresenter.class,
//         })
// public class BluetoothModule {
//     private final Context context;
// 
//     public BluetoothModule(@NonNull Context context) {
//         this.context = context;
//     }
// 
//     @Singleton @Provides LoggerFacade provideLoggerFacade() {
//         return new LoggerFacade() {
//             @Override
//             public void error(@NonNull String tag, @Nullable String message, @Nullable Throwable e) {
//                 Log.e(tag, message, e);
//             }
// 
//             @Override
//             public void warn(@NonNull String tag, @Nullable String message, @Nullable Throwable e) {
//                 Log.w(tag, message, e);
//             }
// 
//             @Override
//             public void warn(@NonNull String tag, @Nullable String message) {
//                 Log.w(tag, message);
//             }
// 
//             @Override
//             public void info(@NonNull String tag, @Nullable String message) {
//                 Log.i(tag, message);
//             }
// 
//             @Override
//             public void debug(@NonNull String tag, @Nullable String message) {
//                 Log.d(tag, message);
//             }
//         };
//     }
// 
//     @Singleton @Provides BluetoothStack provideBluetoothStack(@NonNull LoggerFacade logger) {
//         return new Buruberi()
//                 .setApplicationContext(context)
//                 .setLoggerFacade(logger)
//                 .build();
//     }
// }
// 
// Path: buruberi-example/src/main/java/is/hello/buruberi/example/modules/Injector.java
// public interface Injector {
//     <T> void inject(@NonNull T target);
// }


import android.app.Application;
import android.support.annotation.NonNull;
import dagger.ObjectGraph;
import is.hello.buruberi.example.modules.AppModule;
import is.hello.buruberi.example.modules.BluetoothModule;
import is.hello.buruberi.example.modules.Injector;
package is.hello.buruberi.example;



public class ExampleApplication extends Application implements Injector {
    private ObjectGraph objectGraph;

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

// Path: buruberi-example/src/main/java/is/hello/buruberi/example/modules/AppModule.java
// @Module(complete = false,
//         includes = {
//                 BluetoothModule.class,
//         },
//         injects = {
//                 ScanActivity.class,
//                 PeripheralActivity.class,
//         })
// public class AppModule {
// }
// 
// Path: buruberi-example/src/main/java/is/hello/buruberi/example/modules/BluetoothModule.java
// @Module(complete = false,
//         injects = {
//                 ScanPresenter.class,
//                 PeripheralPresenter.class,
//         })
// public class BluetoothModule {
//     private final Context context;
// 
//     public BluetoothModule(@NonNull Context context) {
//         this.context = context;
//     }
// 
//     @Singleton @Provides LoggerFacade provideLoggerFacade() {
//         return new LoggerFacade() {
//             @Override
//             public void error(@NonNull String tag, @Nullable String message, @Nullable Throwable e) {
//                 Log.e(tag, message, e);
//             }
// 
//             @Override
//             public void warn(@NonNull String tag, @Nullable String message, @Nullable Throwable e) {
//                 Log.w(tag, message, e);
//             }
// 
//             @Override
//             public void warn(@NonNull String tag, @Nullable String message) {
//                 Log.w(tag, message);
//             }
// 
//             @Override
//             public void info(@NonNull String tag, @Nullable String message) {
//                 Log.i(tag, message);
//             }
// 
//             @Override
//             public void debug(@NonNull String tag, @Nullable String message) {
//                 Log.d(tag, message);
//             }
//         };
//     }
// 
//     @Singleton @Provides BluetoothStack provideBluetoothStack(@NonNull LoggerFacade logger) {
//         return new Buruberi()
//                 .setApplicationContext(context)
//                 .setLoggerFacade(logger)
//                 .build();
//     }
// }
// 
// Path: buruberi-example/src/main/java/is/hello/buruberi/example/modules/Injector.java
// public interface Injector {
//     <T> void inject(@NonNull T target);
// }


// Path: buruberi-example/src/main/java/is/hello/buruberi/example/ExampleApplication.java
import android.app.Application;
import android.support.annotation.NonNull;
import dagger.ObjectGraph;
import is.hello.buruberi.example.modules.AppModule;
import is.hello.buruberi.example.modules.BluetoothModule;
import is.hello.buruberi.example.modules.Injector;

package is.hello.buruberi.example;



public class ExampleApplication extends Application implements Injector {
    private ObjectGraph objectGraph;

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

        this.objectGraph = ObjectGraph.create(new BluetoothModule(getBaseContext()),