Skip to content

Commit 01c9a56

Browse files
committed
fix:equals 空指针,一对一拆红包,联系人备注
1 parent e79304b commit 01c9a56

File tree

7 files changed

+31
-16
lines changed

7 files changed

+31
-16
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -981,7 +981,7 @@ public void onResult(int code, Void aVoid, Throwable throwable) {
981981
}
982982

983983
boolean string2Boolean(String bool) {
984-
return TextUtils.isEmpty(bool) ? false : !bool.equals("0");
984+
return TextUtils.isEmpty(bool) ? false : !"0".equals(bool);
985985
}
986986

987987
/**

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@ public static Object createFriendSet(ContactDataList datas, boolean hasFilter) {
356356

357357
map.putString("alias", contact.getDisplayName());
358358
map.putString("type", Integer.toString(contact.getContactType()));
359-
map.putString("name", NimUserInfoCache.getInstance().getUserName(contact.getContactId()));
359+
map.putString("name", NimUserInfoCache.getInstance().getUserDisplayName(contact.getContactId()));
360360
String avatar = NimUserInfoCache.getInstance().getAvatar(contact.getContactId());
361361
map.putString("avatar", avatar);
362362
map.putString("avatarLocal", ImageLoaderKit.getMemoryCachedAvatar(avatar));

android/src/main/java/com/netease/im/login/RecentContactObserver.java

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.netease.im.ReactCache;
88
import com.netease.im.uikit.cache.SimpleCallback;
99
import com.netease.im.uikit.cache.TeamDataCache;
10+
import com.netease.im.uikit.common.util.log.LogUtil;
1011
import com.netease.nimlib.sdk.NIMClient;
1112
import com.netease.nimlib.sdk.Observer;
1213
import com.netease.nimlib.sdk.RequestCallbackWrapper;
@@ -44,6 +45,7 @@ static class InstanceHolder {
4445
public static RecentContactObserver getInstance() {
4546
return InstanceHolder.instance;
4647
}
48+
4749
/*******************************最近会话********************************/
4850

4951
private List<RecentContact> items = new ArrayList<>();
@@ -55,7 +57,12 @@ public void queryRecentContacts() {
5557
public void onResult(int code, List<RecentContact> recentContacts, Throwable throwable) {
5658

5759
items.clear();
58-
items.addAll(recentContacts);
60+
if (recentContacts != null) {
61+
for (RecentContact c : recentContacts) {
62+
doAddDeleteQuitTeamMessage(c, true);
63+
}
64+
}
65+
// items.addAll(recentContacts);
5966
refreshMessages(true);
6067
}
6168
});
@@ -74,8 +81,17 @@ public void registerRecentContactObserver(boolean register) {
7481

7582
}
7683

