Skip to content

Commit 66c6488

Browse files
guangyaoguangyao
authored andcommitted
2 parents 61f8bab + cfa1d2e commit 66c6488

File tree

17 files changed

+199
-54
lines changed

17 files changed

+199
-54
lines changed

android/messagelist/src/main/java/cn/jiguang/imui/messages/MsgListAdapter.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -526,11 +526,10 @@ public void updateMessage(String oldId, MESSAGE newMessage) {
526526
/**
527527
* Delete message.
528528
*
529-
* @param message message to be deleted.
529+
* @param messageId message to be deleted.
530530
*/
531-
public void delete(MESSAGE message) {
532-
deleteById(message.getMsgId());
533-
deleteImage(message);
531+
public void delete(String messageId) {
532+
deleteById(messageId);
534533
}
535534

536535
/**
@@ -541,6 +540,11 @@ public void delete(MESSAGE message) {
541540
public void deleteById(String id) {
542541
int index = getMessagePositionById(id);
543542
if (index >= 0) {
543+
Wrapper wrapper = mItems.get(index);
544+
if (wrapper.item instanceof IMessage) {
545+
MESSAGE message = (MESSAGE) wrapper.item;
546+
deleteImage(message);
547+
}
544548
mItems.remove(index);
545549
notifyItemRemoved(index);
546550
}
@@ -1274,16 +1278,16 @@ public void onDetachedFromRecyclerView(RecyclerView recyclerView) {
12741278
ViewHolderController.getInstance().release();
12751279
}
12761280

1277-
public void pausePlayVoice() {
1281+
public void releasePlayVoice() {
12781282
if (mMediaPlayer != null && mMediaPlayer.isPlaying()) {
12791283
mMediaPlayer.pause();
12801284
}
12811285
}
12821286

12831287
public void stopPlayVoice() {
1288+
Log.w(getClass().getName(), "stopPlayVoice");
12841289
if (mMediaPlayer != null && mMediaPlayer.isPlaying()) {
12851290
mMediaPlayer.stop();
1286-
mMediaPlayer.release();
12871291
}
12881292

12891293
}

android/messagelist/src/main/java/cn/jiguang/imui/messages/viewholder/PhotoViewHolder.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import cn.jiguang.imui.commons.models.IMediaFile;
1212
import cn.jiguang.imui.commons.models.IMessage;
1313
import cn.jiguang.imui.messages.MessageListStyle;
14+
import cn.jiguang.imui.utils.DisplayUtil;
1415

1516
public class PhotoViewHolder<MESSAGE extends IMessage> extends AvatarViewHolder<MESSAGE> {
1617

@@ -60,6 +61,8 @@ public boolean onLongClick(View view) {
6061
public void applyStyle(MessageListStyle style) {
6162
super.applyStyle(style);
6263

64+
mPhotoIv.setMinimumWidth(DisplayUtil.dp2px(style.mContext,100));
65+
mPhotoIv.setMinimumHeight(DisplayUtil.dp2px(style.mContext,100));
6366
mPhotoIv.setScaleType(ImageView.ScaleType.FIT_END);
6467
// if (mIsSender) {
6568
// mPhotoIv.setBackground(style.getSendPhotoMsgBg());

android/messagelist/src/main/java/cn/jiguang/imui/messages/viewholder/RedPacketOpenViewHolder.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import android.text.TextPaint;
88
import android.text.method.LinkMovementMethod;
99
import android.text.style.ClickableSpan;
10-
import android.text.style.ImageSpan;
1110
import android.view.View;
1211
import android.widget.TextView;
1312

@@ -30,7 +29,6 @@ public class RedPacketOpenViewHolder<MESSAGE extends IMessage>
3029

3130
private TextView mTextView;
3231
final static Pattern pattern = Pattern.compile("红包{1}");
33-
private ImageSpan imageSpan;
3432

3533
public RedPacketOpenViewHolder(RecyclerView.Adapter adapter, View itemView, boolean isSender) {
3634
super(adapter, itemView);

android/messagelist/src/main/java/cn/jiguang/imui/messages/viewholder/TipViewHoler.java

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
import android.graphics.Color;
44
import android.support.v7.widget.RecyclerView;
5+
import android.text.SpannableString;
6+
import android.text.Spanned;
7+
import android.text.TextPaint;
8+
import android.text.method.LinkMovementMethod;
9+
import android.text.style.ClickableSpan;
510
import android.view.View;
611
import android.widget.TextView;
712

@@ -19,15 +24,28 @@ public class TipViewHoler<MESSAGE extends IMessage>
1924
implements MsgListAdapter.DefaultMessageViewHolder {
2025

2126
private TextView mEvent;
27+
final static String SEND_FRIEND = "发送朋友验证";
2228

2329
public TipViewHoler(RecyclerView.Adapter adapter, View itemView, boolean isSender) {
2430
super(adapter, itemView);
2531
mEvent = (TextView) itemView.findViewById(R.id.aurora_tv_msgitem_event);
32+
mEvent.setMovementMethod(LinkMovementMethod.getInstance());
2633
}
2734

2835
@Override
2936
public void onBind(MESSAGE message) {
30-
mEvent.setText(message.getText());
37+
final String mText = message.getText();
38+
39+
final int fIndex = mText.lastIndexOf(SEND_FRIEND);
40+
if (fIndex != -1) {
41+
SpannableString spann = new SpannableString(message.getText());
42+
spann.setSpan(new TipViewHoler.ClickAble(message), fIndex, fIndex + SEND_FRIEND.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
43+
mEvent.setText(spann);
44+
}else {
45+
46+
mEvent.setText(mText);
47+
}
48+
3149
}
3250

3351
@Override
@@ -37,5 +55,26 @@ public void applyStyle(MessageListStyle style) {
3755
mEvent.setTextSize(12);
3856
mEvent.setPadding(style.getEventPadding(), style.getEventPadding(), style.getEventPadding(), style.getEventPadding());
3957
}
58+
59+
class ClickAble extends ClickableSpan implements View.OnClickListener {
60+
MESSAGE message;
61+
62+
public ClickAble(MESSAGE message) {
63+
this.message = message;
64+
}
65+
66+
@Override
67+
public void onClick(View widget) {
68+
if (mMsgClickListener != null) {
69+
mMsgClickListener.onMessageClick(message);
70+
}
71+
}
72+
73+
@Override
74+
public void updateDrawState(TextPaint ds) {
75+
ds.setColor(Color.parseColor("#0000ff"));
76+
ds.setUnderlineText(false);
77+
}
78+
}
4079
}
4180

android/messagelist/src/main/java/cn/jiguang/imui/messages/viewholder/TxtViewHolder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public boolean onLongClick(View view) {
7777
public void applyStyle(MessageListStyle style) {
7878
super.applyStyle(style);
7979
mMsgTv.setMaxWidth((int) (style.getWindowWidth() * style.getBubbleMaxWidth()));
80-
mMsgTv.setTextSize(22);
80+
mMsgTv.setTextSize(18);
8181
mMsgTv.setTextColor(mIsSender ? Color.WHITE : Color.BLACK);
8282
mMsgTv.setLinkTextColor(mIsSender ? Color.parseColor("#bbdcff") : Color.parseColor("#238dfa"));
8383

android/messagelist/src/main/java/cn/jiguang/imui/messages/viewholder/VoiceViewHolder.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ public void onClick(View view) {
110110
mVoiceAnimation = (AnimationDrawable) mVoiceIv.getDrawable();
111111
mController.addView(getAdapterPosition(), mVoiceIv);
112112
// If audio is playing, pause
113-
Log.e("VoiceViewHolder", "MediaPlayer playing " + mMediaPlayer.isPlaying() + "now position " + getAdapterPosition());
113+
// Log.e("VoiceViewHolder", "MediaPlayer playing " + mMediaPlayer.isPlaying() + "now position " + getAdapterPosition());
114114
if (mController.getLastPlayPosition() == getAdapterPosition()) {
115115
if (mMediaPlayer.isPlaying()) {
116116
pauseVoice();
@@ -209,10 +209,11 @@ public void applyStyle(MessageListStyle style) {
209209
mReceiveDrawable = style.getReceiveVoiceDrawable();
210210
mPlaySendAnim = style.getPlaySendVoiceAnim();
211211
mPlayReceiveAnim = style.getPlayReceiveVoiceAnim();
212+
final int padding = 8;
212213
if (mIsSender) {
213214
mVoiceIv.setImageResource(mSendDrawable);
214215
mMsgTv.setBackground(style.getSendBubbleDrawable());
215-
mMsgTv.setPadding(0,DisplayUtil.dp2px(style.mContext,12),DisplayUtil.dp2px(style.mContext,3),DisplayUtil.dp2px(style.mContext,12));
216+
mMsgTv.setPadding(0,DisplayUtil.dp2px(style.mContext,padding),DisplayUtil.dp2px(style.mContext,3),DisplayUtil.dp2px(style.mContext,padding));
216217
if (style.getSendingProgressDrawable() != null) {
217218
mSendingPb.setProgressDrawable(style.getSendingProgressDrawable());
218219
}
@@ -222,7 +223,7 @@ public void applyStyle(MessageListStyle style) {
222223
} else {
223224
mVoiceIv.setImageResource(mReceiveDrawable);
224225
mMsgTv.setBackground(style.getReceiveBubbleDrawable());
225-
mMsgTv.setPadding(DisplayUtil.dp2px(style.mContext,3),DisplayUtil.dp2px(style.mContext,12),0,DisplayUtil.dp2px(style.mContext,12));
226+
mMsgTv.setPadding(DisplayUtil.dp2px(style.mContext,3),DisplayUtil.dp2px(style.mContext,padding),0,DisplayUtil.dp2px(style.mContext,padding));
226227
}
227228
mLengthTv.setTextColor(Color.rgb(157, 157, 158));
228229
}

android/messagelist/src/main/res/layout/item_custom_message.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
android:layout_width="wrap_content"
2020
android:layout_height="wrap_content"
2121
android:layout_marginLeft="0dp"
22-
android:gravity="center"
22+
android:gravity="left"
2323
android:paddingLeft="0dp"
2424
android:text="TextView"
2525
android:textColor="#ffffff"

android/messagelist/src/main/res/layout/item_event_message.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
android:layout_height="wrap_content"
1111
android:layout_margin="10dp"
1212
android:background="@drawable/aurora_bg_event_message"
13-
android:gravity="center"
13+
android:gravity="left"
1414
android:padding="5dp"
1515
android:textSize="10sp"
1616
android:text="TextView"

android/messagelist/src/main/res/layout/item_notification_message.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
android:layout_height="wrap_content"
1111
android:layout_margin="10dp"
1212
android:background="@drawable/aurora_bg_event_message"
13-
android:gravity="center"
13+
android:gravity="left"
1414
android:padding="5dp"
1515
android:textSize="10sp"
1616
android:text="notification"

android/messagelist/src/main/res/layout/item_red_packet_open_message.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
android:layout_width="wrap_content"
2525
android:layout_height="wrap_content"
2626
android:layout_marginLeft="0dp"
27-
android:gravity="center"
27+
android:gravity="left"
2828
android:paddingLeft="0dp"
2929
android:text="TextView"
3030
android:textColor="#ffffff"

0 commit comments

Comments
 (0)