honghengqiang 3 年之前
父节点
当前提交
31e6987fa9

+ 2 - 2
app/build.gradle

@@ -15,8 +15,8 @@ android {
         applicationId "com.swago.app"
         minSdkVersion 21
         targetSdkVersion 30
-        versionCode 1070
-        versionName "1.0.7.0"
+        versionCode 1071
+        versionName "1.0.7.1"
         multiDexEnabled true
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
 

+ 122 - 151
app/mapping.txt

@@ -1,12 +1,12 @@
 # compiler: R8
 # compiler_version: 2.2.66
 # min_api: 21
-# pg_map_id: 9dd4171
+# pg_map_id: cf6de11
 # common_typos_disable
 $$ServiceLoaderMethods -> a:
 # {"id":"sourceFile","fileName":"ServiceLoader"}
-    java.util.Iterator $load$75632() -> a
-    java.util.Iterator $load$75911() -> b
+    java.util.Iterator $load$75629() -> a
+    java.util.Iterator $load$75908() -> b
 android.support.customtabs.ICustomTabsCallback$Stub -> android.support.customtabs.ICustomTabsCallback$Stub:
     1:2:void <init>():18:19 -> <init>
     1:3:android.support.customtabs.ICustomTabsCallback asInterface(android.os.IBinder):30:32 -> asInterface
@@ -152017,37 +152017,6 @@ com.swago.app.databinding.ActivitySplashBinding -> com.swago.app.databinding.Act
     3:3:com.swago.app.databinding.ActivitySplashBinding bind(android.view.View):50:50 -> inflate
     3:3:com.swago.app.databinding.ActivitySplashBinding inflate(android.view.LayoutInflater,android.view.ViewGroup,boolean):41 -> inflate
     3:3:com.swago.app.databinding.ActivitySplashBinding inflate(android.view.LayoutInflater):31 -> inflate
-com.swago.app.databinding.DialogGiftBinding -> com.swago.app.databinding.DialogGiftBinding:
-    androidx.constraintlayout.widget.ConstraintLayout rootView -> a
-    1:2:void <init>(androidx.constraintlayout.widget.ConstraintLayout,com.swago.room.gift.ComboView,net.lucode.hackware.magicindicator.MagicIndicator,android.widget.TextView,android.widget.TextView,android.widget.TextView,androidx.viewpager.widget.ViewPager):44:45 -> <init>
-    1:1:androidx.constraintlayout.widget.ConstraintLayout getRoot():57:57 -> getRoot
-    1:1:android.view.View getRoot():20 -> getRoot
-    1:1:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater,android.view.ViewGroup,boolean):68:68 -> inflate
-    1:1:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater):62 -> inflate
-    2:2:com.swago.app.databinding.DialogGiftBinding bind(android.view.View):82:82 -> inflate
-    2:2:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater,android.view.ViewGroup,boolean):72 -> inflate
-    2:2:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater):62 -> inflate
-    3:3:com.swago.app.databinding.DialogGiftBinding bind(android.view.View):88:88 -> inflate
-    3:3:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater,android.view.ViewGroup,boolean):72 -> inflate
-    3:3:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater):62 -> inflate
-    4:4:com.swago.app.databinding.DialogGiftBinding bind(android.view.View):94:94 -> inflate
-    4:4:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater,android.view.ViewGroup,boolean):72 -> inflate
-    4:4:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater):62 -> inflate
-    5:5:com.swago.app.databinding.DialogGiftBinding bind(android.view.View):100:100 -> inflate
-    5:5:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater,android.view.ViewGroup,boolean):72 -> inflate
-    5:5:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater):62 -> inflate
-    6:6:com.swago.app.databinding.DialogGiftBinding bind(android.view.View):106:106 -> inflate
-    6:6:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater,android.view.ViewGroup,boolean):72 -> inflate
-    6:6:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater):62 -> inflate
-    7:7:com.swago.app.databinding.DialogGiftBinding bind(android.view.View):112:112 -> inflate
-    7:7:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater,android.view.ViewGroup,boolean):72 -> inflate
-    7:7:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater):62 -> inflate
-    8:8:com.swago.app.databinding.DialogGiftBinding bind(android.view.View):117:117 -> inflate
-    8:8:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater,android.view.ViewGroup,boolean):72 -> inflate
-    8:8:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater):62 -> inflate
-    9:10:com.swago.app.databinding.DialogGiftBinding bind(android.view.View):120:121 -> inflate
-    9:10:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater,android.view.ViewGroup,boolean):72 -> inflate
-    9:10:com.swago.app.databinding.DialogGiftBinding inflate(android.view.LayoutInflater):62 -> inflate
 com.swago.baseswago.-$$Lambda$PersonDataDFragment$1-KJ41W8nQZcraerC05v__1Ob8U -> com.swago.baseswago.a:
 # {"id":"sourceFile","fileName":"lambda"}
     com.swago.baseswago.PersonDataDFragment f$0 -> a
@@ -152770,7 +152739,10 @@ com.swago.baseswago.UserVm$followUser$1$1 -> com.swago.baseswago.l:
     2:2:java.lang.Object invoke(java.lang.Object,java.lang.Object):0 -> invoke
     1:1:java.lang.Object invokeSuspend(java.lang.Object):76:76 -> invokeSuspend
     2:2:java.lang.Object invokeSuspend(java.lang.Object):81:81 -> invokeSuspend
-    3:8:java.lang.Object invokeSuspend(java.lang.Object):76:81 -> invokeSuspend
+    3:5:java.lang.Object invokeSuspend(java.lang.Object):76:78 -> invokeSuspend
+    6:6:java.lang.Object com.swago.baseswago.inter.UserApi$DefaultImpls.follow$default(com.swago.baseswago.inter.UserApi,java.lang.String,int,java.lang.String,kotlin.coroutines.Continuation,int,java.lang.Object):38:38 -> invokeSuspend
+    6:6:java.lang.Object invokeSuspend(java.lang.Object):78 -> invokeSuspend
+    7:9:java.lang.Object invokeSuspend(java.lang.Object):79:81 -> invokeSuspend
 com.swago.baseswago.UserVm$followUser$1$2 -> com.swago.baseswago.m:
 # {"id":"sourceFile","fileName":"UserVm.kt"}
     com.swago.baseswago.UserVm$followUser$1$2 INSTANCE -> n
@@ -152841,7 +152813,7 @@ com.swago.baseswago.UserVm$getBlackList$1$1 -> com.swago.baseswago.p:
     1:1:java.lang.Object invokeSuspend(java.lang.Object):118:118 -> invokeSuspend
     2:2:java.lang.Object invokeSuspend(java.lang.Object):121:121 -> invokeSuspend
     3:4:java.lang.Object invokeSuspend(java.lang.Object):118:119 -> invokeSuspend
