diff --git a/app/src/main/java/com/yizhuan/erban/ui/im/recent/RecentContactsFragment.java b/app/src/main/java/com/yizhuan/erban/ui/im/recent/RecentContactsFragment.java index 87c2e63dc..8cc8e235f 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/im/recent/RecentContactsFragment.java +++ b/app/src/main/java/com/yizhuan/erban/ui/im/recent/RecentContactsFragment.java @@ -1,9 +1,11 @@ package com.yizhuan.erban.ui.im.recent; import android.os.Bundle; + import androidx.annotation.Nullable; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; + import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; @@ -48,8 +50,12 @@ import com.qiyukf.unicorn.api.msg.UnicornMessage; import com.yizhuan.erban.R; import com.yizhuan.erban.home.event.ContactTrashEvent; import com.yizhuan.erban.ui.im.recent.adapter.RecentContactAdapter; +import com.yizhuan.xchat_android_constants.XChatConstants; +import com.yizhuan.xchat_android_core.auth.AuthModel; import com.yizhuan.xchat_android_core.customer_server.CustomerServerModel; import com.yizhuan.xchat_android_core.customer_server.event.CustomerServerMsgEvent; +import com.yizhuan.xchat_android_core.initial.InitialModel; +import com.yizhuan.xchat_android_core.utils.CheckUtils; import com.yizhuan.xchat_android_library.utils.SingleToastUtil; import org.greenrobot.eventbus.EventBus; @@ -61,6 +67,7 @@ import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; @@ -390,6 +397,17 @@ public class RecentContactsFragment extends TFragment { } private void refreshMessages(boolean unreadChanged) { + + if (CheckUtils.isCheckUser()) { + Iterator iterator = items.iterator(); + while (iterator.hasNext()) { + RecentContact recentContact = iterator.next(); + if (!recentContact.getContactId().equals(String.valueOf(XChatConstants.SECRETARY_UID)) || + !recentContact.getContactId().equals(String.valueOf(XChatConstants.SYSTEM_MESSAGER_UID))) { + iterator.remove(); + } + } + } sortRecentContacts(items); notifyDataSetChanged(); diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/auth/AuthModel.java b/core/src/main/java/com/yizhuan/xchat_android_core/auth/AuthModel.java index b3bfd7184..0cba75c0b 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/auth/AuthModel.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/auth/AuthModel.java @@ -47,6 +47,7 @@ import com.yizhuan.xchat_android_core.user.UserModel; import com.yizhuan.xchat_android_core.user.bean.UserInfo; import com.yizhuan.xchat_android_core.user.event.LoadLoginUserInfoEvent; import com.yizhuan.xchat_android_core.utils.APIEncryptUtil; +import com.yizhuan.xchat_android_core.utils.CheckUtils; import com.yizhuan.xchat_android_core.utils.OldHttpErrorHandleUtil; import com.yizhuan.xchat_android_core.utils.net.RxHelper; import com.yizhuan.xchat_android_library.net.rxnet.RxNet; @@ -284,7 +285,7 @@ public class AuthModel extends BaseModel implements IAuthModel { //是否是超管 if (loginResult.getSuperCodeVerify() == 1) { emitter.onError(new IsSuperAdminException(loginResult.getMessage())); - }else { + } else { emitter.onError(new Throwable(loginResult.getMessage())); } } else { @@ -742,7 +743,7 @@ public class AuthModel extends BaseModel implements IAuthModel { public void subscribe(SingleEmitter emitter) throws Exception { //获取登录信息 try { - LoginResult loginResult = api.quickPassLogin( token, accessToken, yiDunToken, shuMeiDeviceId ).blockingGet(); + LoginResult loginResult = api.quickPassLogin(token, accessToken, yiDunToken, shuMeiDeviceId).blockingGet(); if (!loginResult.isSuccess()) { if (loginResult.getCode() == CODE_BAN_ACCOUNT || loginResult.getCode() == CODE_BAN_DEVICE) { emitter.onError(new BanAccountException(loginResult.getReason(), loginResult.getDate())); @@ -752,7 +753,7 @@ public class AuthModel extends BaseModel implements IAuthModel { //是否是超管 if (loginResult.getSuperCodeVerify() == 1) { emitter.onError(new IsSuperAdminException(loginResult.getMessage())); - }else { + } else { emitter.onError(new Throwable(loginResult.getMessage())); } } else if (loginResult.getCode() == CODE_BIG_HEAD_NUM) { @@ -1051,8 +1052,8 @@ public class AuthModel extends BaseModel implements IAuthModel { switch (registerResult.getCode()) { case CODE_HIT_YI_DUN: case VERIFY_CODE_ERROR: - return Single.error(new FailReasonException( - registerResult.getMessage(), registerResult.getCode())); + return Single.error(new FailReasonException( + registerResult.getMessage(), registerResult.getCode())); } return Single.error(new Throwable(registerResult.getMessage())); } @@ -1312,8 +1313,8 @@ public class AuthModel extends BaseModel implements IAuthModel { private void initNotificationConfig() { - // 初始化消息提醒 - NIMClient.toggleNotification(true); + // 初始化消息提醒,如果是审核账号,不开启推送 + NIMClient.toggleNotification(!CheckUtils.isCheckUser()); // // 加载状态栏配置 // StatusBarNotificationConfig statusBarNotificationConfig = new StatusBarNotificationConfig(); //// 更新配置 @@ -1390,7 +1391,7 @@ public class AuthModel extends BaseModel implements IAuthModel { @Query("code") String code, @Query("yiDunToken") String yiDunToken, @Query("shuMeiDeviceId") String shuMeiDeviceId - ); + ); /** @@ -1601,22 +1602,17 @@ public class AuthModel extends BaseModel implements IAuthModel { Single> check(@Query("phone") String phone, @Query("code") String code); /** - * - * @param token - * 易盾一键登录token - * @param accessToken - * 易盾一键登录accessToken - * @param shuMeiDeviceId - * 数美设备id - * @param yiDunToken - * 易盾登录保护token + * @param token 易盾一键登录token + * @param accessToken 易盾一键登录accessToken + * @param shuMeiDeviceId 数美设备id + * @param yiDunToken 易盾登录保护token * @return */ @POST("acc/oneclick/login") Single quickPassLogin(@Query("token") String token, - @Query("accessToken") String accessToken, - @Query("shuMeiDeviceId") String shuMeiDeviceId, - @Query("yiDunToken") String yiDunToken + @Query("accessToken") String accessToken, + @Query("shuMeiDeviceId") String shuMeiDeviceId, + @Query("yiDunToken") String yiDunToken ); diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/initial/bean/InitInfo.java b/core/src/main/java/com/yizhuan/xchat_android_core/initial/bean/InitInfo.java index 9584fb495..44c1f5baa 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/initial/bean/InitInfo.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/initial/bean/InitInfo.java @@ -143,4 +143,6 @@ public class InitInfo implements Serializable { private String androidUrl; private String iOSUrl; } + + private List checkUids; } diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/utils/CheckUtils.java b/core/src/main/java/com/yizhuan/xchat_android_core/utils/CheckUtils.java new file mode 100644 index 000000000..b896f9a76 --- /dev/null +++ b/core/src/main/java/com/yizhuan/xchat_android_core/utils/CheckUtils.java @@ -0,0 +1,15 @@ +package com.yizhuan.xchat_android_core.utils; + +import com.yizhuan.xchat_android_core.auth.AuthModel; +import com.yizhuan.xchat_android_core.initial.InitialModel; +import com.yizhuan.xchat_android_core.initial.bean.InitInfo; +import com.yizhuan.xchat_android_library.utils.ListUtils; + +public class CheckUtils { + + public static boolean isCheckUser() { + InitInfo initInfo = InitialModel.get().getCacheInitInfo(); + if (initInfo == null || ListUtils.isListEmpty(initInfo.getCheckUids())) return false; + return initInfo.getCheckUids().contains(AuthModel.get().getCurrentUid()); + } +} diff --git a/gradle.properties b/gradle.properties index 6c0f5682e..f09e7099d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -21,5 +21,5 @@ with_jenkins=false #\u6253\u652F\u6301x86\u7684\u6A21\u62DF\u5668\u5305\u4F7F\u7528 ndk_abi_filters=arm -version_name=2.0.0 -version_code=200 \ No newline at end of file +version_name=2.0.2 +version_code=202 \ No newline at end of file