package com.yidianling.im.session.viewholder;

import android.graphics.Color;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import com.yidianling.im.R;
import com.yidianling.im.session.extension.CustomAttachConsultCallStatus;
import com.yidianling.nimbase.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter;
import com.yidianling.uikit.business.session.viewholder.MsgViewHolderBase;

/**
 * Created by zhoujianghua on 2015/8/6.
 */
public class MsgViewHolderConsultCallStatus extends MsgViewHolderBase {

    private ImageView typeImage;
    private TextView statusLabel;

    public MsgViewHolderConsultCallStatus(BaseMultiItemFetchLoadAdapter adapter) {
        super(adapter);
    }

    @Override
    protected int getContentResId() {
        return R.layout.im_ui_message_custom_consult_call_status;
    }

    @Override
    protected void inflateContentView() {
        typeImage = findViewById(R.id.type_img);
        statusLabel = findViewById(R.id.tv_state);
    }

    @Override
    protected void bindContentView() {
        CustomAttachConsultCallStatus customAttachTipMsg = (CustomAttachConsultCallStatus) message.getAttachment();
        layoutByDirection(customAttachTipMsg);

    }

    private void layoutByDirection(CustomAttachConsultCallStatus customAttachTipMsg) {

        if (isReceivedMessage()) {
            typeImage.setImageResource(R.drawable.im_avchat_left_type_audio);
            statusLabel.setTextColor(context.getResources().getColor(R.color.platform_color_grey_999999));
        } else {
            typeImage.setImageResource(R.drawable.im_avchat_right_type_audio);
            statusLabel.setTextColor(Color.WHITE);
        }

        if (TextUtils.equals("1", customAttachTipMsg.getStatus())) {
            typeImage.setVisibility(View.VISIBLE);
            statusLabel.setText(customAttachTipMsg.getDuration());
        } else {
            typeImage.setVisibility(View.GONE);
            if (isReceivedMessage()) {
                statusLabel.setText(customAttachTipMsg.getCallee());
            } else {
                statusLabel.setText(customAttachTipMsg.getCaller());
            }
        }

    }

}