diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java b/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java index b55b10d7..c494d8d6 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java @@ -4829,7 +4829,7 @@ public class RetrofitClient { @Override public void onResponse(Call call, Response response) { if (response.code() == 200) { - observer.onNext(null); + observer.onNext(""); } else { ToastUtils.showShort("请求错误:" + response.code()); LogUtils.e("quitRoom", response.message()); diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/listener/MessageExListenerSingleton.java b/BaseModule/src/main/java/com/xscm/moduleutil/listener/MessageExListenerSingleton.java index 82204896..838963e2 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/listener/MessageExListenerSingleton.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/listener/MessageExListenerSingleton.java @@ -339,10 +339,12 @@ public class MessageExListenerSingleton { public void onRecvGroupCustomMessage(String msgID, String groupID, V2TIMGroupMemberInfo sender, byte[] customData) { LogUtils.d("收到群自定义消息:群组 " + groupID + " 中 " + sender.getNickName()); if (!groupID.equals("")) { - String message = new String(customData, StandardCharsets.UTF_8); - RoomMessageEvent event = GsonUtils.fromJson(message, RoomMessageEvent.class); - notifyMessageReceived(event); - LogUtils.d("收到群自定义消息(信令):", message); + if (groupID.replace("room","").equals(mRoomId)) { + String message = new String(customData, StandardCharsets.UTF_8); + RoomMessageEvent event = GsonUtils.fromJson(message, RoomMessageEvent.class); + notifyMessageReceived(event); + LogUtils.d("收到群自定义消息(信令):", message); + } } else { String message = new String(customData, StandardCharsets.UTF_8); LogUtils.d("收到群自定义消息(信令):", message); diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt b/MainModule/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt index 74ce778f..a17278b3 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt @@ -1582,12 +1582,14 @@ class RoomActivity : BaseMvpActivity(), roomFragment?.handleRoomMessage(messageEvent) } else if (msgType == EMMessageInfo.QXRoomMessageTypeFlirtatiousRoom) {//酒吧房约她进入小黑屋 if (mRoomInfoResp?.user_info?.user_id.toString() == messageEvent.text.user_id - || mRoomInfoResp?.user_info?.user_id.toString() == messageEvent.text.meet_user_id) { - if (mRoomInfoResp?.user_info?.pit_number !=0) { + || mRoomInfoResp?.user_info?.user_id.toString() == messageEvent.text.meet_user_id + ) { + if (mRoomInfoResp?.user_info?.pit_number != 0) { MvpPre?.downPit(roomId, mRoomInfoResp?.user_info?.pit_number.toString()) } - MvpPre?.postRoomInfo(messageEvent.text.room_id) - if (publicScreenFragment != null){ + AgoraManager.getInstance().lastRoomId = roomId + MvpPre?.getRoomIn(messageEvent.text.room_id,"") + if (publicScreenFragment != null) { MessageExListenerSingleton.getInstance().joinGroup(messageEvent.text.room_id) publicScreenFragment?.setupExMessageListener() } @@ -2271,6 +2273,10 @@ class RoomActivity : BaseMvpActivity(), updateCharmForAllPitBeans("") roomFragment!!.upFriendList(mRoomInfoResp?.room_info?.pit_list) } + + //酒吧房用 + if (publicScreenFragment != null) + publicScreenFragment?.isPriRoom = false } private fun updateCharmForAllPitBeans(charm: String) { diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/contacts/PrivateContacts.kt b/MainModule/src/main/java/com/xscm/modulemain/activity/room/contacts/PrivateContacts.kt index 1363925e..955aa266 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/contacts/PrivateContacts.kt +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/contacts/PrivateContacts.kt @@ -1,11 +1,9 @@ package com.xscm.modulemain.activity.room.contacts import android.app.Activity -import android.media.Image import android.widget.ImageView import com.xscm.moduleutil.activity.IPresenter import com.xscm.moduleutil.activity.IView -import com.xscm.moduleutil.bean.GiftBean import com.xscm.moduleutil.bean.RoonGiftModel import com.xscm.moduleutil.bean.WalletBean @@ -18,6 +16,8 @@ class PrivateContacts { fun sendGiftResult(success:Boolean,imageView: ImageView) fun getGiftList(list: List) + + fun exitRoom() } interface Ipre : IPresenter{ @@ -27,6 +27,8 @@ class PrivateContacts { fun sendGift(mRoomId:String,giftId: String,mUserId:String,imageView: ImageView) + fun exitRoom(roomId: String?, userId: String?) + fun wallet(list:List) diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/ChatRoomFragment.java b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/ChatRoomFragment.java index 45e0b364..a8917e58 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/ChatRoomFragment.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/ChatRoomFragment.java @@ -74,7 +74,7 @@ public class ChatRoomFragment extends BaseMvpFragment { // 确保在主线程更新 UI @@ -472,11 +473,11 @@ public class ChatRoomFragment extends BaseMvpFragment(), PrivateContacts.View { @@ -83,7 +88,7 @@ class RoomPrivateFragment(var mRoomInfoResp: RoomInfoResp?) : mBinding?.tvBack?.setOnClickListener { //返回到上一个房间 - + MvpPre?.exitRoom(mRoomId,mUserInfo?.user_id.toString()) } // 定义两个 RoomPitBean 对象,分别用于显示在 roomMakeWheat1 和 roomMakeWheat2 @@ -232,6 +237,18 @@ class RoomPrivateFragment(var mRoomInfoResp: RoomInfoResp?) : } } + override fun exitRoom() { + if (activity is RoomActivity) { + LogUtils.e( + "lxj", + ("退出房间时间:" + TimeUtils.date2String(Date())).toString() + ":退出的roomId" + mRoomId + ) + MessageExListenerSingleton.quitGroup(mRoomId) + (activity as RoomActivity).quit() + (activity as RoomActivity).jiaR() + } + } + fun startSmallFloatingAnimation(view: View, floatRangeDp: Float = 10f) { // 1. 计算飘动范围(默认 ±10dp,可调整) diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomPubFragment.kt b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomPubFragment.kt index 550776d0..b43e5f41 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomPubFragment.kt +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomPubFragment.kt @@ -168,7 +168,6 @@ class RoomPubFragment(var mRoomInfoResp: RoomInfoResp?) : view.pitBean.user_id, mRoomId ).show() - } } diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/PrivatePresenter.kt b/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/PrivatePresenter.kt index a55be2c9..13fe467c 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/PrivatePresenter.kt +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/PrivatePresenter.kt @@ -2,16 +2,13 @@ package com.xscm.modulemain.activity.room.presenter import android.content.Context import android.widget.ImageView -import com.xscm.modulemain.activity.room.contacts.MentorShipContacts import com.xscm.modulemain.activity.room.contacts.PrivateContacts -import com.xscm.modulemain.activity.room.contacts.PubContacts import com.xscm.moduleutil.bean.RoomGiftData import com.xscm.moduleutil.bean.RoonGiftModel import com.xscm.moduleutil.bean.WalletBean import com.xscm.moduleutil.http.BaseObserver import com.xscm.moduleutil.http.RetrofitClient import com.xscm.moduleutil.presenter.BasePresenter -import com.xscm.moduleutil.presenter.RewardGiftContacts import io.reactivex.disposables.Disposable import java.lang.ref.WeakReference @@ -63,6 +60,21 @@ class PrivatePresenter(context: Context, val view: PrivateContacts.View?) : }) } + override fun exitRoom(roomId: String?, userId: String?) { + RetrofitClient.getInstance().quitRoom(roomId, userId, object : BaseObserver() { + override fun onSubscribe(d: Disposable) { + addDisposable(d) + } + + override fun onNext(string: String) { + if (MvpRef == null) { + MvpRef = WeakReference(view) + } + MvpRef.get()?.exitRoom() + } + }) + } + override fun wallet(list:List) { RetrofitClient.getInstance().wallet(object : BaseObserver() { diff --git a/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPubWheatView.kt b/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPubWheatView.kt index 65f26e17..bf427408 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPubWheatView.kt +++ b/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPubWheatView.kt @@ -83,16 +83,16 @@ class RoomPubWheatView : BaseWheatView { "9" -> { iv_tag_type?.visibility = View.VISIBLE iv_tag_type?.setImageResource(com.xscm.moduleutil.R.mipmap.zc) - tv_time?.visibility = View.GONE - ll_bottom?.visibility = View.GONE + tv_time?.visibility = View.INVISIBLE + ll_bottom?.visibility = View.INVISIBLE iv_custom_gift?.visibility = View.GONE } "10" -> { iv_tag_type?.visibility = View.VISIBLE iv_tag_type?.setImageResource(com.xscm.moduleutil.R.mipmap.jb) - tv_time?.visibility = View.GONE - ll_bottom?.visibility = View.GONE + tv_time?.visibility = View.INVISIBLE + ll_bottom?.visibility = View.INVISIBLE iv_custom_gift?.visibility = View.GONE } diff --git a/MainModule/src/main/res/layout/fragment_pub_room.xml b/MainModule/src/main/res/layout/fragment_pub_room.xml index 97c6f06f..eb619b2a 100644 --- a/MainModule/src/main/res/layout/fragment_pub_room.xml +++ b/MainModule/src/main/res/layout/fragment_pub_room.xml @@ -53,6 +53,20 @@ android:orientation="vertical" app:layout_constraintGuide_percent="0.2" /> + + + + @@ -91,9 +105,9 @@ @@ -101,10 +115,10 @@ @@ -112,9 +126,9 @@ @@ -122,10 +136,10 @@ @@ -133,9 +147,9 @@ @@ -143,10 +157,10 @@ diff --git a/MainModule/src/main/res/layout/fragment_room_private.xml b/MainModule/src/main/res/layout/fragment_room_private.xml index 3b010286..87834172 100644 --- a/MainModule/src/main/res/layout/fragment_room_private.xml +++ b/MainModule/src/main/res/layout/fragment_room_private.xml @@ -98,18 +98,18 @@ diff --git a/MainModule/src/main/res/layout/layout_room_pub_wheat.xml b/MainModule/src/main/res/layout/layout_room_pub_wheat.xml index d43c3588..e3e917c6 100644 --- a/MainModule/src/main/res/layout/layout_room_pub_wheat.xml +++ b/MainModule/src/main/res/layout/layout_room_pub_wheat.xml @@ -45,49 +45,32 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" - app:layout_constraintWidth_percent="0.62" /> + app:layout_constraintWidth_percent="0.42" /> - - - + app:layout_constraintWidth_percent="0.4" /> @@ -118,7 +101,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" - app:layout_constraintWidth_percent="0.7" + app:layout_constraintWidth_percent="0.5" app:loopCount="0" app:source="mic.svga" /> @@ -228,7 +211,7 @@ android:visibility="visible" app:layout_constraintTop_toTopOf="@id/ctl_heat" app:layout_constraintBottom_toBottomOf="@id/ctl_heat" - app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="@id/gl_gift_line" android:src="@mipmap/icon_pub_gift_bg" android:layout_width="wrap_content" android:layout_height="wrap_content"/> @@ -261,6 +244,23 @@ + + +