package com.mateuszkoslacz.moviper.base.view.viewholder.autoinject;

import com.mateuszkoslacz.moviper.base.view.viewholder.ViperViewHolder;
import com.mateuszkoslacz.moviper.iface.presenter.ViperPresenter;
import com.mateuszkoslacz.moviper.iface.view.MvpDataView;

/**
 * Created by bwilk on 1/11/17.
 */

public abstract class ViperAiViewHolder
        <DataObject,
                View extends MvpDataView,
                Presenter extends ViperPresenter<View>>
        extends ViperViewHolder<DataObject, View, Presenter> {

    public ViperAiViewHolder(android.view.View itemView) {
        super(itemView);
        injectViews(itemView);
    }

    abstract protected void injectViews(android.view.View itemView);
}

@@ -62,16 +62,95 @@
 nject;%0A%0A
+import android.support.v7.widget.RecyclerView;%0Aimport android.view.ViewGroup;%0A%0A
 import c
@@ -209,24 +209,24 @@
 ViewHolder;%0A
-
 import com.m
@@ -732,71 +732,680 @@
     
-abstract protected void injectViews(android.view.View itemView);
+@Override%0A    public void setDataObject(DataObject dataObject) %7B%0A        super.setDataObject(dataObject);%0A        bindViews();%0A    %7D%0A%0A    /**%0A     * It's called only once, on ViewHolder creation (%7B@link RecyclerView.Adapter#onCreateViewHolder(ViewGroup,%0A     * int)%7D. Inject view references and other reusable components here.%0A     */%0A    protected void injectViews(android.view.View itemView) %7B%0A        // stub%0A    %7D%0A%0A    /**%0A     * It's called multiple times, on ViewHolder binding (%7B@link RecyclerView.Adapter#onBindViewHolder(RecyclerView.ViewHolder,%0A     * int)%7D%7D. Bind data from DataObject to views here.%0A     */%0A    protected void bindViews() %7B%0A        // stub%0A    %7D
 %0A%7D%0A

add bindViews method