-    5:5:java.lang.Object com.swago.baseswago.inter.UserApi$DefaultImpls.getBackList$default(com.swago.baseswago.inter.UserApi,int,int,kotlin.coroutines.Continuation,int,java.lang.Object):62:62 -> invokeSuspend
+    5:5:java.lang.Object com.swago.baseswago.inter.UserApi$DefaultImpls.getBackList$default(com.swago.baseswago.inter.UserApi,int,int,kotlin.coroutines.Continuation,int,java.lang.Object):63:63 -> invokeSuspend
     5:5:java.lang.Object invokeSuspend(java.lang.Object):119 -> invokeSuspend
     6:6:java.lang.Object invokeSuspend(java.lang.Object):118:118 -> invokeSuspend
     7:8:java.lang.Object invokeSuspend(java.lang.Object):120:121 -> invokeSuspend
@@ -152868,7 +152840,7 @@ com.swago.baseswago.UserVm$getFollowList$1 -> com.swago.baseswago.UserVm$g:
     1:1:java.lang.Object invokeSuspend(java.lang.Object):94:94 -> invokeSuspend
     2:2:java.lang.Object invokeSuspend(java.lang.Object):97:97 -> invokeSuspend
     3:4:java.lang.Object invokeSuspend(java.lang.Object):94:95 -> invokeSuspend
-    5:5:java.lang.Object com.swago.baseswago.inter.UserApi$DefaultImpls.getList$default(com.swago.baseswago.inter.UserApi,int,int,int,kotlin.coroutines.Continuation,int,java.lang.Object):46:46 -> invokeSuspend
+    5:5:java.lang.Object com.swago.baseswago.inter.UserApi$DefaultImpls.getList$default(com.swago.baseswago.inter.UserApi,int,int,int,kotlin.coroutines.Continuation,int,java.lang.Object):47:47 -> invokeSuspend
     5:5:java.lang.Object invokeSuspend(java.lang.Object):95 -> invokeSuspend
     6:6:java.lang.Object invokeSuspend(java.lang.Object):94:94 -> invokeSuspend
     7:8:java.lang.Object invokeSuspend(java.lang.Object):96:97 -> invokeSuspend
@@ -154926,16 +154898,16 @@ com.swago.baseswago.im.GroupMsgParser -> com.swago.baseswago.c0.a:
     2:3:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):38:39 -> a
     4:6:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):46:48 -> a
     7:7:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):50:50 -> a
-    8:10:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):79:79 -> a
-    11:11:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):84:84 -> a
-    12:14:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):88:88 -> a
-    15:15:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):93:93 -> a
-    16:18:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):97:97 -> a
-    19:19:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):102:102 -> a
-    20:22:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):70:70 -> a
-    23:23:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):75:75 -> a
-    24:26:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):52:52 -> a
-    27:27:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):57:57 -> a
+    8:10:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):97:97 -> a
+    11:11:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):102:102 -> a
+    12:14:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):70:70 -> a
+    15:15:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):75:75 -> a
+    16:18:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):52:52 -> a
+    19:19:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):57:57 -> a
+    20:22:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):79:79 -> a
+    23:23:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):84:84 -> a
+    24:26:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):88:88 -> a
+    27:27:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):93:93 -> a
     28:30:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):61:61 -> a
     31:31:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):66:66 -> a
     32:32:java.lang.Object parserGroupMsg(com.tencent.imsdk.v2.V2TIMMessage,kotlin.coroutines.Continuation):105:105 -> a
@@ -155114,19 +155086,19 @@ com.swago.baseswago.inter.RoomApi -> com.swago.baseswago.d0.f:
 com.swago.baseswago.inter.UserApi -> com.swago.baseswago.d0.g:
 # {"id":"sourceFile","fileName":"UserApi.kt"}
     java.lang.Object getBackList(int,int,kotlin.coroutines.Continuation) -> a
-    java.lang.Object addToBlackList(java.lang.String,int,kotlin.coroutines.Continuation) -> b
-    java.lang.Object modifyUserInfo(com.swago.baseswago.model.UploadInfo,kotlin.coroutines.Continuation) -> c
-    java.lang.Object reportUser(java.lang.String,java.lang.String,kotlin.coroutines.Continuation) -> d
-    java.lang.Object getOtherUserInfo(java.lang.String,kotlin.coroutines.Continuation) -> e
-    java.lang.Object getAnchorBlackList(int,kotlin.coroutines.Continuation) -> f
-    java.lang.Object getRoomBlackList(int,kotlin.coroutines.Continuation) -> g
-    java.lang.Object receiveTaskReward(java.lang.String,kotlin.coroutines.Continuation) -> h
-    java.lang.Object getList(int,int,int,kotlin.coroutines.Continuation) -> i
-    java.lang.Object logout(kotlin.coroutines.Continuation) -> j
-    java.lang.Object getUserInfo(kotlin.coroutines.Continuation) -> k
-    java.lang.Object getLevelList(int,kotlin.coroutines.Continuation) -> l
-    java.lang.Object uploadPic(okhttp3.MultipartBody$Part,kotlin.coroutines.Continuation) -> m
-    java.lang.Object follow(java.lang.String,int,kotlin.coroutines.Continuation) -> n
+    java.lang.Object follow(java.lang.String,int,java.lang.String,kotlin.coroutines.Continuation) -> b
+    java.lang.Object addToBlackList(java.lang.String,int,kotlin.coroutines.Continuation) -> c
+    java.lang.Object modifyUserInfo(com.swago.baseswago.model.UploadInfo,kotlin.coroutines.Continuation) -> d
+    java.lang.Object reportUser(java.lang.String,java.lang.String,kotlin.coroutines.Continuation) -> e
+    java.lang.Object getOtherUserInfo(java.lang.String,kotlin.coroutines.Continuation) -> f
+    java.lang.Object getAnchorBlackList(int,kotlin.coroutines.Continuation) -> g
+    java.lang.Object getRoomBlackList(int,kotlin.coroutines.Continuation) -> h
+    java.lang.Object receiveTaskReward(java.lang.String,kotlin.coroutines.Continuation) -> i
+    java.lang.Object getList(int,int,int,kotlin.coroutines.Continuation) -> j
+    java.lang.Object logout(kotlin.coroutines.Continuation) -> k
+    java.lang.Object getUserInfo(kotlin.coroutines.Continuation) -> l
+    java.lang.Object getLevelList(int,kotlin.coroutines.Continuation) -> m
+    java.lang.Object uploadPic(okhttp3.MultipartBody$Part,kotlin.coroutines.Continuation) -> n
     java.lang.Object getTaskList(int,kotlin.coroutines.Continuation) -> o
 com.swago.baseswago.libpay.-$$Lambda$PayManager$NuF8XuKXHOOmOpSAjcHl5Q5yWPQ -> com.swago.baseswago.e0.a:
 # {"id":"sourceFile","fileName":"lambda"}
@@ -155599,12 +155571,11 @@ com.swago.baseswago.model.im.CusNewMsgBean -> com.swago.baseswago.model.im.CusNe
     1:1:com.tencent.imsdk.v2.V2TIMMessage getV2TIMMessage():12:12 -> getV2TIMMessage
     1:1:void setData(java.lang.Object):13:13 -> setData
     1:1:void setV2TIMMessage(com.tencent.imsdk.v2.V2TIMMessage):12:12 -> setV2TIMMessage
