Bläddra i källkod

fix: 送非麦位他人礼物

tongmengxiao 1 år sedan
förälder
incheckning
698d873ee2

+ 4 - 1
baseswago/src/main/java/com/swago/baseswago/PersonDataDFragment.kt

@@ -33,6 +33,7 @@ class PersonDataDFragment : BaseXDFragment<DialogPersonDataBinding>() {
     var isBlock = 0
     var isBlock = 0
     var uid = ""
     var uid = ""
     var nickName = ""
     var nickName = ""
+    var nickIcon = ""
     var account = ""
     var account = ""
     var roomId:String = ""
     var roomId:String = ""
     var isAnchor = false //是否是主播点击了资料卡
     var isAnchor = false //是否是主播点击了资料卡
@@ -40,6 +41,7 @@ class PersonDataDFragment : BaseXDFragment<DialogPersonDataBinding>() {
     private var inRoom = false
     private var inRoom = false
     private var isForbid = 0 //0没有被禁言  1已被禁言
     private var isForbid = 0 //0没有被禁言  1已被禁言
     var openGiftDialog:((nickName:String,userId:String)->Unit)? = null
     var openGiftDialog:((nickName:String,userId:String)->Unit)? = null
+    var openGiftIconDialog:((nickName:String,userId:String,nickIcon:String)->Unit)? = null
     var sendMsgInRoom:((nickName:String)->Unit)? = null
     var sendMsgInRoom:((nickName:String)->Unit)? = null
 
 
     companion object{
     companion object{
@@ -126,7 +128,7 @@ class PersonDataDFragment : BaseXDFragment<DialogPersonDataBinding>() {
 
 
             binding.ivGift.setOnClickListener(object:NoDoubleClickListener(){
             binding.ivGift.setOnClickListener(object:NoDoubleClickListener(){
                 override fun onClick() {
                 override fun onClick() {
-                    openGiftDialog?.invoke(nickName,uid)
+                    openGiftIconDialog?.invoke(nickName,uid,nickIcon)
                     dismissAllowingStateLoss()
                     dismissAllowingStateLoss()
                 }
                 }
             })
             })
@@ -156,6 +158,7 @@ class PersonDataDFragment : BaseXDFragment<DialogPersonDataBinding>() {
             isFollow = it.is_follow
             isFollow = it.is_follow
             isBlock = it.is_black
             isBlock = it.is_black
             nickName = it.user_name
             nickName = it.user_name
+            nickIcon = it.user_head_img_url
             account = it.user_account
             account = it.user_account
             binding.ivVip.visibility = if (it.is_benefit==1) View.VISIBLE else View.GONE
             binding.ivVip.visibility = if (it.is_benefit==1) View.VISIBLE else View.GONE
             Glide.with(this).load(it.user_head_img_url)
             Glide.with(this).load(it.user_head_img_url)

+ 3 - 2
room/src/main/java/com/swago/room/anchor/AnchorRoomFragment.kt

@@ -127,10 +127,11 @@ class AnchorRoomFragment : BaseComFragment<FragmentBaseComBinding>() {
         (iHeader as ComHeaderView).showUserInfo = {
         (iHeader as ComHeaderView).showUserInfo = {
             PersonDataDFragment.newInstance(it, isAnchor = true, inRoom = true,SwagoRoomManager.iRoomInfo?.getRoomId()?:"")
             PersonDataDFragment.newInstance(it, isAnchor = true, inRoom = true,SwagoRoomManager.iRoomInfo?.getRoomId()?:"")
                 .apply {
                 .apply {
-                    this.openGiftDialog = {nickName, userId ->
+                    this.openGiftIconDialog = {nickName, userId,nickIcon ->
                         GiftDialog.newInstance(
                         GiftDialog.newInstance(
                             nickName,
                             nickName,
-                            userId
+                            userId,
+                            nickIcon
                         ).apply {
                         ).apply {
                             this.openSendRedEnvelopeFun = {
                             this.openSendRedEnvelopeFun = {
                                 RedEnvelopeDialog.newInstance(roomConfig).show(this@AnchorRoomFragment.childFragmentManager,"RedEnvelopeDialog")
                                 RedEnvelopeDialog.newInstance(roomConfig).show(this@AnchorRoomFragment.childFragmentManager,"RedEnvelopeDialog")

+ 5 - 4
room/src/main/java/com/swago/room/base/BaseComFragment.kt

@@ -294,7 +294,7 @@ abstract class BaseComFragment<T : FragmentBaseComBinding> : BaseXFragment<T>(),
                                     }else{
                                     }else{
                                         PersonDataDFragment.newInstance(it,
                                         PersonDataDFragment.newInstance(it,
                                             SwagoRoomManager.roleType==RoleType.anchor,true,iRoomInfo.getRoomId()).apply {
                                             SwagoRoomManager.roleType==RoleType.anchor,true,iRoomInfo.getRoomId()).apply {
-                                            this.openGiftDialog = { nickName, userId ->
+                                            this.openGiftIconDialog = { nickName, userId ,nickIcon->
                                                 openGiftDialog(nickName, userId)
                                                 openGiftDialog(nickName, userId)
                                             }
                                             }
                                             this.sendMsgInRoom = {
                                             this.sendMsgInRoom = {
@@ -371,7 +371,7 @@ abstract class BaseComFragment<T : FragmentBaseComBinding> : BaseXFragment<T>(),
                 SwagoRoomManager.iRoomInfo?.getRoomId() ?: ""
                 SwagoRoomManager.iRoomInfo?.getRoomId() ?: ""
             )
             )
                 .apply {
                 .apply {
-                    this.openGiftDialog = { nickName, userId ->
+                    this.openGiftIconDialog = { nickName, userId, nickIcon ->
                         openGiftDialog(nickName, userId)
                         openGiftDialog(nickName, userId)
                     }
                     }
                     this.sendMsgInRoom = {
                     this.sendMsgInRoom = {
@@ -621,10 +621,11 @@ abstract class BaseComFragment<T : FragmentBaseComBinding> : BaseXFragment<T>(),
         }
         }
     }
     }
 
 
-    private fun openGiftDialog(nickName: String, userId: String) {
+    private fun openGiftDialog(nickName: String, userId: String ,nickIcon: String = "") {
         GiftDialog.newInstance(
         GiftDialog.newInstance(
             nickName,
             nickName,
-            userId
+            userId,
+            nickIcon
         ).apply {
         ).apply {
             this.openSendRedEnvelopeFun = {
             this.openSendRedEnvelopeFun = {
                 RedEnvelopeDialog.newInstance(roomConfig)
                 RedEnvelopeDialog.newInstance(roomConfig)

+ 17 - 2
room/src/main/java/com/swago/room/gift/GiftDialog.kt

@@ -56,6 +56,7 @@ class GiftDialog : BaseXDFragment<DialogGiftBinding>() {
     private var returnGiftBatch = 0
     private var returnGiftBatch = 0
     private var receiveId = ""
     private var receiveId = ""
     private var receiveName = ""
     private var receiveName = ""
+    private var receiveIcon = ""
 
 
     var openSendRedEnvelopeFun: (() -> Unit)? = null
     var openSendRedEnvelopeFun: (() -> Unit)? = null
 
 
@@ -101,12 +102,15 @@ class GiftDialog : BaseXDFragment<DialogGiftBinding>() {
     companion object {
     companion object {
         fun newInstance(
         fun newInstance(
             receiveName: String,
             receiveName: String,
-            receiveId: String
+            receiveId: String,
+            receiveIcon: String = ""
         ): GiftDialog {
         ): GiftDialog {
             val giftDialog = GiftDialog()
             val giftDialog = GiftDialog()
             val bundle = Bundle()
             val bundle = Bundle()
             bundle.putString("receiveId", receiveId)
             bundle.putString("receiveId", receiveId)
             bundle.putString("receiveName", receiveName)
             bundle.putString("receiveName", receiveName)
+            bundle.putString("receiveIcon", receiveIcon)
+
             giftDialog.arguments = bundle
             giftDialog.arguments = bundle
             return giftDialog
             return giftDialog
         }
         }
@@ -117,6 +121,7 @@ class GiftDialog : BaseXDFragment<DialogGiftBinding>() {
             payVm.getCoins()
             payVm.getCoins()
             receiveId = it.getString("receiveId", "")
             receiveId = it.getString("receiveId", "")
             receiveName = it.getString("receiveName", "")
             receiveName = it.getString("receiveName", "")
+            receiveIcon = it.getString("receiveIcon", "")
             SwagoRoomManager.iRoomInfo?.let { iRoomInfo ->
             SwagoRoomManager.iRoomInfo?.let { iRoomInfo ->
                 if (iRoomInfo.getRoomType() == 1) {
                 if (iRoomInfo.getRoomType() == 1) {
                     binding.tvSender.visibility = View.VISIBLE
                     binding.tvSender.visibility = View.VISIBLE
@@ -711,15 +716,25 @@ class GiftDialog : BaseXDFragment<DialogGiftBinding>() {
                binding.rvAudioUser.visibility = View.GONE
                binding.rvAudioUser.visibility = View.GONE
             }else{
             }else{
                 binding.rvAudioUser.visibility = View.VISIBLE
                 binding.rvAudioUser.visibility = View.VISIBLE
+                var chooseOther : MaiUserInfo? =null
                 data.forEachIndexed { index, maiUserInfo ->
                 data.forEachIndexed { index, maiUserInfo ->
                     if (maiUserInfo.user_id == receiveId){
                     if (maiUserInfo.user_id == receiveId){
+                        chooseOther = maiUserInfo
                         data[index].selected = true
                         data[index].selected = true
                         selectedUserList.add(data[index].user_id)
                         selectedUserList.add(data[index].user_id)
                     }
                     }
                 }
                 }
+                if (chooseOther == null){
+                    val data = ArrayList<MaiUserInfo>()
+                    data.add(MaiUserInfo(receiveIcon ,receiveId ,receiveName,true))
+                    selectedUserList.add(receiveId)
+                    adapter.setNewData(data)
+                } else {
+                    adapter.setNewData(data)
+                }
 
 
             }
             }
-            adapter.setNewData(data)
+
         }
         }
 
 
         giftVm.sendResultAudioLiveData.observe(this){
         giftVm.sendResultAudioLiveData.observe(this){

+ 4 - 3
room/src/main/java/com/swago/room/user/UserRoomFragment.kt

@@ -91,7 +91,7 @@ class UserRoomFragment : BaseComFragment<FragmentBaseComBinding>() {
                 if (it.getAnchorId().isNotEmpty()) {
                 if (it.getAnchorId().isNotEmpty()) {
                     GiftDialog.newInstance(
                     GiftDialog.newInstance(
                         it.getAnchorName(),
                         it.getAnchorName(),
-                        it.getAnchorId()
+                        it.getAnchorId(),
                     ).apply {
                     ).apply {
                         this.openSendRedEnvelopeFun = {
                         this.openSendRedEnvelopeFun = {
                             RedEnvelopeDialog.newInstance(roomConfig).show(this@UserRoomFragment.childFragmentManager,"RedEnvelopeDialog")
                             RedEnvelopeDialog.newInstance(roomConfig).show(this@UserRoomFragment.childFragmentManager,"RedEnvelopeDialog")
@@ -171,10 +171,11 @@ class UserRoomFragment : BaseComFragment<FragmentBaseComBinding>() {
         (iHeader as ComHeaderView).showUserInfo = {
         (iHeader as ComHeaderView).showUserInfo = {
             PersonDataDFragment.newInstance(it, isAnchor = false, inRoom = true,SwagoRoomManager.iRoomInfo?.getRoomId()?:"")
             PersonDataDFragment.newInstance(it, isAnchor = false, inRoom = true,SwagoRoomManager.iRoomInfo?.getRoomId()?:"")
                 .apply {
                 .apply {
-                    this.openGiftDialog = { nickName, userId ->
+                    this.openGiftIconDialog = { nickName, userId, nickIcon ->
                         GiftDialog.newInstance(
                         GiftDialog.newInstance(
                             nickName,
                             nickName,
-                            userId
+                            userId,
+                            nickIcon
                         ).apply {
                         ).apply {
                             this.openSendRedEnvelopeFun = {
                             this.openSendRedEnvelopeFun = {
                                 RedEnvelopeDialog.newInstance(roomConfig).show(this@UserRoomFragment.childFragmentManager,"RedEnvelopeDialog")
                                 RedEnvelopeDialog.newInstance(roomConfig).show(this@UserRoomFragment.childFragmentManager,"RedEnvelopeDialog")