// Path: app/src/main/java/com/ge/protein/ui/epoxy/BaseEpoxyHolder.java
// public abstract class BaseEpoxyHolder extends EpoxyHolder {
//     @CallSuper
//     @Override
//     protected void bindView(View itemView) {
//         ButterKnife.bind(this, itemView);
//     }
// }


import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.view.View;
import android.view.animation.AccelerateDecelerateInterpolator;
import com.airbnb.epoxy.EpoxyModelClass;
import com.airbnb.epoxy.EpoxyModelWithHolder;
import com.ge.protein.R;
import com.ge.protein.ui.epoxy.BaseEpoxyHolder;
import butterknife.BindView;
            ObjectAnimator innerXAnimator = ObjectAnimator.ofFloat(holder.inner, "scaleX", 1.33f);
            innerXAnimator.setRepeatCount(ValueAnimator.INFINITE);
            innerXAnimator.setRepeatMode(ValueAnimator.REVERSE);

            ObjectAnimator innerYAnimator = ObjectAnimator.ofFloat(holder.inner, "scaleY", 1.33f);
            innerYAnimator.setRepeatCount(ValueAnimator.INFINITE);
            innerYAnimator.setRepeatMode(ValueAnimator.REVERSE);

            animatorSet = new AnimatorSet();
            animatorSet.playTogether(outerXAnimator, outerYAnimator, innerXAnimator, innerYAnimator);
            animatorSet.setInterpolator(new AccelerateDecelerateInterpolator());
            animatorSet.setDuration(400);
        }
        animatorSet.start();
    }

    @Override
    public void unbind(LoadMoreHolder holder) {
        super.unbind(holder);

        if (animatorSet != null) {
            animatorSet.cancel();
        }
    }

    @Override
    public int getSpanSize(int totalSpanCount, int position, int itemCount) {
        return 2;
    }

// Path: app/src/main/java/com/ge/protein/ui/epoxy/BaseEpoxyHolder.java
// public abstract class BaseEpoxyHolder extends EpoxyHolder {
//     @CallSuper
//     @Override
//     protected void bindView(View itemView) {
//         ButterKnife.bind(this, itemView);
//     }
// }


// Path: app/src/main/java/com/ge/protein/ui/epoxy/models/LoadMoreModel.java
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.view.View;
import android.view.animation.AccelerateDecelerateInterpolator;
import com.airbnb.epoxy.EpoxyModelClass;
import com.airbnb.epoxy.EpoxyModelWithHolder;
import com.ge.protein.R;
import com.ge.protein.ui.epoxy.BaseEpoxyHolder;
import butterknife.BindView;

            ObjectAnimator innerXAnimator = ObjectAnimator.ofFloat(holder.inner, "scaleX", 1.33f);
            innerXAnimator.setRepeatCount(ValueAnimator.INFINITE);
            innerXAnimator.setRepeatMode(ValueAnimator.REVERSE);

            ObjectAnimator innerYAnimator = ObjectAnimator.ofFloat(holder.inner, "scaleY", 1.33f);
            innerYAnimator.setRepeatCount(ValueAnimator.INFINITE);
            innerYAnimator.setRepeatMode(ValueAnimator.REVERSE);

            animatorSet = new AnimatorSet();
            animatorSet.playTogether(outerXAnimator, outerYAnimator, innerXAnimator, innerYAnimator);
            animatorSet.setInterpolator(new AccelerateDecelerateInterpolator());
            animatorSet.setDuration(400);
        }
        animatorSet.start();
    }

    @Override
    public void unbind(LoadMoreHolder holder) {
        super.unbind(holder);

        if (animatorSet != null) {
            animatorSet.cancel();
        }
    }

    @Override
    public int getSpanSize(int totalSpanCount, int position, int itemCount) {
        return 2;
    }

    static class LoadMoreHolder extends BaseEpoxyHolder {