Skip to content

Commit bc98a64

Browse files
authored
Merge pull request #80 from JauneQ/main
refactor: the method of historical messages
2 parents bb7df03 + c0363db commit bc98a64

File tree

4 files changed

+21
-24
lines changed

4 files changed

+21
-24
lines changed

OpenIM-SDK/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,6 @@ dependencies {
5353
implementation 'androidx.annotation:annotation:1.6.0'
5454

5555
compileOnly 'com.google.code.gson:gson:2.9.1'
56-
implementation 'io.openim:core-sdk:3.8.2'
56+
implementation 'io.openim:core-sdk:3.8.3'
5757

5858
}

OpenIM-SDK/libs/v3.8.1.aar

-28.2 MB
Binary file not shown.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package io.openim.android.sdk.enums;
2+
3+
public enum ViewType {
4+
5+
History(0), Search(1);
6+
7+
private final int value;
8+
9+
private ViewType(int v) {
10+
this.value = v;
11+
}
12+
public int getValue() {
13+
return value;
14+
}
15+
}

OpenIM-SDK/src/main/java/io/openim/android/sdk/manager/MessageManager.java

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package io.openim.android.sdk.manager;
22

33

4-
import android.text.TextUtils;
54
import android.util.ArrayMap;
65

76
import java.util.List;
@@ -11,7 +10,6 @@
1110
import io.openim.android.sdk.listener.OnAdvanceMsgListener;
1211
import io.openim.android.sdk.listener.OnBase;
1312
import io.openim.android.sdk.listener.OnCustomBusinessListener;
14-
import io.openim.android.sdk.listener.OnListenerForService;
1513
import io.openim.android.sdk.listener.OnMessageKvInfoListener;
1614
import io.openim.android.sdk.listener.OnMsgSendCallback;
1715
import io.openim.android.sdk.listener._AdvanceMsgListener;
@@ -22,17 +20,15 @@
2220
import io.openim.android.sdk.models.AtUserInfo;
2321
import io.openim.android.sdk.models.CardElem;
2422
import io.openim.android.sdk.models.FileElem;
25-
import io.openim.android.sdk.models.GroupMembersInfo;
26-
import io.openim.android.sdk.models.KeyValue;
2723
import io.openim.android.sdk.models.Message;
2824
import io.openim.android.sdk.models.OfflinePushInfo;
2925
import io.openim.android.sdk.models.PictureInfo;
3026
import io.openim.android.sdk.models.RichMessage;
3127
import io.openim.android.sdk.models.SearchParams;
3228
import io.openim.android.sdk.models.SearchResult;
3329
import io.openim.android.sdk.models.SoundElem;
34-
import io.openim.android.sdk.models.TypeKeySetResult;
3530
import io.openim.android.sdk.models.VideoElem;
31+
import io.openim.android.sdk.enums.ViewType;
3632
import io.openim.android.sdk.utils.CommonUtil;
3733
import io.openim.android.sdk.utils.JsonUtil;
3834
import io.openim.android.sdk.utils.ParamsUtil;
@@ -424,10 +420,6 @@ public void markMessageAsReadByConID(OnBase<String> callBack, String conversatio
424420
Open_im_sdk.markConversationMessageAsRead(BaseImpl.stringBase(callBack), ParamsUtil.buildOperationID(), conversationID);
425421
}
426422

427-
428-
private int lastMinSeq;
429-
private String lastConversationID;
430-
431423
/**
432424
* 撤回消息(新版本)
433425
* 调用此方法会触发:onRecvMessageRevokedV2回调
@@ -454,15 +446,14 @@ public void revokeMessageV2(OnBase<String> callBack, String conversationID, Stri
454446
* @param count 一次拉取count条
455447
* @param callBack callback <{@link AdvancedMessage}>
456448
*/
457-
public void getAdvancedHistoryMessageList(OnBase<AdvancedMessage> callBack, String conversationID, Message startMsg, int count) {
458-
isClearSeq(conversationID);
449+
public void getAdvancedHistoryMessageList(OnBase<AdvancedMessage> callBack, String conversationID, Message startMsg, int count, ViewType viewType) {
459450
Map<String, Object> map = new ArrayMap<>();
460-
map.put("lastMinSeq", MessageManager.this.lastMinSeq);
461451
map.put("conversationID", conversationID);
462452
if (null != startMsg) {
463453
map.put("startClientMsgID", startMsg.getClientMsgID());
464454
}
465455
map.put("count", count);
456+
map.put("viewType", viewType.getValue());
466457

467458
Open_im_sdk.getAdvancedHistoryMessageList(new Base() {
468459
@Override
@@ -473,20 +464,13 @@ public void onError(int i, String s) {
473464
@Override
474465
public void onSuccess(String s) {
475466
AdvancedMessage messageListSeq = JsonUtil.toObj(s, AdvancedMessage.class);
476-
MessageManager.this.lastMinSeq = messageListSeq.getLastMinSeq();
477467
CommonUtil.runMainThread(() -> {
478468
if (null != callBack) callBack.onSuccess(messageListSeq);
479469
});
480470
}
481471
}, ParamsUtil.buildOperationID(), JsonUtil.toString(map));
482472
}
483473

484-
private void isClearSeq(String conversationID) {
485-
if (!TextUtils.equals(lastConversationID, conversationID)) lastMinSeq = 0;
486-
lastConversationID = conversationID;
487-
488-
}
489-
490474

491475
/**
492476
* 获取历史消息 消息倒叙
@@ -499,15 +483,14 @@ private void isClearSeq(String conversationID) {
499483
* 下一次拉取消息记录参数:startMsg=list.last && count =20;以此内推,startMsg始终为list的最后一条。
500484
* @param count 一次拉取count条
501485
*/
502-
public void getAdvancedHistoryMessageListReverse(OnBase<AdvancedMessage> callBack, String conversationID, Message startMsg, int count) {
503-
isClearSeq(conversationID);
486+
public void getAdvancedHistoryMessageListReverse(OnBase<AdvancedMessage> callBack, String conversationID, Message startMsg, int count, ViewType viewType) {
504487
Map<String, Object> map = new ArrayMap<>();
505-
map.put("lastMinSeq", MessageManager.this.lastMinSeq);
506488
map.put("conversationID", conversationID);
507489
if (null != startMsg) {
508490
map.put("startClientMsgID", startMsg.getClientMsgID());
509491
}
510492
map.put("count", count);
493+
map.put("viewType", viewType.getValue());
511494

512495
Open_im_sdk.getAdvancedHistoryMessageListReverse(new Base() {
513496
@Override
@@ -518,7 +501,6 @@ public void onError(int i, String s) {
518501
@Override
519502
public void onSuccess(String s) {
520503
AdvancedMessage messageListSeq = JsonUtil.toObj(s, AdvancedMessage.class);
521-
MessageManager.this.lastMinSeq = messageListSeq.getLastMinSeq();
522504
CommonUtil.runMainThread(() -> {
523505
if (null != callBack) callBack.onSuccess(messageListSeq);
524506
});

0 commit comments

Comments
 (0)