package com.netease.nim.uikit.session.viewholder;
import android.widget.TextView;
import com.netease.nim.uikit.NimUIKit;
import com.netease.nim.uikit.R;
import com.netease.nim.uikit.common.ui.imageview.MsgThumbImageView;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter;
import com.netease.nim.uikit.common.util.media.ImageUtil;
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
import com.netease.nimlib.sdk.msg.attachment.LocationAttachment;
/**
* Created by zhoujianghua on 2015/8/7.
*/
public class MsgViewHolderLocation extends MsgViewHolderBase {
public MsgViewHolderLocation(BaseMultiItemFetchLoadAdapter adapter) {
super(adapter);
}
public MsgThumbImageView mapView;
public TextView addressText;
@Override
protected int getContentResId() {
return R.layout.nim_message_item_location;
}
@Override
protected void inflateContentView() {
mapView = (MsgThumbImageView) view.findViewById(R.id.message_item_location_image);
addressText = (TextView) view.findViewById(R.id.message_item_location_address);
}
@Override
protected void bindContentView() {
final LocationAttachment location = (LocationAttachment) message.getAttachment();
addressText.setText(location.getAddress());
int[] bound = ImageUtil.getBoundWithLength(getLocationDefEdge(), R.drawable.nim_location_bk, true);
int width = bound[0];
int height = bound[1];
setLayoutParams(width, height, mapView);
setLayoutParams(width, (int) (0.38 * height), addressText);
mapView.loadAsResource(R.drawable.nim_location_bk, R.drawable.nim_message_item_round_bg);
}
@Override
protected void onItemClick() {
if (NimUIKit.getLocationProvider() != null) {
LocationAttachment location = (LocationAttachment) message.getAttachment();
NimUIKit.getLocationProvider().openMap(context, location.getLongitude(), location.getLatitude(), location.getAddress());
}
}
public static int getLocationDefEdge() {
return (int) (0.5 * ScreenUtil.screenWidth);
}
}