原文 发送图片失败
package com.hyphenate.easeui.widget.chatrow;
import android.content.Context;
import android.graphics.Bitmap;
import android.os.AsyncTask;
import android.support.v4.os.AsyncTaskCompat;
import android.view.View;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.hyphenate.chat.EMClient;
import com.hyphenate.chat.EMFileMessageBody;
import com.hyphenate.chat.EMImageMessageBody;
import com.hyphenate.chat.EMMessage;
import com.hyphenate.easeui.R;
import com.hyphenate.easeui.model.EaseImageCache;
import com.hyphenate.easeui.utils.EaseImageUtils;
import java.io.File;
public class EaseChatRowImage extends EaseChatRowFile{
protected ImageView imageView;
private EMImageMessageBody imgBody;
public EaseChatRowImage(Context context, EMMessage message, int position, BaseAdapter adapter) {
super(context, message, position, adapter);
}
@Override
protected void onInflateView() {
inflater.inflate(message.direct() == EMMessage.Direct.RECEIVE ? R.layout.ease_row_received_picture : R.layout.ease_row_sent_picture, this);
}
@Override
protected void onFindViewById() {
percentageView = (TextView) findViewById(R.id.percentage);
imageView = (ImageView) findViewById(R.id.image);
}
@Override
protected void onSetUpView() {
imgBody = (EMImageMessageBody) message.getBody();
// received messages
if (message.direct() == EMMessage.Direct.RECEIVE) {
return;
}
String filePath = imgBody.getLocalUrl();
String thumbPath = EaseImageUtils.getThumbnailImagePath(imgBody.getLocalUrl());
showImageView(thumbPath, filePath, message);
}
@Override
protected void onViewUpdate(EMMessage msg) {
if (msg.direct() == EMMessage.Direct.SEND) {
if(EMClient.getInstance().getOptions().getAutodownloadThumbnail()){
super.onViewUpdate(msg);
}else{
if (imgBody.thumbnailDownloadStatus() == EMFileMessageBody.EMDownloadStatus.DOWNLOADING ||
imgBody.thumbnailDownloadStatus() == EMFileMessageBody.EMDownloadStatus.PENDING ||
imgBody.thumbnailDownloadStatus() == EMFileMessageBody.EMDownloadStatus.FAILED) {
progressBar.setVisibility(View.INVISIBLE);
percentageView.setVisibility(View.INVISIBLE);
imageView.setImageResource(R.drawable.ease_default_image);
} else {
progressBar.setVisibility(View.GONE);