77-
private void deleteRecentContact(String contactId, SessionTypeEnum sessionTypeEnum) {
78-
NIMClient.getService(MsgService.class).deleteRecentContact2(contactId, sessionTypeEnum);
84+
private void deleteRecentContactCallback(RecentContact recent, boolean callback) {
85+
86+
String contactId = recent.getContactId();
87+
SessionTypeEnum sessionTypeEnum = recent.getSessionType();
88+
LogUtil.i("deleteRecentContactCallback-","---"+contactId);
89+
LogUtil.i("deleteRecentContactCallback-","---"+recent.getContent());
90+
if (callback) {
91+
NIMClient.getService(MsgService.class).deleteRecentContact2(contactId, sessionTypeEnum);
92+
} else {
93+
NIMClient.getService(MsgService.class).deleteRecentContact(recent);
94+
}
7995
NIMClient.getService(MsgService.class).clearChattingHistory(contactId, sessionTypeEnum);
8096
}
8197

@@ -87,7 +103,7 @@ public boolean deleteRecentContact(String rContactId) {
87103
for (RecentContact recent : items) {
88104
String contactId = recent.getContactId();
89105
if (rContactId.equals(contactId)) {
90-
deleteRecentContact(contactId, recent.getSessionType());
106+
deleteRecentContactCallback(recent, true);
91107
result = true;
92108
break;
93109
}
@@ -127,7 +143,7 @@ void doAddDeleteQuitTeamMessage(final RecentContact r, boolean isDelete) {
127143
if (t.isMyTeam()) {
128144
items.add(r);
129145
} else {
130-
deleteRecentContact(contactId, r.getSessionType());
146+
deleteRecentContactCallback(r, false);
131147
}
132148
} else {
133149
TeamDataCache.getInstance().fetchTeamById(contactId, new SimpleCallback<Team>() {
@@ -136,7 +152,7 @@ public void onResult(boolean success, Team result) {
136152
if (success && result != null) {
137153
if (!result.isMyTeam()) {
138154
items.remove(r);
139-
deleteRecentContact(contactId, SessionTypeEnum.Team);
155+
deleteRecentContactCallback(r, true);
140156
refreshMessages(true);
141157
}
142158
}

android/src/main/java/com/netease/im/login/SysMessageObserver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ private void onIncomingMessage(final SystemMessage message) {
131131
if (addFriendVerifyFilter(message)) {
132132
SystemMessage del = null;
133133
for (SystemMessage m : sysItems) {
134-
if (m.getFromAccount().equals(message.getFromAccount()) && m.getType() == SystemMessageType.AddFriend) {
134+
if (TextUtils.equals(m.getFromAccount(), message.getFromAccount()) && m.getType() == SystemMessageType.AddFriend) {
135135
AddFriendNotify attachData = (AddFriendNotify) m.getAttachObject();
136136
if (attachData != null && attachData.getEvent() == AddFriendNotify.Event.RECV_ADD_FRIEND_VERIFY_REQUEST) {
137137
del = m;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public static void receiver(NotificationManager manager, CustomNotification cust
131131
// LogUtil.i("timestamp",""+data);
132132
String sessionId = data.getString("sessionId");
133133
String sessionType = data.getString("sessionType");
134-
final String id = getSessionType(sessionType) == SessionTypeEnum.P2P ? openId : sessionId;
134+
final String id = sessionId;//getSessionType(sessionType) == SessionTypeEnum.P2P ? openId :
135135
sendRedPacketOpenLocal(id, getSessionType(sessionType), sendId, openId, hasRedPacket, serialNo, t);
136136
}
137137
}

android/src/main/java/com/netease/im/uikit/cache/NimUserInfoCache.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public void getUserInfoFromRemote(final String account, final RequestCallback<Ni
7777

7878
@Override
7979
public void onResult(int code, List<NimUserInfo> users, Throwable exception) {
80-
if (exception != null&&callback != null) {
80+
if (exception != null && callback != null) {
8181
callback.onException(exception);
8282
return;
8383
}
@@ -198,7 +198,6 @@ public String getUserDisplayName(String account) {
198198
}
199199

200200
/**
201-
*
202201
* @param account
203202
* @return
204203
*/
@@ -230,15 +229,15 @@ public String getUserName(String account) {
230229
}
231230

232231
public String getUserDisplayNameEx(String account) {
233-
if (account.equals(LoginService.getInstance().getAccount())) {
232+
if (TextUtils.equals(account, LoginService.getInstance().getAccount())) {
234233
return "我";
235234
}
236235

237236
return getUserDisplayName(account);
238237
}
239238

240239
public String getUserDisplayNameYou(String account) {
241-
if (account.equals(LoginService.getInstance().getAccount())) {
240+
if (TextUtils.equals(account, LoginService.getInstance().getAccount())) {
242241
return "你"; // 若为用户自己,显示“你”
243242
}
244243

android/src/main/java/com/netease/im/uikit/cache/TeamDataCache.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@ public TeamMember getTeamMember(String teamId, String account) {
385385
* @return
386386
*/
387387
public String getTeamMemberDisplayName(String tid, String account) {
388-
if (account.equals(LoginService.getInstance().getAccount())) {
388+
if (TextUtils.equals(account, LoginService.getInstance().getAccount())) {
389389
return "我";
390390
}
391391

@@ -400,7 +400,7 @@ public String getTeamMemberDisplayName(String tid, String account) {
400400
* @return
401401
*/
402402
public String getTeamMemberDisplayNameYou(String tid, String account) {
403-
if (account.equals(LoginService.getInstance().getAccount())) {
403+
if (TextUtils.equals(account, LoginService.getInstance().getAccount())) {
404404
return "你";
405405
}
406406

0 commit comments

Comments
 (0)