Browse Source

Merge branch 'google' into qiye

honghengqiang 2 years ago
parent
commit
635bd2d0b1

+ 0 - 5
baseswago/src/main/java/com/swago/baseswago/agora/AgoraManager.kt

@@ -96,11 +96,6 @@ object AgoraManager {
             setChannelProfile()
         } catch (e: Exception) {
             LogUtil.d(Log.getStackTraceString(e))
-            throw RuntimeException(
-                "NEED TO check rtc sdk init fatal error\n" + Log.getStackTraceString(
-                    e
-                )
-            )
         }
     }
 

+ 4 - 0
baseswago/src/main/java/com/swago/baseswago/constant/UrlConstant.kt

@@ -50,6 +50,10 @@ object UrlConstant {
         if (agoraId.isEmpty()){
             agoraId = getConfigModel()?.agoral_app_id?:""
         }
+        // !!! 为了防止获取到的agoraId不是空的这里如果获取到之后还是空  那么给个默认值
+        if (agoraId.isEmpty()){
+            agoraId = "ae14303e10bd4d98acbd8f63e09fb19b"
+        }
         return agoraId
     }
 

+ 2 - 0
baseswago/src/main/java/com/swago/baseswago/model/live/pk/PunishPKModel.kt

@@ -12,6 +12,8 @@ data class PunishPKModel(
     var oppositeRoomResult:Int=0,
     var oppositeName:String = "",
     var oppositeAvatar:String = "",
+    var pkResultTime:Int = 0,
+    var pkEndTime:Int = 0,
 
     var pkId:String="0"
 )

+ 14 - 8
baseswago/src/main/java/com/swago/baseswago/util/IMUtil.kt