-com.swago.baseswago.model.im.DiamondWindupBean -> com.swago.baseswago.model.im.DiamondWindupBean:
-    1:1:void <init>():7:7 -> <init>
-    1:1:java.lang.String getIncomeCount():22:22 -> getIncomeCount
-    1:1:java.lang.String getRoomId():14:14 -> getRoomId
-    1:1:void setIncomeCount(java.lang.String):26:26 -> setIncomeCount
-    1:1:void setRoomId(java.lang.String):18:18 -> setRoomId
+com.swago.baseswago.model.im.FollowSuccessMsgBean -> com.swago.baseswago.model.im.FollowSuccessMsgBean:
+    1:1:void <init>():14:14 -> <init>
+    1:1:java.lang.String getMsgContent():31:31 -> getMsgContent
+    1:1:java.lang.String getSenderId():52:52 -> getSenderId
+    1:1:java.lang.String getSenderName():25:25 -> getSenderName
 com.swago.baseswago.model.im.RoomChatMsgBean -> com.swago.baseswago.model.im.RoomChatMsgBean:
     1:1:void <init>():12:12 -> <init>
     1:1:int getIsBenefit():45:45 -> getIsBenefit
@@ -162263,89 +162234,89 @@ com.swago.room.vm.-$$LambdaGroup$ks$0ZQ1FQ9pPuQPcqEOVq3Dhss_HZw -> com.swago.roo
 # {"id":"sourceFile","fileName":"kotlin-style lambda group"}
     int $id$ -> n
     java.lang.Object $capture$0 -> o
-    1:1:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$3.invoke(java.lang.Object):86:86 -> invoke
+    1:1:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$3.invoke(java.lang.Object):83:83 -> invoke
     1:1:java.lang.Object invoke(java.lang.Object):0 -> invoke
     2:2:void com.swago.room.vm.MsgVm$receiveMsg$3.invoke(com.swago.baseswago.model.im.CusNewMsgBean):0:0 -> invoke
-    2:2:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$3.invoke(java.lang.Object):86 -> invoke
+    2:2:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$3.invoke(java.lang.Object):83 -> invoke
     2:2:java.lang.Object invoke(java.lang.Object):0 -> invoke
-    3:7:void com.swago.room.vm.MsgVm$receiveMsg$3.invoke(com.swago.baseswago.model.im.CusNewMsgBean):87:91 -> invoke
-    3:7:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$3.invoke(java.lang.Object):86 -> invoke
+    3:7:void com.swago.room.vm.MsgVm$receiveMsg$3.invoke(com.swago.baseswago.model.im.CusNewMsgBean):84:88 -> invoke
+    3:7:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$3.invoke(java.lang.Object):83 -> invoke
     3:7:java.lang.Object invoke(java.lang.Object):0 -> invoke
-    8:8:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$3.invoke(java.lang.Object):86:86 -> invoke
+    8:8:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$3.invoke(java.lang.Object):83:83 -> invoke
     8:8:java.lang.Object invoke(java.lang.Object):0 -> invoke
     9:9:java.lang.Object invoke(java.lang.Object):0:0 -> invoke
-    10:10:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$2.invoke(java.lang.Object):73:73 -> invoke
+    10:10:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$2.invoke(java.lang.Object):70:70 -> invoke
     10:10:java.lang.Object invoke(java.lang.Object):0 -> invoke
     11:11:void com.swago.room.vm.MsgVm$receiveMsg$2.invoke(com.swago.baseswago.model.im.CusNewMsgBean):0:0 -> invoke
-    11:11:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$2.invoke(java.lang.Object):73 -> invoke
+    11:11:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$2.invoke(java.lang.Object):70 -> invoke
     11:11:java.lang.Object invoke(java.lang.Object):0 -> invoke
-    12:17:void com.swago.room.vm.MsgVm$receiveMsg$2.invoke(com.swago.baseswago.model.im.CusNewMsgBean):74:79 -> invoke
-    12:17:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$2.invoke(java.lang.Object):73 -> invoke
+    12:17:void com.swago.room.vm.MsgVm$receiveMsg$2.invoke(com.swago.baseswago.model.im.CusNewMsgBean):71:76 -> invoke
+    12:17:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$2.invoke(java.lang.Object):70 -> invoke
     12:17:java.lang.Object invoke(java.lang.Object):0 -> invoke
-    18:18:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$2.invoke(java.lang.Object):73:73 -> invoke
+    18:18:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$2.invoke(java.lang.Object):70:70 -> invoke
     18:18:java.lang.Object invoke(java.lang.Object):0 -> invoke
 com.swago.room.vm.-$$LambdaGroup$ks$2ZXiV1Xfnev3uJnuM9axwEYoPTw -> com.swago.room.vm.MsgVm$b:
 # {"id":"sourceFile","fileName":"kotlin-style lambda group"}
     int $id$ -> n
     java.lang.Object $capture$0 -> o
-    1:1:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$6.invoke(java.lang.Object):118:118 -> invoke
+    1:1:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$6.invoke(java.lang.Object):115:115 -> invoke
     1:1:java.lang.Object invoke(java.lang.Object):0 -> invoke
     2:2:void com.swago.room.vm.MsgVm$receiveMsg$6.invoke(com.swago.baseswago.model.im.CusNewMsgBean):0:0 -> invoke
-    2:2:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$6.invoke(java.lang.Object):118 -> invoke
+    2:2:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$6.invoke(java.lang.Object):115 -> invoke
     2:2:java.lang.Object invoke(java.lang.Object):0 -> invoke
-    3:8:void com.swago.room.vm.MsgVm$receiveMsg$6.invoke(com.swago.baseswago.model.im.CusNewMsgBean):119:124 -> invoke
-    3:8:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$6.invoke(java.lang.Object):118 -> invoke
+    3:8:void com.swago.room.vm.MsgVm$receiveMsg$6.invoke(com.swago.baseswago.model.im.CusNewMsgBean):116:121 -> invoke
+    3:8:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$6.invoke(java.lang.Object):115 -> invoke
     3:8:java.lang.Object invoke(java.lang.Object):0 -> invoke
-    9:9:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$6.invoke(java.lang.Object):118:118 -> invoke
+    9:9:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$6.invoke(java.lang.Object):115:115 -> invoke
     9:9:java.lang.Object invoke(java.lang.Object):0 -> invoke
     10:10:java.lang.Object invoke(java.lang.Object):0:0 -> invoke
-    11:11:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$5.invoke(java.lang.Object):105:105 -> invoke
+    11:11:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$5.invoke(java.lang.Object):102:102 -> invoke
     11:11:java.lang.Object invoke(java.lang.Object):0 -> invoke
     12:12:void com.swago.room.vm.MsgVm$receiveMsg$5.invoke(com.swago.baseswago.model.im.CusNewMsgBean):0:0 -> invoke
-    12:12:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$5.invoke(java.lang.Object):105 -> invoke
+    12:12:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$5.invoke(java.lang.Object):102 -> invoke
     12:12:java.lang.Object invoke(java.lang.Object):0 -> invoke
