// Path: easymvp-test/src/main/java/com/sixthsolution/easymvp/test/AppCompatActivityWithMultiViewsWithDagger.java
// @ActivityView(presenter = TestPresenter.class, layout = R.layout.activity_multi_views)
// public class AppCompatActivityWithMultiViewsWithDagger extends AppCompatActivity implements View1 {
// 
//     @Presenter
//     TestPresenter testPresenter;
// 
//     @BindView(R.id.container)
//     LinearLayout container;
// 
//     @Override
//     protected void onCreate(@Nullable Bundle savedInstanceState) {
//         ActivityComponent component =
//                 DaggerActivityComponent.builder().build();
//         component.injectTo(this);
//         super.onCreate(savedInstanceState);
//         ButterKnife.bind(this);
//         assertNotNull(container);
//         for (int i = 0; i < 10; i++) {
//             View view = new SimpleCustomViewWithDagger(this, i, component);
//             container.addView(view);
//         }
//     }
// 
// 
//     @Override
//     protected void onPause() {
//         super.onPause();
//         Set<Integer> ids = new HashSet<>();
//         for (int i = 0; i < container.getChildCount(); i++) {
//             SimpleCustomViewWithDagger childView =
//                     (SimpleCustomViewWithDagger) container.getChildAt(i);
//             ids.add(childView.testPresenter.count);
//         }
//         assertThat(ids.size(), is(10));
//         Set<TestPresenter> presenters = new HashSet<>();
//         for (int i = 0; i < container.getChildCount(); i++) {
//             SimpleCustomViewWithDagger childView =
//                     (SimpleCustomViewWithDagger) container.getChildAt(i);
//             presenters.add(childView.testPresenter);
//         }
//         assertThat(presenters.size(), is(10));
//     }
// 
//     @Override
//     protected void onStart() {
//         super.onStart();
//         assertNotNull(testPresenter);
//         assertTrue(testPresenter.isOnViewAttachedCalled());
//     }
// 
//     @Override
//     protected void onStop() {
//         super.onStop();
//         assertTrue(testPresenter.isOnViewDetachedCalled());
//         assertFalse(testPresenter.isViewAttached());
//     }
// 
//     @Override
//     protected void onDestroy() {
//         super.onDestroy();
//         assertNull(testPresenter);
//     }
// }


import com.sixthsolution.easymvp.test.AppCompatActivityWithMultiViewsWithDagger;
import javax.inject.Singleton;
import dagger.Component;
package com.sixthsolution.easymvp.test.di;




/**
 * @author Saeed Masoumi (s-masoumi@live.com)
 */
@Singleton
@Component
public interface ActivityComponent {

    CustomViewComponent.Builder customViewComponent();

// Path: easymvp-test/src/main/java/com/sixthsolution/easymvp/test/AppCompatActivityWithMultiViewsWithDagger.java
// @ActivityView(presenter = TestPresenter.class, layout = R.layout.activity_multi_views)
// public class AppCompatActivityWithMultiViewsWithDagger extends AppCompatActivity implements View1 {
// 
//     @Presenter
//     TestPresenter testPresenter;
// 
//     @BindView(R.id.container)
//     LinearLayout container;
// 
//     @Override
//     protected void onCreate(@Nullable Bundle savedInstanceState) {
//         ActivityComponent component =
//                 DaggerActivityComponent.builder().build();
//         component.injectTo(this);
//         super.onCreate(savedInstanceState);
//         ButterKnife.bind(this);
//         assertNotNull(container);
//         for (int i = 0; i < 10; i++) {
//             View view = new SimpleCustomViewWithDagger(this, i, component);
//             container.addView(view);
//         }
//     }
// 
// 
//     @Override
//     protected void onPause() {
//         super.onPause();
//         Set<Integer> ids = new HashSet<>();
//         for (int i = 0; i < container.getChildCount(); i++) {
//             SimpleCustomViewWithDagger childView =
//                     (SimpleCustomViewWithDagger) container.getChildAt(i);
//             ids.add(childView.testPresenter.count);
//         }
//         assertThat(ids.size(), is(10));
//         Set<TestPresenter> presenters = new HashSet<>();
//         for (int i = 0; i < container.getChildCount(); i++) {
//             SimpleCustomViewWithDagger childView =
//                     (SimpleCustomViewWithDagger) container.getChildAt(i);
//             presenters.add(childView.testPresenter);
//         }
//         assertThat(presenters.size(), is(10));
//     }
// 
//     @Override
//     protected void onStart() {
//         super.onStart();
//         assertNotNull(testPresenter);
//         assertTrue(testPresenter.isOnViewAttachedCalled());
//     }
// 
//     @Override
//     protected void onStop() {
//         super.onStop();
//         assertTrue(testPresenter.isOnViewDetachedCalled());
//         assertFalse(testPresenter.isViewAttached());
//     }
// 
//     @Override
//     protected void onDestroy() {
//         super.onDestroy();
//         assertNull(testPresenter);
//     }
// }


// Path: easymvp-test/src/main/java/com/sixthsolution/easymvp/test/di/ActivityComponent.java
import com.sixthsolution.easymvp.test.AppCompatActivityWithMultiViewsWithDagger;
import javax.inject.Singleton;
import dagger.Component;

package com.sixthsolution.easymvp.test.di;




/**
 * @author Saeed Masoumi (s-masoumi@live.com)
 */
@Singleton
@Component
public interface ActivityComponent {

    CustomViewComponent.Builder customViewComponent();

    void injectTo(AppCompatActivityWithMultiViewsWithDagger activity);