@@ -64,16 +64,22 @@ object IMUtil {
         if (checkIsLogin()){
             //已登录 注释掉是因为下一次登录的时候收不到群消息
 //            V2TIMManager.getInstance().quitGroup(UserInfo.getLoginModel()!!.group_id,null)
-            V2TIMManager.getInstance().joinGroup(UserInfo.getLoginModel()!!.group_id, "",object:V2TIMCallback{
-                override fun onSuccess() {
-                    LogUtil.d("加入大群成功---${UserInfo.getLoginModel()!!.group_id}")
-                }
+            if (UserInfo.getLoginModel()==null){
+                Toast.makeText(AppContext.getContext(), "IM group not exit,please restart app", Toast.LENGTH_SHORT).show()
+            }else{
+                UserInfo.getLoginModel()?.let {
+                    V2TIMManager.getInstance().joinGroup(it.group_id, "",object:V2TIMCallback{
+                        override fun onSuccess() {
+                            LogUtil.d("加入大群成功---${it.group_id}")
+                        }
 
-                override fun onError(code: Int, desc: String?) {
-                    Toast.makeText(AppContext.getContext(), "IM join group error-$code", Toast.LENGTH_SHORT).show()
-                }
+                        override fun onError(code: Int, desc: String?) {
+                            Toast.makeText(AppContext.getContext(), "IM join group error-$code", Toast.LENGTH_SHORT).show()
+                        }
 
-            })
+                    })
+                }
+            }
         }else{
             //未登录成功
             loginCallback?.invoke()

+ 1 - 0
room/src/main/java/com/swago/room/pk/PKLayoutView.kt

@@ -156,6 +156,7 @@ class PKLayoutView : ConstraintLayout, IRoomActiveListener, IPKListener,
                 ivPeerAvatar.loadUrl(context,punishPKModel.oppositeAvatar)
                 tvPeerName.text = punishPKModel.oppositeName
                 tvPeerId.text = AppContext.getContext().resources.getString(R.string.id_x).format(punishPKModel.oppositeUserId)
+                pkEndTime = punishPKModel.pkEndTime
             }else{
                 startPKModel?.let {
                     pkTime = it.pkEndTime - it.pkResultTime

+ 3 - 0
room/src/main/java/com/swago/room/pk/PkVm.kt

@@ -113,6 +113,7 @@ class PkVm(application: Application) : AbsMsgVm(application) {
                             startPKModel.oppositeName = data.oppositeUserName
                             startPKModel.oppositeRoomId = data.oppositeRoomId
                             startPKModel.pkEndTime = startPKModel.pkEndTime
+                            startPKModel.pkResultTime = startPKModel.pkResultTime
                             startPKModel.pkId = data.pkId
                             ipkListener.startPK(startPKModel, false)
 
@@ -143,6 +144,8 @@ class PkVm(application: Application) : AbsMsgVm(application) {
                             punishPKModel.oppositeRoomResult = data.oppositeRoomResult
                             punishPKModel.pkId = data.pkId
                             punishPKModel.userId = data.userId
+                            punishPKModel.pkEndTime = data.pkEndTime
+                            punishPKModel.pkResultTime = data.pkResultTime
                             ipkListener.punishPK(punishPKModel, false)
 
                             val processPKModel = ProcessPKModel(

+ 49 - 46
room/src/main/java/com/swago/room/vm/MsgVm.kt

@@ -32,70 +32,72 @@ import com.swago.baseswago.util.UserInfo
  *@date 2021/10/10 10:00
  *description:
  */
-class MsgVm (application: Application) : AbsMsgVm(application){
+class MsgVm(application: Application) : AbsMsgVm(application) {
 
     var isReady = false
 
-    var newChatMsgFun:((iRoomChat:IRoomChat?)->Unit)? = null
+    var newChatMsgFun: ((iRoomChat: IRoomChat?) -> Unit)? = null
 
-    var anchorRoomClosed:((data:AnchorRoomClosedBean?)->Unit)? = null
+    var anchorRoomClosed: ((data: AnchorRoomClosedBean?) -> Unit)? = null
 
     //强制关播
-    var forceCloseAnchorRoom:((closedReason:String)->Unit)? = null
+    var forceCloseAnchorRoom: ((closedReason: String) -> Unit)? = null
 
-    var inComeChange:((income:String)->Unit)? = null
+    var inComeChange: ((income: String) -> Unit)? = null
 
-    var updateHotValue:((hotValue:String)->Unit)? = null
+    var updateHotValue: ((hotValue: String) -> Unit)? = null
 
-    var kickFromRoom:(()->Unit)? = null
+    var kickFromRoom: (() -> Unit)? = null
 
-    var forbidSpeakOrCancel:((cancel:Boolean)->Unit)? = null
+    var forbidSpeakOrCancel: ((cancel: Boolean) -> Unit)? = null
 
-    var updateUserRoom:(()->Unit)? = null
+    var updateUserRoom: (() -> Unit)? = null
+
+    var newRedEnvelopeCome: ((redEnvelope: RedEnvelope) -> Unit)? = null
 
-    var newRedEnvelopeCome:((redEnvelope:RedEnvelope)->Unit)? = null
     //红包传送门
-    var openRedEnvelopPortal:((redEnvelope:RedEnvelope)->Unit)? = null
+    var openRedEnvelopPortal: ((redEnvelope: RedEnvelope) -> Unit)? = null
 
     /**
      * 播放svg动画
      */
-    var playSvgUrl:((data:IMGiftModel)->Unit)? = null
+    var playSvgUrl: ((data: IMGiftModel) -> Unit)? = null
 
     /**
      * 礼物飘条
      */
-    var waftFun:((data:IPiaoTiao)->Unit)? = null
+    var waftFun: ((data: IPiaoTiao) -> Unit)? = null
 
     /**
      * 礼物弹道展示
      */
-    var showGiftDanDao:((data:IMGiftModel)->Unit)? = null
+    var showGiftDanDao: ((data: IMGiftModel) -> Unit)? = null
 
     override fun receiveMsg() {
-        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<RoomChatMsgBean>>(room_chat_text){
-            if (it.getGroupId() == (SwagoRoomManager.iRoomInfo?.getRoomGroupId() ?: "")){
+        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<RoomChatMsgBean>>(room_chat_text) {
+            if (it.getGroupId() == (SwagoRoomManager.iRoomInfo?.getRoomGroupId() ?: "")) {
                 it.data?.let {
                     newChatMsgFun?.invoke(it)
                 }
             }
         }
 
-        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<UserJoinRoomBean>>(user_join_room){
-            if (it.getGroupId() == (SwagoRoomManager.iRoomInfo?.getRoomGroupId() ?: "")){
+        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<UserJoinRoomBean>>(user_join_room) {
+            if (isReady && it.getGroupId() == (SwagoRoomManager.iRoomInfo?.getRoomGroupId()
+                    ?: "")
+            ) {
                 if (SwagoRoomManager.roleType == RoleType.user || it.data?.senderCode != UserInfo.getUserInfo()?.user_account) {
                     it.data?.let {
                         newChatMsgFun?.invoke(it)
                         updateHotValue?.invoke(it.hotValue)
                         updateUserRoom?.invoke()
                     }
-
                 }
             }
         }
 
-        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<UserJoinRoomBean>>(user_exit_room){
-            if (it.getGroupId() == (SwagoRoomManager.iRoomInfo?.getRoomGroupId() ?: "")){
+        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<UserJoinRoomBean>>(user_exit_room) {
+            if (it.getGroupId() == (SwagoRoomManager.iRoomInfo?.getRoomGroupId() ?: "")) {
                 if (SwagoRoomManager.roleType == RoleType.user || it.data?.senderCode != UserInfo.getUserInfo()?.user_account) {
                     it.data?.let {
                         updateHotValue?.invoke(it.hotValue)
@@ -106,28 +108,28 @@ class MsgVm (application: Application) : AbsMsgVm(application){
             }
         }
 
-        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<AnchorRoomClosedBean>>(anchor_close_room){
+        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<AnchorRoomClosedBean>>(anchor_close_room) {
             SwagoRoomManager.iRoomInfo?.let { iRoomInfo ->
-                if (iRoomInfo.getRoomId() == (it.data?.roomId ?: "")){
+                if (iRoomInfo.getRoomId() == (it.data?.roomId ?: "")) {
                     anchorRoomClosed?.invoke(it.data)
                 }
             }
         }
 
         //后台强制关播
-        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<ForceCloseModel>>(force_close_live_room){
+        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<ForceCloseModel>>(force_close_live_room) {
             SwagoRoomManager.iRoomInfo?.let { iRoomInfo ->
-                if (iRoomInfo.getRoomId() == (it.data?.roomId ?: "")){
-                    forceCloseAnchorRoom?.invoke(it.data?.closedReason?:"")
+                if (iRoomInfo.getRoomId() == (it.data?.roomId ?: "")) {
+                    forceCloseAnchorRoom?.invoke(it.data?.closedReason ?: "")
                 }
             }
         }
 
-        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<IMGiftModel>>(svg_gift){
+        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<IMGiftModel>>(svg_gift) {
             SwagoRoomManager.iRoomInfo?.let { iRoomInfo ->
-                if (isReady){
+                if (isReady) {
                     it.data?.let {
-                        if (iRoomInfo.getRoomId() == (it.roomId ?: "")){
+                        if (iRoomInfo.getRoomId() == (it.roomId ?: "")) {
                             playSvgUrl?.invoke(it)
                             inComeChange?.invoke(it.incomeCount)
                         }
@@ -137,15 +139,15 @@ class MsgVm (application: Application) : AbsMsgVm(application){
             }
         }
 
-        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<IMGiftModel>>(lucky_gift){
+        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<IMGiftModel>>(lucky_gift) {
             SwagoRoomManager.iRoomInfo?.let { iRoomInfo ->
-                if (isReady){
+                if (isReady) {
                     it.data?.let {
-                        if (iRoomInfo.getRoomId() == (it.roomId ?: "")){
+                        if (iRoomInfo.getRoomId() == (it.roomId ?: "")) {
                             showGiftDanDao?.invoke(it)
                             inComeChange?.invoke(it.incomeCount)
                         }
-                        if (it.multiple>=500){
+                        if (it.multiple >= 500) {
                             waftFun?.invoke(it)
                         }
                     }
@@ -154,11 +156,12 @@ class MsgVm (application: Application) : AbsMsgVm(application){
         }
 
         imGroupNewMsgListener.handleMsgType<CusNewMsgBean<FollowSuccessMsgBean>>(
-            follow_anchor_success){
+            follow_anchor_success
+        ) {
             SwagoRoomManager.iRoomInfo?.let { iRoomInfo ->
-                if (isReady){
+                if (isReady) {
                     it.data?.let {
-                        if (iRoomInfo.getRoomId() == (it.roomId ?: "")){
+                        if (iRoomInfo.getRoomId() == (it.roomId ?: "")) {
                             newChatMsgFun?.invoke(it)
                         }
                     }
@@ -167,11 +170,11 @@ class MsgVm (application: Application) : AbsMsgVm(application){
         }
 
 
-        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<ReceiveModel>>(remove_room){
+        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<ReceiveModel>>(remove_room) {
             SwagoRoomManager.iRoomInfo?.let { iRoomInfo ->
                 UserInfo.getUserInfo()?.let { userInfo ->
                     it.data?.let {
-                        if (it.roomId == iRoomInfo.getRoomId()&&it.receiverId==userInfo.id) {
+                        if (it.roomId == iRoomInfo.getRoomId() && it.receiverId == userInfo.id) {
                             kickFromRoom?.invoke()
                         }
                     }
@@ -179,11 +182,11 @@ class MsgVm (application: Application) : AbsMsgVm(application){
             }
         }
 
-        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<ReceiveModel>>(forbid_speak){
+        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<ReceiveModel>>(forbid_speak) {
             SwagoRoomManager.iRoomInfo?.let { iRoomInfo ->
                 UserInfo.getUserInfo()?.let { userInfo ->
                     it.data?.let {
-                        if (it.roomId == iRoomInfo.getRoomId()&&it.receiverId==userInfo.id) {
+                        if (it.roomId == iRoomInfo.getRoomId() && it.receiverId == userInfo.id) {
                             forbidSpeakOrCancel?.invoke(true)
                         }
                     }
@@ -191,11 +194,11 @@ class MsgVm (application: Application) : AbsMsgVm(application){
             }
         }
 
-        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<ReceiveModel>>(cancel_forbid_speak){
+        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<ReceiveModel>>(cancel_forbid_speak) {
             SwagoRoomManager.iRoomInfo?.let { iRoomInfo ->
                 UserInfo.getUserInfo()?.let { userInfo ->
                     it.data?.let {
-                        if (it.roomId == iRoomInfo.getRoomId()&&it.receiverId==userInfo.id) {
+                        if (it.roomId == iRoomInfo.getRoomId() && it.receiverId == userInfo.id) {
                             forbidSpeakOrCancel?.invoke(false)
                         }
                     }
@@ -204,7 +207,7 @@ class MsgVm (application: Application) : AbsMsgVm(application){
         }
 
         //红包
-        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<RedEnvelope>>(red_envelope){
+        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<RedEnvelope>>(red_envelope) {
             SwagoRoomManager.iRoomInfo?.let { iRoomInfo ->
                 it.data?.let {
                     if (it.roomId == iRoomInfo.getRoomId()) {
@@ -216,10 +219,10 @@ class MsgVm (application: Application) : AbsMsgVm(application){
         }
 
         //红包全局通知
-        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<RedEnvelope>>(red_envelope_broadcast){
+        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<RedEnvelope>>(red_envelope_broadcast) {
             SwagoRoomManager.iRoomInfo?.let { iRoomInfo ->
                 it.data?.let {
-                    if (isReady&&it.roomId != iRoomInfo.getRoomId()&&SwagoRoomManager.roleType==RoleType.user) {
+                    if (isReady && it.roomId != iRoomInfo.getRoomId() && SwagoRoomManager.roleType == RoleType.user) {
                         //其他直播间用户收到这个全局红包的通知触发弹窗
                         openRedEnvelopPortal?.invoke(it)
                     }
@@ -227,7 +230,7 @@ class MsgVm (application: Application) : AbsMsgVm(application){
             }
         }
         //游戏中奖飘条
-        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<GamePrize>>(game_win_big_prize){
+        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<GamePrize>>(game_win_big_prize) {
             SwagoRoomManager.iRoomInfo?.let { iRoomInfo ->
                 it.data?.let {
                     if (isReady) {

+ 4 - 1
room/src/main/java/com/swago/room/widget/AnchorFooterView.kt

@@ -13,6 +13,7 @@ import com.swago.baseswago.util.NoDoubleClickListener
 import com.swago.baseswago.util.UserInfo
 import com.swago.room.databinding.LayoutAnchorFooterViewBinding
 import com.swago.room.inter.IFooter
+import com.swago.room.pk.PKStateManager
 
 /**
  *@date 2021/10/9 10:55
@@ -83,7 +84,9 @@ class AnchorFooterView : ConstraintLayout, IFooter, IRoomActiveListener {
 
         binding.ivPK.setOnClickListener(object : NoDoubleClickListener() {
             override fun onClick() {
-                openPKFun?.invoke()
+                if (PKStateManager.roomState == PKStateManager.LIVING){
+                    openPKFun?.invoke()
+                }
             }
         })
     }

+ 21 - 15
tuikit/src/main/java/com/tencent/qcloud/tim/uikit/TUIKitImpl.java

@@ -37,6 +37,7 @@ import com.tencent.qcloud.tim.uikit.modules.message.MessageRevokedManager;
 import com.tencent.qcloud.tim.uikit.utils.BackgroundTasks;
 import com.tencent.qcloud.tim.uikit.utils.FileUtil;
 import com.tencent.qcloud.tim.uikit.utils.TUIKitLog;
+import com.tencent.qcloud.tim.uikit.utils.ToastUtil;
 
 import java.io.File;
 import java.lang.reflect.Field;
@@ -130,22 +131,27 @@ public class TUIKitImpl {
     }
 
     public static void login(final String userid, final String usersig, final IUIKitCallBack callback) {
-        TUIKitConfigs.getConfigs().getGeneralConfig().setUserId(userid);
-        TUIKitConfigs.getConfigs().getGeneralConfig().setUserSig(usersig);
-        V2TIMManager.getInstance().login(userid, usersig, new V2TIMCallback() {
-            @Override
-            public void onError(int code, String desc) {
-                callback.onError(TAG, code, desc);
-            }
+        try {
+            TUIKitConfigs.getConfigs().getGeneralConfig().setUserId(userid);
+            TUIKitConfigs.getConfigs().getGeneralConfig().setUserSig(usersig);
+            V2TIMManager.getInstance().login(userid, usersig, new V2TIMCallback() {
+                @Override
+                public void onError(int code, String desc) {
+                    callback.onError(TAG, code, desc);
+                }
 
-            @Override
-            public void onSuccess() {
-                loginTUIKitLive(TUIKitConfigs.getConfigs().getGeneralConfig().getSDKAppId(),
-                        userid,
-                        usersig);
-                callback.onSuccess(null);
-            }
-        });
+                @Override
+                public void onSuccess() {
+                    loginTUIKitLive(TUIKitConfigs.getConfigs().getGeneralConfig().getSDKAppId(),
+                            userid,
+                            usersig);
+                    callback.onSuccess(null);
+                }
+            });
+        }catch (Exception e){
+            ToastUtil.toastShortMessage(e.getMessage());
+            e.printStackTrace();
+        }
     }
 
     public static void logout(final IUIKitCallBack callback) {