jixionghui 4 роки тому
батько
коміт
3580fde9c6

+ 1 - 0
build.gradle

@@ -8,6 +8,7 @@ buildscript {
     }
     repositories {
         jcenter()
+        mavenCentral()
         google()
 //        maven { url 'https://github.com/jitsi/jitsi-maven-repository/raw/master/releases' }
 

+ 1 - 0
skWeiChatBaidu/build.gradle

@@ -299,6 +299,7 @@ dependencies {
     implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-28'
 
     implementation 'com.google.code.gson:gson:2.8.4'
+    implementation "me.leolin:ShortcutBadger:1.1.22@aar"
 }
 
 configurations {

Різницю між файлами не показано, бо вона завелика
+ 1 - 1
skWeiChatBaidu/src/main/java/com/liaobo/im/AppConfig.java


+ 2 - 1
skWeiChatBaidu/src/main/java/com/liaobo/im/course/SelectFriendsActivity.java

@@ -125,7 +125,8 @@ public class SelectFriendsActivity extends BaseActivity {
         Map<String, String> params = new HashMap<>();
         params.put("access_token", coreManager.getSelfStatus().accessToken);
         params.put("roomId", friend.getRoomId());
-
+        params.put("pageSize","10000");
+        params.put("pageIndex","0");
         HttpUtils.get().url(coreManager.getConfig().ROOM_GET_ROOM)
                 .params(params)
                 .build()

+ 15 - 20
skWeiChatBaidu/src/main/java/com/liaobo/im/ui/message/MucChatActivity.java

@@ -179,7 +179,7 @@ public class MucChatActivity extends BaseActivity implements
     private String mLoginUserId;
     private String mLoginNickName;
     private String instantMessage;
-    private MucRoom mucRoom;
+//    private MucRoom mucRoom;
     // 是否为通知栏进入
     private boolean isNotificationComing;
     // 当前聊天对象的UserId(就是房间jid)
@@ -782,9 +782,6 @@ public class MucChatActivity extends BaseActivity implements
      ***************************************/
     @Override
     public void onMyAvatarClick() {
-        if ((mucRoom==null || mucRoom.getAllowSendCard()==0) && mucRoom.getMember()!=null && mucRoom.getMember().getRole()==3 ){
-            return;
-        }
         mChatBottomView.reset();
         mChatBottomView.postDelayed(new Runnable() {
             @Override
@@ -803,11 +800,13 @@ public class MucChatActivity extends BaseActivity implements
      */
     private boolean isAllowSecretlyChat(String friendUserId,boolean isAllowCache){
         RoomMember itemMember = filterMucRoomMemberByUserId(friendUserId);
-        if ( itemMember ==null ) {
+
+        if ( itemMember ==null || mRoomMember==null) {
             return false;
         }
+
         if (!isAllowCache){
-            if (itemMember.getRole()==3){
+            if (mRoomMember.getRole()==3  &&itemMember.getRole()==3){
                 return false;
             }
         }
@@ -815,12 +814,8 @@ public class MucChatActivity extends BaseActivity implements
     }
 
     private RoomMember filterMucRoomMemberByUserId(String friendUserId){
-        if (mChatContentView ==null){
-            return null;
-        }
-       List<RoomMember> list = mChatContentView.getRoomMemberList();
-       if (list !=null) {
-           for (RoomMember member: list) {
+       if (mRoomMemberList !=null) {
+           for (RoomMember member: mRoomMemberList) {
                if (member.getUserId().equals(friendUserId) ){
                    return member;
                }
@@ -2477,14 +2472,14 @@ public class MucChatActivity extends BaseActivity implements
 
     private void initRoomMember() {
         if (mFriend.getGroupStatus() == 0) {// 正常状态
-            List<RoomMember> roomMemberList = RoomMemberDao.getInstance().getRoomMember(roomId);
-            if (roomMemberList.size() > 0) {
+            mRoomMemberList = RoomMemberDao.getInstance().getRoomMember(roomId);
+            if (mRoomMemberList.size() > 0) {
                 mRoomMember = RoomMemberDao.getInstance().getSingleRoomMember(roomId, mLoginUserId);
                 if (mRoomMember != null) {// 更新群成员表
                     onRoleChanged(mRoomMember.getRole());
                 }
                 // 成员列表传进去为了显示管理员的头像,
-                mChatContentView.setRoomMemberList(roomMemberList);
+                mChatContentView.setRoomMemberList(mRoomMemberList);
             } else {
                 loadMembers(roomId, false);
             }
@@ -2786,8 +2781,8 @@ public class MucChatActivity extends BaseActivity implements
                              @Override
                              public void onResponse(ObjectResult<MucRoom> result) {
                                  if (result.getResultCode() == 1 && result.getData() != null) {
-                                     mucRoom = result.getData();
-                                     update(mucRoom, isAtAction);
+                                     MucRoom mucRoom = result.getData();
+                                     mRoomMemberList = update(mucRoom, isAtAction);
                                  } else {
                                      ToastUtil.showErrorData(mContext);
                                  }
@@ -2843,7 +2838,7 @@ public class MucChatActivity extends BaseActivity implements
         params.put("access_token", coreManager.getSelfStatus().accessToken);
         params.put("roomId", roomId);
 
-        HttpUtils.get().url(coreManager.getConfig().ROOM_GET_ROOM)
+        HttpUtils.get().url(coreManager.getConfig().ROOM_GET)
                 .params(params)
                 .build()
                 .execute(new BaseCallback<MucRoom>(MucRoom.class) {
@@ -2864,7 +2859,7 @@ public class MucChatActivity extends BaseActivity implements
 
                                          groupTip(getString(R.string.tip_been_kick_self));
                                      } else {// 正常状态
-                                         List<RoomMember> roomMemberList = update(mucRoom, false);
+                                         mRoomMemberList = update(mucRoom, false);
 
                                          mFriend.setGroupStatus(0);
                                          FriendDao.getInstance().updateFriendGroupStatus(mLoginUserId, mucRoom.getJid(), 0);// 更新本地群组状态
@@ -2876,7 +2871,7 @@ public class MucChatActivity extends BaseActivity implements
                                          // 此时可能正在初始化群成员信息,本地可能没有自己的信息,
                                          RoomMemberDao.getInstance().updateRoomMemberRole(mucRoom.getId(), mLoginUserId, mucRoom.getMember().getRole());
                                          onRoleChanged(mucRoom.getMember().getRole());
-                                         mChatContentView.setRoomMemberList(roomMemberList);
+                                         mChatContentView.setRoomMemberList(mRoomMemberList);
 
                                          // 如果有转发进来的消息就处理一下,
                                          instantChatMessage();

+ 2 - 2
skWeiChatBaidu/src/main/java/com/liaobo/im/view/chatHolder/RedViewHolder.java

@@ -135,8 +135,8 @@ class RedViewHolder extends AChatHolderInterface {
                             } else {
                                 // 在群里面我领取过的红包直接跳转
 
-
-                                if (isGounp &&( mdata.getFileSize() != 1 || !mLoginUserId.equals(openRedpacket.getPacket().getAssignUserId()))) {
+                                String assignUserId = openRedpacket.getPacket().getAssignUserId();
+                                if (isGounp &&( mdata.getFileSize() != 1 || (!TextUtils.isEmpty(assignUserId))&& !mLoginUserId.equals(assignUserId))) {
                                     mContext.startActivity(intent);
                                 } else {
                                     if (mdata.getFilePath().equals("3")) {