Skip to content

Commit 4be3713

Browse files
committed
add updateAudioMessagePlayStatus
1 parent 339a66c commit 4be3713

File tree

2 files changed

+35
-5
lines changed

2 files changed

+35
-5
lines changed

android/src/main/java/com/netease/im/RNNeteaseImModule.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
import com.netease.nimlib.sdk.msg.MessageBuilder;
6262
import com.netease.nimlib.sdk.msg.MsgService;
6363
import com.netease.nimlib.sdk.msg.SystemMessageService;
64+
import com.netease.nimlib.sdk.msg.constant.MsgStatusEnum;
6465
import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
6566
import com.netease.nimlib.sdk.msg.model.IMMessage;
6667
import com.netease.nimlib.sdk.msg.model.QueryDirectionEnum;
@@ -1283,6 +1284,21 @@ public int onResult(int code, IMMessage message) {
12831284

12841285
}
12851286

1287+
@ReactMethod
1288+
public void updateAudioMessagePlayStatus(String messageId, final Promise promise) {
1289+
LogUtil.w(TAG, "revokeMessage" + messageId);
1290+
sessionService.queryMessage(messageId, new SessionService.OnMessageQueryListener() {
1291+
1292+
@Override
1293+
public int onResult(int code, IMMessage message) {
1294+
if (code == ResponseCode.RES_SUCCESS && message != null) {
1295+
sessionService.updateMessage(message, MsgStatusEnum.read);
1296+
}
1297+
return 0;
1298+
}
1299+
});
1300+
}
1301+
12861302
/**
12871303
* 消息删除
12881304
*

android/src/main/java/com/netease/im/session/SessionService.java

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@
5959
import java.util.Map;
6060
import java.util.Set;
6161

62+
import static com.netease.nimlib.sdk.NIMClient.getService;
63+
6264
/**
6365
* Created by dowin on 2017/5/10.
6466
*/
@@ -83,6 +85,8 @@ public class SessionService {
8385
private Handler handler;
8486
private boolean mute = false;
8587

88+
private boolean canSended = true;
89+
8690
private SessionService() {
8791
}
8892

@@ -507,7 +511,7 @@ private void registerObservers(boolean register) {
507511
return;
508512
}
509513
hasRegister = register;
510-
MsgServiceObserve service = NIMClient.getService(MsgServiceObserve.class);
514+
MsgServiceObserve service = getService(MsgServiceObserve.class);
511515
service.observeReceiveMessage(incomingMessageObserver, register);
512516
service.observeMessageReceipt(messageReceiptObserver, register);
513517

@@ -551,11 +555,16 @@ public void startSession(Handler handler, String sessionId, String type) {
551555
sessionTypeEnum = SessionUtil.getSessionType(type);
552556

553557
if (sessionTypeEnum == SessionTypeEnum.P2P) {
558+
canSended = NIMClient.getService(FriendService.class).isMyFriend(sessionId);
554559
this.mute = !NIMClient.getService(FriendService.class).isNeedMessageNotify(sessionId);
555560
} else {
556561
Team t = TeamDataCache.getInstance().getTeamById(sessionId);
557-
if (t != null)
562+
if (t != null) {
558563
this.mute = t.mute();
564+
canSended = t.isMyTeam();
565+
} else {
566+
canSended = false;
567+
}
559568
}
560569
registerObservers(true);
561570
getMsgService().setChattingAccount(sessionId, sessionTypeEnum);
@@ -811,13 +820,18 @@ public MsgService getMsgService() {
811820
if (msgService == null) {
812821
synchronized (SessionService.class) {
813822
if (msgService == null) {
814-
msgService = NIMClient.getService(MsgService.class);
823+
msgService = getService(MsgService.class);
815824
}
816825
}
817826
}
818827
return msgService;
819828
}
820829

830+
public void updateMessage(final IMMessage message, MsgStatusEnum statusEnum) {
831+
message.setStatus(statusEnum);
832+
getMsgService().updateIMMessageStatus(message);
833+
}
834+
821835
public void sendMessage(final IMMessage message, final OnSendMessageListener onSendMessageListener) {
822836

823837

@@ -873,7 +887,7 @@ private boolean isOriginImageHasDownloaded(final IMMessage message) {
873887
}
874888

875889
void observerAttachProgress(boolean register) {
876-
NIMClient.getService(MsgServiceObserve.class).observeAttachmentProgress(new Observer<AttachmentProgress>() {
890+
getService(MsgServiceObserve.class).observeAttachmentProgress(new Observer<AttachmentProgress>() {
877891
@Override
878892
public void onEvent(AttachmentProgress attachmentProgress) {
879893
ReactCache.emit(ReactCache.observeAttachmentProgress, ReactCache.createAttachmentProgress(attachmentProgress));
@@ -887,7 +901,7 @@ public void downloadAttachment(IMMessage message, boolean isThumb) {
887901
if (isOriginImageHasDownloaded(message)) {
888902
return;
889903
}
890-
AbortableFuture future = NIMClient.getService(MsgService.class).downloadAttachment(message, isThumb);
904+
AbortableFuture future = getService(MsgService.class).downloadAttachment(message, isThumb);
891905
}
892906

893907
public interface OnSendMessageListener {

0 commit comments

Comments
 (0)