// Path: app/src/main/java/com/mortarnav/stackable/HomeStackable.java
// @Parcel(parcelsIndex = false)
// public class HomeStackable implements StackablePath {
// 
//     String name;
// 
//     @ParcelConstructor
//     public HomeStackable(String name) {
//         this.name = name;
//     }
// 
//     @Override
//     public View createView(Context context, ViewGroup parent) {
//         return new HomeView(context);
//     }
// 
//     @Override
//     public void configureScope(MortarScope.Builder builder, MortarScope parentScope) {
//         builder.withService(DaggerService.SERVICE_NAME, DaggerHomeStackable_Component.builder()
//                 .mainActivityComponent(parentScope.<MainActivityComponent>getService(DaggerService.SERVICE_NAME))
//                 .module(new Module())
//                 .build());
//     }
// 
//     @dagger.Module
//     public class Module {
// 
//         @Provides
//         @DaggerScope(Component.class)
//         public HomePresenter providesPresenter() {
//             return new HomePresenter(name);
//         }
//     }
// 
//     @dagger.Component(dependencies = MainActivityComponent.class, modules = Module.class)
//     @DaggerScope(Component.class)
//     public interface Component extends WithActivityDependencies {
// 
//         void inject(HomeView view);
// 
//         void inject(HomeAdditionalCustomView view);
//     }
// }
// 
// Path: app/src/main/java/com/mortarnav/view/HomeNestedView.java
// @AutoInjector(HomeNestedPresenter.class)
// public class HomeNestedView extends StackedLinearLayout<HomeNestedPresenter> {
// 
//     @Bind(R.id.home_sub_random)
//     public TextView randomTextView;
// 
//     public HomeNestedView(Context context, AttributeSet attrs) {
//         super(context, attrs);
//     }
// 
//     @Override
//     public Stackable getStackable() {
//         return new HomeNestedStackable();
//     }
// 
// 
//     @Override
//     public void initWithContext(Context context) {
//         DaggerService.<HomeNestedStackableComponent>get(context).inject(this);
// 
//         View view = View.inflate(context, R.layout.home_subcontent_view, this);
//         ButterKnife.bind(view);
//     }
// 
//     @OnClick
//     void click() {
//         presenter.click();
//     }
// }


import android.os.Bundle;
import com.mortarnav.DaggerScope;
import com.mortarnav.stackable.HomeStackable;
import com.mortarnav.view.HomeNestedView;
import java.util.Random;
import javax.inject.Inject;
import architect.robot.AutoStackable;
import autodagger.AutoComponent;
import mortar.ViewPresenter;
import timber.log.Timber;
package com.mortarnav.presenter;






/**
 * @author Lukasz Piliszczuk - lukasz.pili@gmail.com
 */
@AutoStackable(
        component = @AutoComponent(dependencies = HomeStackable.Component.class)
)
@DaggerScope(HomeNestedPresenter.class)
// Path: app/src/main/java/com/mortarnav/stackable/HomeStackable.java
// @Parcel(parcelsIndex = false)
// public class HomeStackable implements StackablePath {
// 
//     String name;
// 
//     @ParcelConstructor
//     public HomeStackable(String name) {
//         this.name = name;
//     }
// 
//     @Override
//     public View createView(Context context, ViewGroup parent) {
//         return new HomeView(context);
//     }
// 
//     @Override
//     public void configureScope(MortarScope.Builder builder, MortarScope parentScope) {
//         builder.withService(DaggerService.SERVICE_NAME, DaggerHomeStackable_Component.builder()
//                 .mainActivityComponent(parentScope.<MainActivityComponent>getService(DaggerService.SERVICE_NAME))
//                 .module(new Module())
//                 .build());
//     }
// 
//     @dagger.Module
//     public class Module {
// 
//         @Provides
//         @DaggerScope(Component.class)
//         public HomePresenter providesPresenter() {
//             return new HomePresenter(name);
//         }
//     }
// 
//     @dagger.Component(dependencies = MainActivityComponent.class, modules = Module.class)
//     @DaggerScope(Component.class)
//     public interface Component extends WithActivityDependencies {
// 
//         void inject(HomeView view);
// 
//         void inject(HomeAdditionalCustomView view);
//     }
// }
// 
// Path: app/src/main/java/com/mortarnav/view/HomeNestedView.java
// @AutoInjector(HomeNestedPresenter.class)
// public class HomeNestedView extends StackedLinearLayout<HomeNestedPresenter> {
// 
//     @Bind(R.id.home_sub_random)
//     public TextView randomTextView;
// 
//     public HomeNestedView(Context context, AttributeSet attrs) {
//         super(context, attrs);
//     }
// 
//     @Override
//     public Stackable getStackable() {
//         return new HomeNestedStackable();
//     }
// 
// 
//     @Override
//     public void initWithContext(Context context) {
//         DaggerService.<HomeNestedStackableComponent>get(context).inject(this);
// 
//         View view = View.inflate(context, R.layout.home_subcontent_view, this);
//         ButterKnife.bind(view);
//     }
// 
//     @OnClick
//     void click() {
//         presenter.click();
//     }
// }


// Path: app/src/main/java/com/mortarnav/presenter/HomeNestedPresenter.java
import android.os.Bundle;
import com.mortarnav.DaggerScope;
import com.mortarnav.stackable.HomeStackable;
import com.mortarnav.view.HomeNestedView;
import java.util.Random;
import javax.inject.Inject;
import architect.robot.AutoStackable;
import autodagger.AutoComponent;
import mortar.ViewPresenter;
import timber.log.Timber;

package com.mortarnav.presenter;






/**
 * @author Lukasz Piliszczuk - lukasz.pili@gmail.com
 */
@AutoStackable(
        component = @AutoComponent(dependencies = HomeStackable.Component.class)
)
@DaggerScope(HomeNestedPresenter.class)
public class HomeNestedPresenter extends ViewPresenter<HomeNestedView> {