-    13:18:void com.swago.room.vm.MsgVm$receiveMsg$5.invoke(com.swago.baseswago.model.im.CusNewMsgBean):106:111 -> invoke
-    13:18:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$5.invoke(java.lang.Object):105 -> invoke
+    13:18:void com.swago.room.vm.MsgVm$receiveMsg$5.invoke(com.swago.baseswago.model.im.CusNewMsgBean):103:108 -> invoke
+    13:18:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$5.invoke(java.lang.Object):102 -> invoke
     13:18:java.lang.Object invoke(java.lang.Object):0 -> invoke
-    19:19:void com.swago.room.vm.MsgVm$receiveMsg$5.invoke(com.swago.baseswago.model.im.CusNewMsgBean):113:113 -> invoke
-    19:19:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$5.invoke(java.lang.Object):105 -> invoke
+    19:19:void com.swago.room.vm.MsgVm$receiveMsg$5.invoke(com.swago.baseswago.model.im.CusNewMsgBean):110:110 -> invoke
+    19:19:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$5.invoke(java.lang.Object):102 -> invoke
     19:19:java.lang.Object invoke(java.lang.Object):0 -> invoke
-    20:20:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$5.invoke(java.lang.Object):105:105 -> invoke
+    20:20:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$5.invoke(java.lang.Object):102:102 -> invoke
     20:20:java.lang.Object invoke(java.lang.Object):0 -> invoke
 com.swago.room.vm.-$$LambdaGroup$ks$7xCDeBWrXKzdr5_WCw5NBqaADc0 -> com.swago.room.vm.MsgVm$c:
 # {"id":"sourceFile","fileName":"kotlin-style lambda group"}
     int $id$ -> n
     java.lang.Object $capture$0 -> o
-    1:1:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$9.invoke(java.lang.Object):156:156 -> invoke
+    1:1:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$9.invoke(java.lang.Object):154:154 -> invoke
     1:1:java.lang.Object invoke(java.lang.Object):0 -> invoke
     2:2:void com.swago.room.vm.MsgVm$receiveMsg$9.invoke(com.swago.baseswago.model.im.CusNewMsgBean):0:0 -> invoke
-    2:2:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$9.invoke(java.lang.Object):156 -> invoke
+    2:2:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$9.invoke(java.lang.Object):154 -> invoke
     2:2:java.lang.Object invoke(java.lang.Object):0 -> invoke
-    3:7:void com.swago.room.vm.MsgVm$receiveMsg$9.invoke(com.swago.baseswago.model.im.CusNewMsgBean):157:161 -> invoke
-    3:7:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$9.invoke(java.lang.Object):156 -> invoke
+    3:7:void com.swago.room.vm.MsgVm$receiveMsg$9.invoke(com.swago.baseswago.model.im.CusNewMsgBean):155:159 -> invoke
+    3:7:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$9.invoke(java.lang.Object):154 -> invoke
     3:7:java.lang.Object invoke(java.lang.Object):0 -> invoke
-    8:8:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$9.invoke(java.lang.Object):156:156 -> invoke
+    8:8:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$9.invoke(java.lang.Object):154:154 -> invoke
     8:8:java.lang.Object invoke(java.lang.Object):0 -> invoke
     9:9:java.lang.Object invoke(java.lang.Object):0:0 -> invoke
-    10:10:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$8.invoke(java.lang.Object):144:144 -> invoke
+    10:10:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$8.invoke(java.lang.Object):142:142 -> invoke
     10:10:java.lang.Object invoke(java.lang.Object):0 -> invoke
     11:11:void com.swago.room.vm.MsgVm$receiveMsg$8.invoke(com.swago.baseswago.model.im.CusNewMsgBean):0:0 -> invoke
-    11:11:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$8.invoke(java.lang.Object):144 -> invoke
+    11:11:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$8.invoke(java.lang.Object):142 -> invoke
     11:11:java.lang.Object invoke(java.lang.Object):0 -> invoke
-    12:16:void com.swago.room.vm.MsgVm$receiveMsg$8.invoke(com.swago.baseswago.model.im.CusNewMsgBean):145:149 -> invoke
-    12:16:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$8.invoke(java.lang.Object):144 -> invoke
+    12:16:void com.swago.room.vm.MsgVm$receiveMsg$8.invoke(com.swago.baseswago.model.im.CusNewMsgBean):143:147 -> invoke
+    12:16:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$8.invoke(java.lang.Object):142 -> invoke
     12:16:java.lang.Object invoke(java.lang.Object):0 -> invoke
-    17:17:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$8.invoke(java.lang.Object):144:144 -> invoke
+    17:17:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$8.invoke(java.lang.Object):142:142 -> invoke
     17:17:java.lang.Object invoke(java.lang.Object):0 -> invoke
-    18:18:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$10.invoke(java.lang.Object):168:168 -> invoke
+    18:18:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$10.invoke(java.lang.Object):166:166 -> invoke
     18:18:java.lang.Object invoke(java.lang.Object):0 -> invoke
     19:19:void com.swago.room.vm.MsgVm$receiveMsg$10.invoke(com.swago.baseswago.model.im.CusNewMsgBean):0:0 -> invoke
-    19:19:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$10.invoke(java.lang.Object):168 -> invoke
+    19:19:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$10.invoke(java.lang.Object):166 -> invoke
     19:19:java.lang.Object invoke(java.lang.Object):0 -> invoke
-    20:24:void com.swago.room.vm.MsgVm$receiveMsg$10.invoke(com.swago.baseswago.model.im.CusNewMsgBean):169:173 -> invoke
-    20:24:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$10.invoke(java.lang.Object):168 -> invoke
+    20:24:void com.swago.room.vm.MsgVm$receiveMsg$10.invoke(com.swago.baseswago.model.im.CusNewMsgBean):167:171 -> invoke
+    20:24:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$10.invoke(java.lang.Object):166 -> invoke
     20:24:java.lang.Object invoke(java.lang.Object):0 -> invoke
-    25:25:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$10.invoke(java.lang.Object):168:168 -> invoke
+    25:25:java.lang.Object com.swago.room.vm.MsgVm$receiveMsg$10.invoke(java.lang.Object):166:166 -> invoke
     25:25:java.lang.Object invoke(java.lang.Object):0 -> invoke
 com.swago.room.vm.MsgVm -> com.swago.room.vm.MsgVm:
 # {"id":"sourceFile","fileName":"MsgVm.kt"}
@@ -162360,71 +162331,71 @@ com.swago.room.vm.MsgVm -> com.swago.room.vm.MsgVm:
     kotlin.jvm.functions.Function1 inComeChange -> r
     kotlin.jvm.functions.Function1 anchorRoomClosed -> q
     kotlin.jvm.functions.Function1 updateHotValue -> s
