// Path: easymvp-test/src/main/java/com/sixthsolution/easymvp/test/di/ActivityComponent.java
// @Singleton
// @Component
// public interface ActivityComponent {
// 
//     CustomViewComponent.Builder customViewComponent();
// 
//     void injectTo(AppCompatActivityWithMultiViewsWithDagger activity);
// }
// 
// Path: easymvp-test/src/main/java/com/sixthsolution/easymvp/test/di/CustomViewComponent.java
// @CustomScope
// @Subcomponent(modules = CustomModule.class)
// public interface CustomViewComponent {
// 
//     void injectTo(SimpleCustomViewWithDagger simpleCustomViewWithDagger);
// 
//     @Subcomponent.Builder
//     interface Builder {
//         CustomViewComponent build();
//     }
// }


import android.content.Context;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.View;
import com.sixthsolution.easymvp.test.di.ActivityComponent;
import com.sixthsolution.easymvp.test.di.CustomViewComponent;
import javax.inject.Inject;
import easymvp.annotation.CustomView;
import easymvp.annotation.Presenter;
import easymvp.annotation.PresenterId;
import static junit.framework.Assert.assertNotNull;
import static junit.framework.Assert.assertTrue;
package com.sixthsolution.easymvp.test;






/**
 * @author Saeed Masoumi (saeed@6thsolution.com)
 */
@CustomView(presenter = TestPresenter.class)
public class SimpleCustomViewWithDagger extends View implements View1 {

    @Inject
    @Presenter
    TestPresenter testPresenter;

    @PresenterId
    int presenterId = 1_000;


    public SimpleCustomViewWithDagger(Context context) {
        super(context);
    }

    public SimpleCustomViewWithDagger(Context context,
                                      @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    public SimpleCustomViewWithDagger(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

// Path: easymvp-test/src/main/java/com/sixthsolution/easymvp/test/di/ActivityComponent.java
// @Singleton
// @Component
// public interface ActivityComponent {
// 
//     CustomViewComponent.Builder customViewComponent();
// 
//     void injectTo(AppCompatActivityWithMultiViewsWithDagger activity);
// }
// 
// Path: easymvp-test/src/main/java/com/sixthsolution/easymvp/test/di/CustomViewComponent.java
// @CustomScope
// @Subcomponent(modules = CustomModule.class)
// public interface CustomViewComponent {
// 
//     void injectTo(SimpleCustomViewWithDagger simpleCustomViewWithDagger);
// 
//     @Subcomponent.Builder
//     interface Builder {
//         CustomViewComponent build();
//     }
// }


// Path: easymvp-test/src/main/java/com/sixthsolution/easymvp/test/SimpleCustomViewWithDagger.java
import android.content.Context;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.View;
import com.sixthsolution.easymvp.test.di.ActivityComponent;
import com.sixthsolution.easymvp.test.di.CustomViewComponent;
import javax.inject.Inject;
import easymvp.annotation.CustomView;
import easymvp.annotation.Presenter;
import easymvp.annotation.PresenterId;
import static junit.framework.Assert.assertNotNull;
import static junit.framework.Assert.assertTrue;

package com.sixthsolution.easymvp.test;






/**
 * @author Saeed Masoumi (saeed@6thsolution.com)
 */
@CustomView(presenter = TestPresenter.class)
public class SimpleCustomViewWithDagger extends View implements View1 {

    @Inject
    @Presenter
    TestPresenter testPresenter;

    @PresenterId
    int presenterId = 1_000;


    public SimpleCustomViewWithDagger(Context context) {
        super(context);
    }

    public SimpleCustomViewWithDagger(Context context,
                                      @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    public SimpleCustomViewWithDagger(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    public SimpleCustomViewWithDagger(Context context, int counter, ActivityComponent component) {