use of com.funstill.kelefun.data.model.DirectMessage in project keleFanfou by kelefun.
the class MsgAdapter method onBindViewHolder.
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
ItemViewHolder itemHolder = (ItemViewHolder) holder;
if (data.size() > 0) {
DirectMessage directMessage = data.get(position);
if (directMessage.getSender().getId().equals(myUserId)) {
itemHolder.leftMsg.setVisibility(View.GONE);
itemHolder.rightMsg.setVisibility(View.VISIBLE);
itemHolder.msgTextRight.setText(directMessage.getText());
itemHolder.msgTimeRight.setText(DateUtil.toAgo(directMessage.getCreatedAt()));
Glide.with(mContext).load(directMessage.getSender().getProfileImageUrl()).into(itemHolder.msgAvatarRight);
} else {
itemHolder.leftMsg.setVisibility(View.VISIBLE);
itemHolder.rightMsg.setVisibility(View.GONE);
itemHolder.msgTextLeft.setText(directMessage.getText());
itemHolder.msgTimeLeft.setText(DateUtil.toAgo(directMessage.getCreatedAt()));
Glide.with(mContext).load(directMessage.getSender().getProfileImageUrl()).into(itemHolder.msgAvatarLeft);
}
}
}
use of com.funstill.kelefun.data.model.DirectMessage in project keleFanfou by kelefun.
the class MsgInboxAdapter method onBindViewHolder.
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
if (holder instanceof ItemViewHolder) {
ItemViewHolder itemHolder = (ItemViewHolder) holder;
if (data.size() != 0) {
DirectMessage directMessage = data.get(position);
itemHolder.msgInboxText.setText(directMessage.getText());
itemHolder.msgInboxTime.setText(DateUtil.toAgo(directMessage.getCreatedAt()));
Glide.with(mContext).load(directMessage.getSender().getProfileImageUrl()).into(itemHolder.msgInboxAvatar);
}
}
}
use of com.funstill.kelefun.data.model.DirectMessage in project keleFanfou by kelefun.
the class MsgConvListAdapter method onBindViewHolder.
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
if (holder instanceof ItemViewHolder) {
ItemViewHolder itemHolder = (ItemViewHolder) holder;
if (data.size() != 0) {
DirectMessage directMessage = data.get(position).getDirectMessage();
itemHolder.msgInboxText.setText(directMessage.getText());
itemHolder.msgInboxTime.setText(DateUtil.toAgo(directMessage.getCreatedAt()));
String avatarUrl;
// 如果最近一条消息发送人不是自己
if (directMessage.getSenderId().equals(data.get(position).getOtherId())) {
avatarUrl = directMessage.getSender().getProfileImageUrlLarge();
itemHolder.msgInboxUsername.setText(directMessage.getSenderScreenName());
} else {
avatarUrl = directMessage.getRecipient().getProfileImageUrlLarge();
itemHolder.msgInboxUsername.setText(directMessage.getRecipientScreenName());
}
Glide.with(mContext).load(avatarUrl).into(itemHolder.msgInboxAvatar);
}
}
}
use of com.funstill.kelefun.data.model.DirectMessage in project keleFanfou by kelefun.
the class MsgActivity method sendMsg.
private void sendMsg() {
MsgApi api = BaseRetrofit.retrofit(new SignInterceptor()).create(MsgApi.class);
if ("".equals(inputMsg.getText().toString())) {
ToastUtil.showToast(getBaseContext(), "输入不能为空");
return;
}
Call<DirectMessage> call = api.sendMsg(tuserId, inputMsg.getText().toString(), null);
call.enqueue(new Callback<DirectMessage>() {
@Override
public void onResponse(Call<DirectMessage> call, Response<DirectMessage> response) {
if (response.code() == 200) {
DirectMessage msg = response.body();
inputMsg.setText(null);
data.add(msg);
mAdapter.notifyDataSetChanged();
} else if (response.code() == 403) {
ToastUtil.showToast(getBaseContext(), "对方设置了隐私,需先请求关注");
} else {
try {
String errStr = response.errorBody().string();
JsonObject errJson = new JsonParser().parse(errStr).getAsJsonObject();
ToastUtil.showToast(getBaseContext(), errJson.get("error").getAsString());
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Override
public void onFailure(Call<DirectMessage> call, Throwable t) {
t.printStackTrace();
}
});
}
Aggregations