-    1:1:void <init>(android.app.Application):31:31 -> <init>
-    1:1:void setReady(boolean):33:33 -> A
-    1:1:void setShowGiftDanDao(kotlin.jvm.functions.Function1):62:62 -> B
-    1:1:void setUpdateHotValue(kotlin.jvm.functions.Function1):41:41 -> C
-    1:1:void setUpdateUserRoom(kotlin.jvm.functions.Function2):47:47 -> D
-    1:1:void setWaftFun(kotlin.jvm.functions.Function1):57:57 -> E
-    1:1:void receiveMsg():65:65 -> c
-    2:2:void receiveMsg():73:73 -> c
-    3:3:void receiveMsg():86:86 -> c
-    4:4:void receiveMsg():98:98 -> c
-    5:5:void receiveMsg():105:105 -> c
-    6:6:void receiveMsg():118:118 -> c
-    7:7:void receiveMsg():131:131 -> c
-    8:8:void receiveMsg():144:144 -> c
-    9:9:void receiveMsg():156:156 -> c
-    10:10:void receiveMsg():168:168 -> c
+    1:1:void <init>(android.app.Application):28:28 -> <init>
+    1:1:void setReady(boolean):30:30 -> A
+    1:1:void setShowGiftDanDao(kotlin.jvm.functions.Function1):59:59 -> B
+    1:1:void setUpdateHotValue(kotlin.jvm.functions.Function1):38:38 -> C
+    1:1:void setUpdateUserRoom(kotlin.jvm.functions.Function2):44:44 -> D
+    1:1:void setWaftFun(kotlin.jvm.functions.Function1):54:54 -> E
+    1:1:void receiveMsg():62:62 -> c
+    2:2:void receiveMsg():70:70 -> c
+    3:3:void receiveMsg():83:83 -> c
+    4:4:void receiveMsg():95:95 -> c
+    5:5:void receiveMsg():102:102 -> c
+    6:6:void receiveMsg():115:115 -> c
+    7:7:void receiveMsg():128:128 -> c
+    8:8:void receiveMsg():142:142 -> c
+    9:9:void receiveMsg():154:154 -> c
+    10:10:void receiveMsg():166:166 -> c
     void leaveRoom(com.swago.baseswago.baseroom.IRoomInfo) -> d
     void endRoom(com.swago.baseswago.baseroom.IRoomInfo) -> e
-    1:1:kotlin.jvm.functions.Function1 getAnchorRoomClosed():37:37 -> f
-    1:1:kotlin.jvm.functions.Function1 getForbidSpeakOrCancel():45:45 -> g
-    1:1:kotlin.jvm.functions.Function1 getInComeChange():39:39 -> h
-    1:1:kotlin.jvm.functions.Function0 getKickFromRoom():43:43 -> i
-    1:1:kotlin.jvm.functions.Function1 getNewChatMsgFun():35:35 -> j
-    1:1:kotlin.jvm.functions.Function1 getPlaySvgUrl():52:52 -> k
-    1:1:kotlin.jvm.functions.Function1 getShowGiftDanDao():62:62 -> l
-    1:1:kotlin.jvm.functions.Function1 getUpdateHotValue():41:41 -> n
-    1:1:kotlin.jvm.functions.Function2 getUpdateUserRoom():47:47 -> o
+    1:1:kotlin.jvm.functions.Function1 getAnchorRoomClosed():34:34 -> f
+    1:1:kotlin.jvm.functions.Function1 getForbidSpeakOrCancel():42:42 -> g
+    1:1:kotlin.jvm.functions.Function1 getInComeChange():36:36 -> h
+    1:1:kotlin.jvm.functions.Function0 getKickFromRoom():40:40 -> i
+    1:1:kotlin.jvm.functions.Function1 getNewChatMsgFun():32:32 -> j
+    1:1:kotlin.jvm.functions.Function1 getPlaySvgUrl():49:49 -> k
+    1:1:kotlin.jvm.functions.Function1 getShowGiftDanDao():59:59 -> l
+    1:1:kotlin.jvm.functions.Function1 getUpdateHotValue():38:38 -> n
+    1:1:kotlin.jvm.functions.Function2 getUpdateUserRoom():44:44 -> o
     void closeRoomed() -> p
     void joinedRoom(com.swago.baseswago.baseroom.IRoomInfo) -> q
     void changeRoom(com.swago.baseswago.baseroom.IRoomInfo) -> r
-    1:1:kotlin.jvm.functions.Function1 getWaftFun():57:57 -> s
-    1:1:boolean isReady():33:33 -> t
-    1:1:void setAnchorRoomClosed(kotlin.jvm.functions.Function1):37:37 -> u
-    1:1:void setForbidSpeakOrCancel(kotlin.jvm.functions.Function1):45:45 -> v
-    1:1:void setInComeChange(kotlin.jvm.functions.Function1):39:39 -> w
-    1:1:void setKickFromRoom(kotlin.jvm.functions.Function0):43:43 -> x
-    1:1:void setNewChatMsgFun(kotlin.jvm.functions.Function1):35:35 -> y
-    1:1:void setPlaySvgUrl(kotlin.jvm.functions.Function1):52:52 -> z
+    1:1:kotlin.jvm.functions.Function1 getWaftFun():54:54 -> s
+    1:1:boolean isReady():30:30 -> t
+    1:1:void setAnchorRoomClosed(kotlin.jvm.functions.Function1):34:34 -> u
+    1:1:void setForbidSpeakOrCancel(kotlin.jvm.functions.Function1):42:42 -> v
+    1:1:void setInComeChange(kotlin.jvm.functions.Function1):36:36 -> w
+    1:1:void setKickFromRoom(kotlin.jvm.functions.Function0):40:40 -> x
+    1:1:void setNewChatMsgFun(kotlin.jvm.functions.Function1):32:32 -> y
+    1:1:void setPlaySvgUrl(kotlin.jvm.functions.Function1):49:49 -> z
 com.swago.room.vm.MsgVm$receiveMsg$1 -> com.swago.room.vm.MsgVm$d:
 # {"id":"sourceFile","fileName":"MsgVm.kt"}
     com.swago.room.vm.MsgVm this$0 -> n
-    1:1:java.lang.Object invoke(java.lang.Object):65:65 -> invoke
+    1:1:java.lang.Object invoke(java.lang.Object):62:62 -> invoke
     2:2:void invoke(com.swago.baseswago.model.im.CusNewMsgBean):0:0 -> invoke
-    2:2:java.lang.Object invoke(java.lang.Object):65 -> invoke
-    3:5:void invoke(com.swago.baseswago.model.im.CusNewMsgBean):66:68 -> invoke
-    3:5:java.lang.Object invoke(java.lang.Object):65 -> invoke
-    6:6:java.lang.Object invoke(java.lang.Object):65:65 -> invoke
+    2:2:java.lang.Object invoke(java.lang.Object):62 -> invoke
+    3:5:void invoke(com.swago.baseswago.model.im.CusNewMsgBean):63:65 -> invoke
+    3:5:java.lang.Object invoke(java.lang.Object):62 -> invoke
+    6:6:java.lang.Object invoke(java.lang.Object):62:62 -> invoke
 com.swago.room.vm.MsgVm$receiveMsg$4 -> com.swago.room.vm.MsgVm$e:
 # {"id":"sourceFile","fileName":"MsgVm.kt"}
     com.swago.room.vm.MsgVm this$0 -> n
