package com.kickstarter.ui.viewholders; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.view.View; import android.widget.Button; import com.kickstarter.R; import com.kickstarter.libs.utils.BooleanUtils; import butterknife.Bind; import butterknife.ButterKnife; import butterknife.OnClick; public final class EmptyActivityFeedViewHolder extends KSViewHolder { private boolean isLoggedIn; protected @Bind(R.id.discover_projects_button) Button discoverProjectsButton; protected @Bind(R.id.login_button) Button loginButton; private final @Nullable Delegate delegate; public interface Delegate { void emptyActivityFeedDiscoverProjectsClicked(EmptyActivityFeedViewHolder viewHolder); void emptyActivityFeedLoginClicked(EmptyActivityFeedViewHolder viewHolder); } public EmptyActivityFeedViewHolder(final @NonNull View view, final @Nullable Delegate delegate) { super(view); this.delegate = delegate; ButterKnife.bind(this, view); } @Override public void bindData(final @Nullable Object data) throws Exception { this.isLoggedIn = BooleanUtils.isTrue((Boolean) data); } @Override public void onBind() { if (isLoggedIn) { discoverProjectsButton.setVisibility(View.VISIBLE); loginButton.setVisibility(View.GONE); } else { discoverProjectsButton.setVisibility(View.GONE); loginButton.setVisibility(View.VISIBLE); } } @OnClick(R.id.discover_projects_button) public void discoverProjectsOnClick() { if (this.delegate != null) { this.delegate.emptyActivityFeedDiscoverProjectsClicked(this); } } @OnClick(R.id.login_button) public void loginOnClick() { if (this.delegate != null) { this.delegate.emptyActivityFeedLoginClicked(this); } } }