// Path: easymvp-test/src/main/java/com/sixthsolution/easymvp/test/SimpleCustomViewWithDagger.java
// @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) {
//         super(context);
//         presenterId += counter;
//         component.customViewComponent().build().injectTo(this);
//     }
// 
//     @Override
//     protected void onAttachedToWindow() {
//         super.onAttachedToWindow();
//         assertNotNull(testPresenter);
//         assertTrue(testPresenter.isOnViewAttachedCalled());
//     }
// }


import com.sixthsolution.easymvp.test.SimpleCustomViewWithDagger;
import dagger.Subcomponent;
package com.sixthsolution.easymvp.test.di;



/**
 * @author Saeed Masoumi (s-masoumi@live.com)
 */
@CustomScope
@Subcomponent(modules = CustomModule.class)
public interface CustomViewComponent {

// Path: easymvp-test/src/main/java/com/sixthsolution/easymvp/test/SimpleCustomViewWithDagger.java
// @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) {
//         super(context);
//         presenterId += counter;
//         component.customViewComponent().build().injectTo(this);
//     }
// 
//     @Override
//     protected void onAttachedToWindow() {
//         super.onAttachedToWindow();
//         assertNotNull(testPresenter);
//         assertTrue(testPresenter.isOnViewAttachedCalled());
//     }
// }


// Path: easymvp-test/src/main/java/com/sixthsolution/easymvp/test/di/CustomViewComponent.java
import com.sixthsolution.easymvp.test.SimpleCustomViewWithDagger;
import dagger.Subcomponent;

package com.sixthsolution.easymvp.test.di;



/**
 * @author Saeed Masoumi (s-masoumi@live.com)
 */
@CustomScope
@Subcomponent(modules = CustomModule.class)
public interface CustomViewComponent {

    void injectTo(SimpleCustomViewWithDagger simpleCustomViewWithDagger);