-    1:1:java.lang.Object invoke(java.lang.Object):98:98 -> invoke
+    1:1:java.lang.Object invoke(java.lang.Object):95:95 -> invoke
     2:2:void invoke(com.swago.baseswago.model.im.CusNewMsgBean):0:0 -> invoke
-    2:2:java.lang.Object invoke(java.lang.Object):98 -> invoke
-    3:5:void invoke(com.swago.baseswago.model.im.CusNewMsgBean):99:101 -> invoke
-    3:5:java.lang.Object invoke(java.lang.Object):98 -> invoke
-    6:6:java.lang.Object invoke(java.lang.Object):98:98 -> invoke
+    2:2:java.lang.Object invoke(java.lang.Object):95 -> invoke
+    3:5:void invoke(com.swago.baseswago.model.im.CusNewMsgBean):96:98 -> invoke
+    3:5:java.lang.Object invoke(java.lang.Object):95 -> invoke
+    6:6:java.lang.Object invoke(java.lang.Object):95:95 -> invoke
 com.swago.room.vm.MsgVm$receiveMsg$7 -> com.swago.room.vm.MsgVm$f:
 # {"id":"sourceFile","fileName":"MsgVm.kt"}
     com.swago.room.vm.MsgVm this$0 -> n
-    1:1:java.lang.Object invoke(java.lang.Object):131:131 -> invoke
+    1:1:java.lang.Object invoke(java.lang.Object):128:128 -> invoke
     2:2:void invoke(com.swago.baseswago.model.im.CusNewMsgBean):0:0 -> invoke
-    2:2:java.lang.Object invoke(java.lang.Object):131 -> invoke
-    3:7:void invoke(com.swago.baseswago.model.im.CusNewMsgBean):132:136 -> invoke
-    3:7:java.lang.Object invoke(java.lang.Object):131 -> invoke
-    8:8:java.lang.Object invoke(java.lang.Object):131:131 -> invoke
+    2:2:java.lang.Object invoke(java.lang.Object):128 -> invoke
+    3:7:void invoke(com.swago.baseswago.model.im.CusNewMsgBean):130:134 -> invoke
+    3:7:java.lang.Object invoke(java.lang.Object):128 -> invoke
+    8:8:java.lang.Object invoke(java.lang.Object):128:128 -> invoke
 com.swago.room.vm.RoomOtherVm -> com.swago.room.vm.RoomOtherVm:
 # {"id":"sourceFile","fileName":"RoomOtherVm.kt"}
     kotlin.Lazy gameListModelLiveData$delegate -> b

+ 19 - 5
app/src/main/java/com/swago/app/SplashActivity.kt

@@ -4,7 +4,10 @@ import androidx.appcompat.app.AppCompatActivity
 import android.os.Bundle
 import androidx.activity.viewModels
 import com.alibaba.android.arouter.launcher.ARouter
+import com.google.gson.Gson
 import com.swago.baseswago.constant.ARouteConstant
+import com.swago.baseswago.constant.UrlConstant
+import com.swago.baseswago.util.SpUtil
 
 import com.swago.baseswago.util.UserInfo
 
@@ -12,15 +15,26 @@ class SplashActivity : AppCompatActivity() {
 
     private val splashVm by viewModels<SplashVm>()
 
+    private val gson by lazy {
+        Gson()
+    }
+
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_splash)
 
-        if (UserInfo.getLoginModel() == null){
-            ARouter.getInstance().build(ARouteConstant.Login.login).navigation()
-            finish()
-        }else{
-            splashVm.loginByAuto()
+        splashVm.getAppConfig()
+
+        splashVm.appConfigLiveData.observe(this){
+            UrlConstant.setAgoraId(it.agoral_app_id)
+            UrlConstant.setImId(it.im_app_id)
+            SpUtil.putString("configModel", gson.toJson(it))
+            if (UserInfo.getLoginModel() == null){
+                ARouter.getInstance().build(ARouteConstant.Login.login).navigation()
+                finish()
+            }else{
+                splashVm.loginByAuto()
+            }
         }
 
     }

+ 16 - 0
app/src/main/java/com/swago/app/SplashVm.kt

@@ -4,10 +4,12 @@ import android.app.Application
 import android.content.Intent
 import android.util.Log
 import android.widget.Toast
+import androidx.lifecycle.MutableLiveData
 import com.alibaba.android.arouter.launcher.ARouter
 import com.google.gson.Gson
 import com.swago.baseswago.constant.ARouteConstant
 import com.swago.baseswago.inter.ApiManager
+import com.swago.baseswago.model.ConfigModel
 import com.swago.baseswago.util.*
 import com.tencent.qcloud.tim.uikit.TUIKit
 import com.tencent.qcloud.tim.uikit.base.IUIKitCallBack
@@ -28,4 +30,18 @@ class SplashVm (application: Application) : BaseViewModel(application) {
                 .withFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP).navigation()
         }
     }
+
+
+    val appConfigLiveData by lazy {
+        MutableLiveData<ConfigModel>()
+    }
+    /**
+     * 获取配置
+     */
+    fun getAppConfig(){
+        requestData {
+            val data = ApiManager.configApi.getAppConfig()
+            appConfigLiveData.value = data
+        }
+    }
 }

+ 1 - 1
app/src/main/java/com/swago/app/SwagoApp.kt

