package com.mortarnav.view; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.content.Context; import android.view.View; import com.mortarnav.R; import com.mortarnav.ToolbarOwner; import com.mortarnav.presenter.MyPopup2Presenter; import com.mortarnav.presenter.stackable.MyPopup2StackableComponent; import javax.inject.Inject; import architect.commons.view.PresentedLinearLayout; import architect.robot.DaggerService; import architect.view.HandlesViewTransition; import autodagger.AutoInjector; import butterknife.ButterKnife; import butterknife.OnClick; /** * @author Lukasz Piliszczuk - lukasz.pili@gmail.com */ @AutoInjector(MyPopup2Presenter.class) public class MyPopup2View extends PresentedLinearLayout<MyPopup2Presenter> implements HandlesViewTransition { @Inject protected ToolbarOwner toolbarOwner; public MyPopup2View(Context context) { super(context); DaggerService.<MyPopup2StackableComponent>get(context).inject(this); View view = View.inflate(context, R.layout.my_popup2_view, this); ButterKnife.bind(view); } @OnClick(R.id.my_popup2_show_popup_button) void popupClick() { presenter.popupClick(); } @OnClick(R.id.my_popup2_dismiss) void dismissClick() { presenter.dismissClick(); } @Override public void onViewTransition(AnimatorSet set) { if (set != null) { set.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { toolbarOwner.hide(); } }); Animator animator = toolbarOwner.animateHide(); if (animator != null) { set.play(animator); } } else { toolbarOwner.hide(); } } }