package com.novoda.bonfire.welcome.view;
import android.content.Context;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.novoda.bonfire.R;
import com.novoda.bonfire.user.data.model.User;
import com.novoda.bonfire.view.BubblyDrawable;
import com.novoda.bonfire.view.CircleCropImageTransformation;
import com.novoda.bonfire.welcome.displayer.WelcomeDisplayer;
import com.novoda.notils.caster.Views;
public class WelcomeView extends LinearLayout implements WelcomeDisplayer {
private TextView welcomeMessage;
private ImageView userAvatar;
private View proceedButton;
public WelcomeView(Context context, AttributeSet attrs) {
super(context, attrs);
setOrientation(VERTICAL);
setGravity(Gravity.CENTER_HORIZONTAL);
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
inflate(getContext(), R.layout.merge_welcome_view, this);
welcomeMessage = Views.findById(this, R.id.welcome_message_view);
userAvatar = Views.findById(this, R.id.user_avatar);
proceedButton = Views.findById(this, R.id.proceed_button);
View senderFrame = Views.findById(this, R.id.welcome_sender_layout);
senderFrame.setBackground(new BubblyDrawable(getResources()));
}
@Override
public void attach(final InteractionListener interactionListener) {
proceedButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
interactionListener.onGetStartedClicked();
}
});
}
@Override
public void detach(InteractionListener interactionListener) {
proceedButton.setOnClickListener(null);
}
@Override
public void display(User sender) {
Context context = getContext();
Glide.with(context)
.load(sender.getPhotoUrl())
.error(R.drawable.ic_person)
.transform(new CircleCropImageTransformation(context))
.into(userAvatar);
welcomeMessage.setText(sender.getName() + "\ninvited you to Bonfire");
}
}