@@ -44,7 +44,7 @@ class SwagoApp : Application() {
         CrashHandler.getInstance().init(this)
         ActivityManagerUtil.get().init(this)
         ARouter.init(this)
-        TUIKit.init(this,UrlConstant.imId, TUIKitConfigs.getConfigs())
+        TUIKit.init(this,UrlConstant.getImId(), TUIKitConfigs.getConfigs())
         //svga缓存
         val cacheDir = File(this.cacheDir, "http")
         HttpResponseCache.install(cacheDir, 1024 * 1024 * 128)

+ 1 - 0
app/src/main/res/values/themes.xml

@@ -12,5 +12,6 @@
         <!-- Status bar color. -->
         <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
         <!-- Customize your theme here. -->
+        <item name="android:forceDarkAllowed" tools:targetApi="q">false</item>
     </style>
 </resources>

+ 3 - 1
baseswago/src/main/java/com/swago/baseswago/agora/AgoraManager.kt

@@ -31,7 +31,7 @@ object AgoraManager {
             this.iSwagoIRtcEngineEventHandler = iRtcEngineEventHandler
             mRtcEngine = RtcEngine.create(
                 context,
-                UrlConstant.agoraId,
+                UrlConstant.getAgoraId(),
                 object : IRtcEngineEventHandler() {
 
                     override fun onUserOffline(uid: Int, reason: Int) {
@@ -160,6 +160,7 @@ object AgoraManager {
         }
         mRtcEngine?.disableVideo()
         mRtcEngine?.leaveChannel()
+        iSwagoIRtcEngineEventHandler = null
         RtcEngine.destroy()
     }
 
@@ -171,6 +172,7 @@ object AgoraManager {
             mRtcEngine?.stopPreview()
         }
         mRtcEngine?.disableVideo()
+        iSwagoIRtcEngineEventHandler = null
         RtcEngine.destroy()
     }
 

+ 48 - 54
baseswago/src/main/java/com/swago/baseswago/constant/UrlConstant.kt

@@ -1,7 +1,12 @@
 package com.swago.baseswago.constant
 
+import com.google.gson.Gson
 import com.swago.baseswago.BuildConfig
+import com.swago.baseswago.model.ConfigModel
+import com.swago.baseswago.model.LoginModel
 import com.swago.baseswago.util.AppContext
+import com.swago.baseswago.util.SpUtil
+import com.swago.baseswago.util.UserInfo
 import java.io.File
 
 /**
@@ -10,77 +15,66 @@ import java.io.File
  */
 object UrlConstant {
 
-     val BASE_URL by lazy {
-         if (BuildConfig.DEBUG) {
-             "http:test-api.swago.cn"
-         } else {
-             "https://pro-api.swago.cn"
-         }
-     }
-
-     private val BASE_WEB_URL by lazy {
-         if (BuildConfig.DEBUG) {
-             "http://swago-h5.codedreamit.com"
-         } else {
-             "http://h5.swago.cn"
-         }
-     }
-
-     //im_id
-     val imId by lazy {
-         if (BuildConfig.DEBUG) {
-             1400636688
-         } else {
-             1400636362
-         }
-     }
-
-     //声网id
-     val agoraId by lazy {
-         if (BuildConfig.DEBUG) {
-             "eeefecc934404228bf22014794f4dc71"
-         } else {
-             "ae14303e10bd4d98acbd8f63e09fb19b"
-         }
-     }
-
-
-  /*  val BASE_URL by lazy {
+    val BASE_URL by lazy {
         if (BuildConfig.DEBUG) {
-            "https://pro-api.swago.cn"
-        } else {
             "http:test-api.swago.cn"
+        } else {
+            "https://pro-api.swago.cn"
         }
     }
 
     private val BASE_WEB_URL by lazy {
         if (BuildConfig.DEBUG) {
-            "http://h5.swago.cn"
-        } else {
             "http://swago-h5.codedreamit.com"
+        } else {
+            "http://h5.swago.cn"
         }
     }
 
-    //im_id
-    val imId by lazy {
-        if (BuildConfig.DEBUG) {
-            1400636362
-        } else {
-            1400636688
-        }
+
+    private val gson by lazy {
+        Gson()
     }
 
     //声网id
-    val agoraId by lazy {
-        if (BuildConfig.DEBUG) {
-            "ae14303e10bd4d98acbd8f63e09fb19b"
+    private var agoraId = ""
+
+    fun getConfigModel():ConfigModel?{
+        val infoJson = SpUtil.readString("configModel")
+        return if (infoJson.isNullOrEmpty()) {
+            null
         } else {
-            "eeefecc934404228bf22014794f4dc71"
+            gson.fromJson(infoJson, ConfigModel::class.java)
+        }
+    }
+
+    fun getAgoraId():String{
+        if (agoraId.isEmpty()){
+            agoraId = getConfigModel()?.agoral_app_id?:""
         }
-    }*/
+        return agoraId
+    }
+
+    fun setAgoraId(agoraId:String){
+        this.agoraId = agoraId
+    }
+
+    //腾讯IM
+    private var imId = 0
+
+    fun getImId():Int{
+        if (imId==0){
+            imId = getConfigModel()?.im_app_id?:0
+        }
+        return imId
+    }
+
+    fun setImId(imId:Int){
+        this.imId = imId
+    }
 
-    const val USER_AGREEMENT = "https://swago-1304432552.cos.ap-hongkong.myqcloud.com/html/userAgreement.html"
-    const val USER_PRIVACY = "https://swago-1304432552.cos.ap-hongkong.myqcloud.com/html/privacyAgreement.html"
+    const val USER_AGREEMENT = "http://doc.swago.cn/html/userAgreement.html"
+    const val USER_PRIVACY = "http://doc.swago.cn/html/privacyPolicy.html"
 
     val TOP_UP = "${BASE_WEB_URL}/recharge/detail"
     val WITHDRAW = "${BASE_WEB_URL}/withdrawal"

+ 3 - 3
baseswago/src/main/java/com/swago/baseswago/im/GroupMsgParser.kt

@@ -4,7 +4,7 @@ import com.alibaba.fastjson.util.ParameterizedTypeImpl
 import com.google.gson.Gson
 import com.swago.baseswago.im.ImConstant.anchor_close_room
 import com.swago.baseswago.im.ImConstant.cancel_forbid_speak
-import com.swago.baseswago.im.ImConstant.diamond_wind_up
+import com.swago.baseswago.im.ImConstant.follow_anchor_success
 import com.swago.baseswago.im.ImConstant.forbid_speak
 import com.swago.baseswago.im.ImConstant.lucky_gift
 import com.swago.baseswago.im.ImConstant.remove_room
@@ -75,9 +75,9 @@ class GroupMsgParser : IGroupNewMsgParser {
                     parserModel = gson.fromJson(resultString,parameterizedTypeImpl)
                 }
 
-                diamond_wind_up -> {
+                follow_anchor_success -> {
                     parameterizedTypeImpl = ParameterizedTypeImpl(
-                        arrayOf<Type>(DiamondWindupBean::class.java),
+                        arrayOf<Type>(FollowSuccessMsgBean::class.java),
                         CusNewMsgBean::class.java,
                         CusNewMsgBean::class.java
                     )

+ 2 - 2
baseswago/src/main/java/com/swago/baseswago/im/ImConstant.kt

@@ -32,9 +32,9 @@ object ImConstant {
     const val svg_gift = 201
 
     /**
-     * 小数结算珍珠
+     * 关注主播成功
      */
-    const val diamond_wind_up = 203
+    const val follow_anchor_success = 204
 
     /**
      * 幸运礼物

+ 1 - 0
baseswago/src/main/java/com/swago/baseswago/im/RoomMsgType.kt

@@ -9,5 +9,6 @@ object RoomMsgType {
     const val ROOM_CHAT_TEXT = 1
     const val USER_ENTER_ROOM = 2
     const val SYSTEM_MESSAGE = 3
+    const val FOLLOW_MESSAGE = 4
 
 }

+ 2 - 1
baseswago/src/main/java/com/swago/baseswago/inter/UserApi.kt

@@ -37,7 +37,8 @@ interface UserApi {
     @POST("/v1/user/follow")
     suspend fun follow(
         @Field("user_follow_id") userId: String,
-        @Field("follow_type") type: Int
+        @Field("follow_type") type: Int,
+        @Field("broadcast_id")broadcast_log_id:String=""
     ): Any
 
     //关注和粉丝列表 list_type 类型(0关注列表1粉丝列表)

+ 5 - 3
baseswago/src/main/java/com/swago/baseswago/model/ConfigModel.kt

@@ -5,7 +5,9 @@ package com.swago.baseswago.model
  *description:
  */
 data class ConfigModel(
-    val game_url : String,
-    val app_phone:String,
-    val app_gmail:String
+    val game_url : String="",
+    val app_phone:String="",
+    val app_gmail:String="",
+    val agoral_app_id:String="",
+    val im_app_id:Int
 )

+ 0 - 29
baseswago/src/main/java/com/swago/baseswago/model/im/DiamondWindupBean.java

@@ -1,29 +0,0 @@
-package com.swago.baseswago.model.im;
-
-/**
- * @date 2022/3/18 14:08
- * description:
- */
-public class DiamondWindupBean {
-
-   private String roomId;
-   private String incomeCount;
-
-
-   public String getRoomId() {
-      return roomId;
-   }
-
-   public void setRoomId(String roomId) {
-      this.roomId = roomId;
-   }
-
-   public String getIncomeCount() {
-      return incomeCount;
-   }
-
-   public void setIncomeCount(String incomeCount) {
-      this.incomeCount = incomeCount;
-   }
-
-}

+ 54 - 0
baseswago/src/main/java/com/swago/baseswago/model/im/FollowSuccessMsgBean.java

@@ -0,0 +1,54 @@
+package com.swago.baseswago.model.im;
+
+import androidx.annotation.NonNull;
+
+import com.swago.baseswago.R;
+import com.swago.baseswago.im.IRoomChat;
+import com.swago.baseswago.im.RoomMsgType;
+import com.swago.baseswago.util.AppContext;
+
+/**
+ * @date 2022/3/18 14:08
+ * description:
+ */
+public class FollowSuccessMsgBean implements IRoomChat {
+
+   public String roomId;
+   public String senderId;
+   public String senderCode;
+   public String senderName;
+
+
+   @NonNull
+   @Override
+   public String getSenderName() {
+      return senderName;
+   }
+
+   @NonNull
+   @Override
+   public String getMsgContent() {
+      return String.format(AppContext.getContext().getResources().getString(R.string.follow_anchor),senderName);
+   }
+
+   @Override
+   public int getMsgType() {
+      return RoomMsgType.FOLLOW_MESSAGE;
+   }
+
+   @Override
+   public int getUserLevel() {
+      return 0;
+   }
+
+   @Override
+   public int getIsBenefit() {
+      return 0;
+   }
+
+   @NonNull
+   @Override
+   public String getSenderId() {
+      return senderId;
+   }
+}

+ 1 - 0
baseswago/src/main/res/values/strings.xml

@@ -150,4 +150,5 @@
     <string name="say_hi">Say Hi...</string>
     <string name="total">Total</string>
     <string name="followed">Followed</string>
+    <string name="follow_anchor">%s关注了主播</string>
 </resources>

+ 1 - 1
room/src/main/java/com/swago/room/adapter/RoomChatAdapter.kt

@@ -115,7 +115,7 @@ class RoomChatAdapter :
                     }
                 }
 
-                RoomMsgType.SYSTEM_MESSAGE -> {
+                RoomMsgType.SYSTEM_MESSAGE,RoomMsgType.FOLLOW_MESSAGE -> {
                     span = SpannableString(item.getMsgContent())
                     setBackgroundRes(R.id.tvContent, R.drawable.shape_20000000_14)
                 }

+ 4 - 6
room/src/main/java/com/swago/room/vm/MsgVm.kt

@@ -1,7 +1,6 @@
 package com.swago.room.vm
 
 import android.app.Application
-import android.util.Log
 import com.swago.baseswago.baseroom.IRoomInfo
 import com.swago.baseswago.baseroom.RoleType
 import com.swago.baseswago.baseroom.SwagoRoomManager
@@ -9,7 +8,7 @@ import com.swago.baseswago.baseroom.viewmodel.AbsMsgVm
 import com.swago.baseswago.im.IRoomChat
 import com.swago.baseswago.im.ImConstant.anchor_close_room
 import com.swago.baseswago.im.ImConstant.cancel_forbid_speak
-import com.swago.baseswago.im.ImConstant.diamond_wind_up
+import com.swago.baseswago.im.ImConstant.follow_anchor_success
 import com.swago.baseswago.im.ImConstant.forbid_speak
 import com.swago.baseswago.im.ImConstant.lucky_gift
 import com.swago.baseswago.im.ImConstant.remove_room
@@ -17,11 +16,9 @@ import com.swago.baseswago.im.ImConstant.room_chat_text
 import com.swago.baseswago.im.ImConstant.svg_gift
 import com.swago.baseswago.im.ImConstant.user_exit_room
 import com.swago.baseswago.im.ImConstant.user_join_room
-import com.swago.baseswago.inter.ApiManager
 import com.swago.baseswago.model.im.*
 import com.swago.baseswago.model.live.ReceiveModel
 import com.swago.baseswago.model.live.gift.IMGiftModel
-import com.swago.baseswago.model.mine.RoomBlack
 import com.swago.baseswago.util.UserInfo
 
 /**
@@ -128,12 +125,13 @@ class MsgVm (application: Application) : AbsMsgVm(application){
             }
         }
 
-        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<DiamondWindupBean>>(diamond_wind_up){
+        imGroupNewMsgListener.handleMsgType<CusNewMsgBean<FollowSuccessMsgBean>>(
+            follow_anchor_success){
             SwagoRoomManager.iRoomInfo?.let { iRoomInfo ->
                 if (isReady){
                     it.data?.let {
                         if (iRoomInfo.getRoomId()== it.roomId?:""){
-                            inComeChange?.invoke(it.incomeCount)
+                            newChatMsgFun?.invoke(it)
                         }
                     }
                 }

+ 2 - 4
user/src/main/java/com/swago/user/CustomServiceActivity.kt

@@ -4,6 +4,7 @@ import androidx.activity.viewModels
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.swago.baseswago.activity.BaseXActivity
 import com.swago.baseswago.constant.ARouteConstant
+import com.swago.baseswago.constant.UrlConstant
 import com.swago.baseswago.util.AppContext
 import com.swago.user.databinding.ActivityCustomServiceBinding
 import com.swago.user.vm.TaskVm
@@ -15,10 +16,7 @@ import com.swago.user.vm.TaskVm
 @Route(path = ARouteConstant.User.customService)
 class CustomServiceActivity : BaseXActivity<ActivityCustomServiceBinding>() {
 
-    private val taskVm by viewModels<TaskVm>()
-
     override fun loadData() {
-        taskVm.getAppConfig()
     }
 
     override fun initOther() {
@@ -27,7 +25,7 @@ class CustomServiceActivity : BaseXActivity<ActivityCustomServiceBinding>() {
     }
 
     override fun initLiveData() {
-        taskVm.appConfigLiveData.observe(this){
+        UrlConstant.getConfigModel()?.let {
             binding.tvGmail.text = "gmail:${it.app_gmail}"
             binding.tvWhatsApp.text = it.app_phone
         }

+ 0 - 14
user/src/main/java/com/swago/user/vm/TaskVm.kt

@@ -40,18 +40,4 @@ class TaskVm (application: Application) : BaseViewModel(application) {
             receiveLiveData.value = position
         }
     }
-
-
-    val appConfigLiveData by lazy {
-        MutableLiveData<ConfigModel>()
-    }
-    /**
-     * 获取配置
-     */
-    fun getAppConfig(){
-        requestData {
-            val data = ApiManager.configApi.getAppConfig()
-            appConfigLiveData.value = data
-        }
-    }
 }