package com.kickstarter.ui.viewholders;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import com.kickstarter.KSApplication;
import com.kickstarter.R;
import com.kickstarter.libs.KSString;
import com.kickstarter.libs.transformations.CircleTransformation;
import com.kickstarter.libs.utils.ObjectUtils;
import com.kickstarter.models.Activity;
import com.kickstarter.models.User;
import com.squareup.picasso.Picasso;
import javax.inject.Inject;
import butterknife.Bind;
import butterknife.BindString;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class ActivitySampleFriendFollowViewHolder extends KSViewHolder {
@Inject KSString ksString;
protected @Bind(R.id.activity_image) ImageView activityImageView;
protected @Bind(R.id.activity_title) TextView activityTitleTextView;
protected @Bind(R.id.activity_subtitle) TextView activitySubtitleTextView;
protected @Bind(R.id.see_activity_button) Button seeActivityButton;
protected @BindString(R.string.activity_user_name_is_now_following_you) String categoryFollowingString;
protected @BindString(R.string.activity_follow_back) String categoryFollowBackString;
private Activity activity;
private final Delegate delegate;
public interface Delegate {
void activitySampleFriendFollowViewHolderSeeActivityClicked(ActivitySampleFriendFollowViewHolder viewHolder);
}
public ActivitySampleFriendFollowViewHolder(final @NonNull View view, final @NonNull Delegate delegate) {
super(view);
this.delegate = delegate;
((KSApplication) view.getContext().getApplicationContext()).component().inject(this);
ButterKnife.bind(this, view);
}
@Override
public void bindData(final @Nullable Object data) throws Exception {
activity = ObjectUtils.requireNonNull((Activity) data, Activity.class);
}
public void onBind() {
final Context context = context();
final User user = activity.user();
if (user != null) {
Picasso.with(context).load(user.avatar()
.small())
.transform(new CircleTransformation())
.into(activityImageView);
activityTitleTextView.setText(ksString.format(categoryFollowingString, "user_name", user.name()));
activitySubtitleTextView.setText(categoryFollowBackString);
// temp until followable :
activitySubtitleTextView.setVisibility(View.GONE);
}
}
@OnClick(R.id.see_activity_button)
protected void seeActivityOnClick() {
delegate.activitySampleFriendFollowViewHolderSeeActivityClicked(this);
}
}