fix bugs. add 字体流光 自定义view,cos上传报错信息。
This commit is contained in:
@@ -79,7 +79,7 @@ public class PopularRoomActivity extends BaseMvpActivity<VoiceCategoryPresenter,
|
||||
});
|
||||
|
||||
mAdapter.setOnRoomClickListener((room, position) -> {
|
||||
if ( ClickUtils.isFastDoubleClick()){
|
||||
if ( ClickUtils.isFastDoubleClick(mBinding.rvPopularRoom)){
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -122,6 +122,7 @@ import com.xscm.moduleutil.bean.room.FriendUserBean
|
||||
import com.xscm.moduleutil.bean.room.RoomAuction
|
||||
import com.xscm.moduleutil.bean.room.RoomAuction.AuctionListBean
|
||||
import com.xscm.moduleutil.bean.room.RoomBean
|
||||
import com.xscm.moduleutil.bean.room.RoomHourBean
|
||||
import com.xscm.moduleutil.bean.room.RoomInfoResp
|
||||
import com.xscm.moduleutil.bean.room.RoomOnline
|
||||
import com.xscm.moduleutil.bean.room.RoomOnlineBean
|
||||
@@ -155,6 +156,7 @@ import com.xscm.moduleutil.rtc.AgoraManagerEx
|
||||
import com.xscm.moduleutil.rtc.MusicPlayBean
|
||||
import com.xscm.moduleutil.service.MyRoomSingleton
|
||||
import com.xscm.moduleutil.utils.ARouteConstants
|
||||
import com.xscm.moduleutil.utils.ClickUtils
|
||||
import com.xscm.moduleutil.utils.ColorManager
|
||||
import com.xscm.moduleutil.utils.ImageUtils
|
||||
import com.xscm.moduleutil.utils.PermissionDescriptionHelper
|
||||
@@ -251,7 +253,6 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
|
||||
|
||||
override fun doDone() {
|
||||
Log.e("AAAAAAAAAAA", "C " + com.xscm.moduleutil.utils.TimeUtils.getCurrentDate2())
|
||||
isOnline = intent.getBooleanExtra("isOnline", false)
|
||||
password = intent.getStringExtra("password")
|
||||
roomId = intent.getStringExtra("roomId")
|
||||
@@ -271,12 +272,14 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
}
|
||||
}
|
||||
//重新进入无需传参
|
||||
// isOnline = intent.getBooleanExtra("isOnline", false)
|
||||
// password = intent.getStringExtra("password")
|
||||
// roomId = intent.getStringExtra("roomId")
|
||||
// mRoomInfoResp = intent.getSerializableExtra("roomInfo") as RoomInfoResp?
|
||||
// taskId = intent.getStringExtra("taskId")
|
||||
|
||||
val roomInfoResp = intent.getSerializableExtra("roomInfo") as RoomInfoResp?
|
||||
if (!roomInfoResp?.room_info?.room_id.equals(mRoomInfoResp?.room_info?.room_id)) {
|
||||
isOnline = intent.getBooleanExtra("isOnline", false)
|
||||
password = intent.getStringExtra("password")
|
||||
roomId = intent.getStringExtra("roomId")
|
||||
taskId = intent.getStringExtra("taskId")
|
||||
mRoomInfoResp = roomInfoResp
|
||||
}
|
||||
LogUtils.e("RoomActivity", "onNewIntent")
|
||||
}
|
||||
|
||||
@@ -439,7 +442,11 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
|
||||
override fun initData() {
|
||||
if (!EasyPermissions.hasPermissions(this, *permissions)) {
|
||||
PermissionDescriptionHelper.addPermissionDescription(false, mBinding?.root as ViewGroup, permissions)
|
||||
PermissionDescriptionHelper.addPermissionDescription(
|
||||
false,
|
||||
mBinding?.root as ViewGroup,
|
||||
permissions
|
||||
)
|
||||
EasyPermissions.requestPermissions(
|
||||
this, "请开启录音使用权限",
|
||||
1, *permissions
|
||||
@@ -585,6 +592,8 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
|
||||
mBinding!!.roomTop.root.isClickable = false
|
||||
setView(mRoomInfoResp)
|
||||
|
||||
MvpPre?.getRoomOnline(roomId, "1", "10")
|
||||
}
|
||||
|
||||
// 添加弹框到管理列表
|
||||
@@ -693,10 +702,10 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置顶部操作按钮的可见性和点击事件
|
||||
* 包括结束按钮和延时按钮的初始化和事件绑定
|
||||
*/
|
||||
/**
|
||||
* 设置顶部操作按钮的可见性和点击事件
|
||||
* 包括结束按钮和延时按钮的初始化和事件绑定
|
||||
*/
|
||||
fun tob() {
|
||||
// 获取并显示stubButtons2布局
|
||||
val stub = mBinding!!.roomTop.stubButtons2
|
||||
@@ -708,7 +717,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
imActionJs.setOnClickListener { dialogEnd() }
|
||||
// 设置结束按钮点击事件,调用dialogEnd()方法
|
||||
imActionYs.setOnClickListener {
|
||||
// 设置延时按钮点击事件,调用MvpPre的auctionDelay方法,传入当前拍卖ID
|
||||
// 设置延时按钮点击事件,调用MvpPre的auctionDelay方法,传入当前拍卖ID
|
||||
MvpPre!!.auctionDelay(
|
||||
SpUtil.getauctionId()
|
||||
)
|
||||
@@ -755,8 +764,8 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
if (visible) View.VISIBLE else View.INVISIBLE
|
||||
}
|
||||
|
||||
// 根据传入的visible参数设置JS按钮的可见性
|
||||
// 使用View.VISIBLE显示按钮,使用View.INVISIBLE隐藏按钮
|
||||
// 根据传入的visible参数设置JS按钮的可见性
|
||||
// 使用View.VISIBLE显示按钮,使用View.INVISIBLE隐藏按钮
|
||||
fun upYs(visible: Boolean) {
|
||||
mBinding!!.roomTop.imActionYs.visibility =
|
||||
if (visible) View.VISIBLE else View.INVISIBLE
|
||||
@@ -1688,7 +1697,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
when (typeId) {
|
||||
RoomType.AUCTION -> {
|
||||
if ("9" == pitNumber) {
|
||||
mRoomInfoResp!!.room_info.pit_list[0] = getPitBean(messageEvent,1)
|
||||
mRoomInfoResp!!.room_info.pit_list[0] = getPitBean(messageEvent, 1)
|
||||
if (mRoomInfoResp!!.user_info != null) {
|
||||
mRoomInfoResp!!.user_info.pit_number = pitNumber.toInt()
|
||||
}
|
||||
@@ -1696,6 +1705,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
roomFragment!!.upRoomInfoData(mRoomInfoResp)
|
||||
roomFragment!!.handleRoomMessage(messageEvent)
|
||||
}
|
||||
|
||||
RoomType.DATING -> {
|
||||
val labelId = mRoomInfoResp!!.room_info.label_id
|
||||
if ("2" == labelId) {
|
||||
@@ -1707,16 +1717,18 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
roomFragment!!.handleRoomMessage(messageEvent)
|
||||
}
|
||||
}
|
||||
|
||||
RoomType.MUTUAL_ENTERTAINMENT -> {
|
||||
mBinding!!.rlMore.visibility = View.GONE
|
||||
mBinding!!.rlMisc.visibility = View.GONE
|
||||
|
||||
roomFragment!!.handleRoomMessage(messageEvent)
|
||||
}
|
||||
else ->{
|
||||
|
||||
else -> {
|
||||
roomFragment!!.updateSeatViewExchangedWithPitArray(mRoomInfoResp)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1742,6 +1754,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
aBoolean = true
|
||||
ivWheatFeeding(com.xscm.moduleutil.R.mipmap.room_wheat_feeding)
|
||||
setBoolean(aBoolean)
|
||||
mRoomInfoResp?.user_info?.pit_number = 0
|
||||
setRoleType(0, 0)
|
||||
switchMic(2)
|
||||
}
|
||||
@@ -1869,16 +1882,19 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
|
||||
|
||||
private fun handleMsgType1001(roomMessageEvent: RoomMessageEvent) {
|
||||
if (roomMessageEvent.text.fromUserInfo.enter_image?.isNotEmpty() == true){
|
||||
if (roomMessageEvent.text.fromUserInfo.enter_image?.isNotEmpty() == true) {
|
||||
showFloatingMessage(roomMessageEvent.text.fromUserInfo)
|
||||
}
|
||||
MvpPre?.getRoomOnline(roomId, "1", "10")
|
||||
|
||||
// number++
|
||||
// mBinding!!.roomTop.tvNum.text = number.toString() + ""
|
||||
}
|
||||
|
||||
private fun showFloatingMessage(userInfo: UserInfo) {
|
||||
try {
|
||||
// 清理之前的视图(如果存在)
|
||||
if ( currentMqttView?.getParent() != null) {
|
||||
if (currentMqttView?.getParent() != null) {
|
||||
val parent = currentMqttView?.getParent() as ViewGroup
|
||||
parent.removeView(currentMqttView)
|
||||
}
|
||||
@@ -1913,6 +1929,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private fun resetAndStartMqttAnimation(view: View, onAnimationEnd: Runnable) {
|
||||
try {
|
||||
val screenWidth = getScreenWidth()
|
||||
@@ -1936,10 +1953,14 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
// 停留后退出
|
||||
CommonAppContext.postDelayed(Runnable {
|
||||
val exitAnim = TranslateAnimation(
|
||||
Animation.ABSOLUTE, ((screenWidth - SystemUtils.getWidth(316)) / 2).toFloat(),
|
||||
Animation.ABSOLUTE, -screenWidth.toFloat(),
|
||||
Animation.ABSOLUTE, 0f,
|
||||
Animation.ABSOLUTE, 0f
|
||||
Animation.ABSOLUTE,
|
||||
((screenWidth - SystemUtils.getWidth(316)) / 2).toFloat(),
|
||||
Animation.ABSOLUTE,
|
||||
-screenWidth.toFloat(),
|
||||
Animation.ABSOLUTE,
|
||||
0f,
|
||||
Animation.ABSOLUTE,
|
||||
0f
|
||||
)
|
||||
exitAnim.setDuration(3000)
|
||||
exitAnim.setInterpolator(DecelerateInterpolator(2f))
|
||||
@@ -1968,6 +1989,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
onAnimationEnd.run()
|
||||
}
|
||||
}
|
||||
|
||||
private fun getScreenWidth(): Int {
|
||||
val displayMetrics = DisplayMetrics()
|
||||
if (getWindowManager() != null) {
|
||||
@@ -1993,11 +2015,13 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
}
|
||||
mBinding!!.roomTop.tvNum.text = number.toString()
|
||||
if (text == null || text.fromUserInfo == null) return
|
||||
if (text.fromUserInfo.user_id == SpUtil.getUserId()) {
|
||||
MessageListenerSingleton.quitGroup(roomId);
|
||||
quit();
|
||||
performExitRoom(1);
|
||||
}
|
||||
// if (text.fromUserInfo.user_id == SpUtil.getUserId()) {
|
||||
// MessageListenerSingleton.quitGroup(roomId);
|
||||
// quit()
|
||||
// performExitRoom(1)
|
||||
// }
|
||||
MvpPre?.getRoomOnline(roomId, "1", "10")
|
||||
|
||||
}
|
||||
|
||||
private fun handleMsgType1029(messageEvent: RoomMessageEvent, text: T?) {
|
||||
@@ -2353,6 +2377,9 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
private var mCountDownTimer2: CountDownTimer? = null
|
||||
|
||||
private fun onClick(view: View) {
|
||||
if (ClickUtils.isFastDoubleClick(view)) {
|
||||
return
|
||||
}
|
||||
val id = view.id
|
||||
if (id == R.id.btn_follow) {
|
||||
MvpPre!!.userGuanz(mRoomInfoResp!!.room_info.room_id, "2")
|
||||
@@ -2513,7 +2540,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
return 0
|
||||
}
|
||||
|
||||
private fun getHostUser(): Int {
|
||||
fun getHostUser(): Int {
|
||||
if (mRoomInfoResp?.getUser_info()?.getPit_number() == 9) {
|
||||
return if (mRoomInfoResp?.getUser_info()?.getIs_room_owner() == 1) {
|
||||
1
|
||||
@@ -2556,7 +2583,6 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
RoomManager.getInstance().exitRoom(roomId)
|
||||
// 清理资源
|
||||
cleanupResources()
|
||||
|
||||
finish()
|
||||
}
|
||||
|
||||
@@ -2879,6 +2905,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
// 设置对话框在底部显示
|
||||
val window = dialog.window
|
||||
if (window != null) {
|
||||
window.decorView.setPadding(0, 0, 0, 0)
|
||||
window.setGravity(Gravity.BOTTOM)
|
||||
// 修复宽度问题
|
||||
window.setLayout(
|
||||
@@ -3006,121 +3033,19 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
}
|
||||
}
|
||||
|
||||
private var isSwitchRoom: Boolean = false
|
||||
|
||||
// TODO:不进入 2025/8/26 加入房间
|
||||
override fun roomInfo(resp: RoomInfoResp) {
|
||||
if (true)
|
||||
if (!isSwitchRoom)
|
||||
return
|
||||
AppStateManager.getInstance().roomInfo = resp
|
||||
val roomBean = resp.room_info
|
||||
this.mRoomBean = roomBean
|
||||
this.mRoomUserBean = resp.user_info
|
||||
this.mRoomOwnerBean = resp.room_owner
|
||||
this.roomId = roomBean.room_id
|
||||
MessageListenerSingleton.getInstance().joinGroup(roomId) //加入房间im
|
||||
ImageUtils.loadHeadCC(resp.room_info.room_cover, mBinding!!.roomTop.avatar)
|
||||
mBinding!!.roomTop.name.text = roomBean.room_name
|
||||
mBinding!!.roomTop.idVal.text = "ID:" + roomBean.room_number
|
||||
if (mRoomUserBean?.getIs_room_owner() == 1) {
|
||||
mBinding!!.roomTop.btnFollow.visibility = View.GONE
|
||||
} else {
|
||||
mBinding!!.roomTop.btnFollow.visibility = View.VISIBLE
|
||||
if (resp.isCollect) {
|
||||
mBinding!!.roomTop.btnFollow.background =
|
||||
resources.getDrawable(com.xscm.moduleutil.R.mipmap.collected)
|
||||
mBinding!!.roomTop.btnFollow.text = ""
|
||||
}
|
||||
}
|
||||
number = roomBean.online_number
|
||||
mBinding!!.roomTop.tvNum.text = number.toString() + ""
|
||||
|
||||
val userIds = StringBuilder()
|
||||
for (i in mRoomInfoResp!!.room_info.pit_list.indices) {
|
||||
val userId = mRoomInfoResp!!.room_info.pit_list[i].user_id
|
||||
if (userId != null && userId != "0" && !userId.isEmpty()) {
|
||||
if (userIds.length > 0) {
|
||||
userIds.append(",")
|
||||
}
|
||||
userIds.append(userId)
|
||||
}
|
||||
}
|
||||
if (!isFinishing && !isDestroyed) {
|
||||
resetFragment()
|
||||
upHeight()
|
||||
} else {
|
||||
Log.e("Fragment", "Fragment transaction skipped due to state loss.")
|
||||
}
|
||||
LogUtils.e("加入", roomId)
|
||||
|
||||
CommonAppContext.getInstance().isPlaying = true
|
||||
CommonAppContext.getInstance().playId = roomId
|
||||
CommonAppContext.getInstance().playName = mRoomBean!!.room_name
|
||||
|
||||
CommonAppContext.getInstance().playCover = resp.room_info.room_cover
|
||||
CommonAppContext.getInstance().showSelf = resp.is_show_self == 1
|
||||
|
||||
if (mRoomUserBean?.getIs_collect() == 1) {
|
||||
mBinding!!.roomTop.btnFollow.background =
|
||||
resources.getDrawable(com.xscm.moduleutil.R.mipmap.yishouc)
|
||||
mBinding!!.roomTop.btnFollow.text = ""
|
||||
} else {
|
||||
ThemeableDrawableUtils.setThemeableRoundedBackground(
|
||||
mBinding!!.roomTop.btnFollow,
|
||||
ColorManager.getInstance().primaryColorInt,
|
||||
53
|
||||
)
|
||||
mBinding!!.roomTop.btnFollow.setTextColor(ColorManager.getInstance().buttonColorInt)
|
||||
mBinding!!.roomTop.btnFollow.text = "收藏"
|
||||
// mBinding.roomTop.btnFollow.setBackground(getResources().getDrawable(com.xscm.moduleutil.R.mipmap.collect));
|
||||
}
|
||||
if ((roomBean.type_id == "3" || roomBean.type_id == "1" || roomBean.type_id == "4") && roomBean.label_id == "2") {
|
||||
AgoraManager.getInstance().isBjMusic = false
|
||||
} else {
|
||||
AgoraManager.getInstance().isBjMusic = true
|
||||
}
|
||||
|
||||
AgoraManager.stopMuisc()
|
||||
initializeAudio()
|
||||
|
||||
|
||||
toutiao()
|
||||
upRoomInfo(resp)
|
||||
|
||||
|
||||
if (userIds.length > 0 && roomId != null) {
|
||||
// MvpPre.userOnlineStatus(userIds.toString(), roomId);
|
||||
}
|
||||
if (publicScreenFragment != null) {
|
||||
publicScreenFragment!!.upRoomInfo(resp)
|
||||
}
|
||||
instView()
|
||||
|
||||
if (mRoomInfoResp!!.user_info.pit_number == 9 && mRoomInfoResp!!.user_info.user_id == SpUtil.getUserId()) {
|
||||
mBinding!!.roomTop.rl.visibility = View.VISIBLE
|
||||
ivSoundEffects(true)
|
||||
} else {
|
||||
mBinding!!.roomTop.rl.visibility = View.GONE
|
||||
ivSoundEffects(false)
|
||||
}
|
||||
|
||||
if (resp.room_info.type_id == "7" || resp.room_info.type_id == "2") {
|
||||
mBinding!!.rlMore.visibility = View.GONE
|
||||
mBinding!!.rlMisc.visibility = View.GONE
|
||||
}
|
||||
setupEffectView()
|
||||
|
||||
if (mRoomInfoResp!!.gift_cycle != null && mRoomInfoResp!!.gift_cycle.xlh_info != null && mRoomInfoResp!!.gift_cycle.xlh_info.xlh_status != null && mRoomInfoResp!!.gift_cycle.xlh_info.xlh_status == "1") {
|
||||
mBinding?.xlhRk?.visibility = View.VISIBLE
|
||||
xlhDjs(mRoomInfoResp!!.gift_cycle.xlh_info.end_time)
|
||||
} else {
|
||||
mBinding?.xlhRk?.visibility = View.INVISIBLE
|
||||
releaseCountDownTimer1()
|
||||
}
|
||||
|
||||
if (mRoomInfoResp!!.hour_ranking_open == 1) {
|
||||
mBinding!!.clXsb.visibility = View.VISIBLE
|
||||
} else {
|
||||
mBinding!!.clXsb.visibility = View.GONE
|
||||
}
|
||||
mRoomInfoResp = resp
|
||||
isOnline = true
|
||||
password = ""
|
||||
roomId = mRoomInfoResp?.room_info?.room_id
|
||||
taskId = null
|
||||
initPublicScreenFragment()
|
||||
setView(resp)
|
||||
}
|
||||
|
||||
//隐藏视图
|
||||
@@ -3466,6 +3391,18 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
performExitRoom(2)
|
||||
}
|
||||
|
||||
is RoomHourBean.RoomListBean -> {
|
||||
AgoraManager.getInstance().cleanup()
|
||||
roomId = event.room_id
|
||||
isSwitchRoom = true
|
||||
// 重新连接房间相关服务
|
||||
resumeRoomState()
|
||||
publicScreenFragment?.onDestroy()
|
||||
publicScreenFragment = null
|
||||
|
||||
MvpPre?.getRoomIn(event.room_id, "")
|
||||
}
|
||||
|
||||
is HeadlineBean -> {
|
||||
mRoomInfoResp!!.room_info.head_line = event
|
||||
toutiao()
|
||||
@@ -3565,45 +3502,45 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
GiftDisplayManager.getInstance().setupDisplayView(mBinding?.giftContainer)
|
||||
CommonAppContext.getInstance().isShow = true
|
||||
CommonAppContext.getInstance().isPlaying = true
|
||||
CommonAppContext.getInstance().isRoomJoininj = false
|
||||
// 当Activity恢复时,重置标记
|
||||
userLeaving = true
|
||||
|
||||
MvpPre!!.roomRedPackets(roomId);
|
||||
LogUtils.e("RoomActivity", "onResume")
|
||||
|
||||
if ((mRoomInfoResp?.room_info?.type_id.equals("1") || mRoomInfoResp?.room_info?.type_id.equals(
|
||||
"8"
|
||||
) || mRoomInfoResp?.room_info?.type_id.equals(
|
||||
"3"
|
||||
)
|
||||
|| mRoomInfoResp?.room_info?.type_id.equals("4")) && mRoomInfoResp?.room_info?.label_id.equals(
|
||||
"2"
|
||||
)
|
||||
) {
|
||||
return
|
||||
}
|
||||
if (isInBackground) {
|
||||
isInBackground = false
|
||||
MvpPre!!.postRoomInfo(CommonAppContext.getInstance().playId)
|
||||
}
|
||||
|
||||
// 检查是否从最小化状态恢复
|
||||
if (isMinimized) {
|
||||
isMinimized = false
|
||||
clearMinimizeState()
|
||||
// 恢复房间状态
|
||||
resumeRoomState()
|
||||
setupEffectView()
|
||||
|
||||
MvpPre?.postRoomInfo(CommonAppContext.getInstance().playId)
|
||||
}
|
||||
|
||||
// 延迟调整布局,确保视图已经完全加载
|
||||
mBinding?.mainContentContainer?.post { this.adjustLayoutHeights() }
|
||||
// GiftDisplayManager.getInstance().setupDisplayView(mBinding?.giftContainer)
|
||||
// CommonAppContext.getInstance().isShow = true
|
||||
// CommonAppContext.getInstance().isPlaying = true
|
||||
// CommonAppContext.getInstance().isRoomJoininj = false
|
||||
// // 当Activity恢复时,重置标记
|
||||
// userLeaving = true
|
||||
//
|
||||
// MvpPre!!.roomRedPackets(roomId);
|
||||
// LogUtils.e("RoomActivity", "onResume")
|
||||
//
|
||||
// if ((mRoomInfoResp?.room_info?.type_id.equals("1") || mRoomInfoResp?.room_info?.type_id.equals(
|
||||
// "8"
|
||||
// ) || mRoomInfoResp?.room_info?.type_id.equals(
|
||||
// "3"
|
||||
// )
|
||||
// || mRoomInfoResp?.room_info?.type_id.equals("4")) && mRoomInfoResp?.room_info?.label_id.equals(
|
||||
// "2"
|
||||
// )
|
||||
// ) {
|
||||
// return
|
||||
// }
|
||||
// if (isInBackground) {
|
||||
// isInBackground = false
|
||||
// MvpPre!!.postRoomInfo(CommonAppContext.getInstance().playId)
|
||||
// }
|
||||
//
|
||||
// // 检查是否从最小化状态恢复
|
||||
// if (isMinimized) {
|
||||
// isMinimized = false
|
||||
// clearMinimizeState()
|
||||
// // 恢复房间状态
|
||||
// resumeRoomState()
|
||||
// setupEffectView()
|
||||
//
|
||||
// MvpPre?.postRoomInfo(CommonAppContext.getInstance().playId)
|
||||
// }
|
||||
//
|
||||
// // 延迟调整布局,确保视图已经完全加载
|
||||
// mBinding?.mainContentContainer?.post { this.adjustLayoutHeights() }
|
||||
}
|
||||
|
||||
// 添加检查房间连接状态的方法
|
||||
@@ -4388,4 +4325,25 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
}
|
||||
|
||||
|
||||
private val CLICK_INTERVAL: Long = 500 // 500ms内不允许重复点击
|
||||
private var lastClickTime: Long = 0
|
||||
private var lastClickedUserId = "" // 记录上次点击的用户ID
|
||||
private var lastClickedPitNumber = "" // 记录上次点击的麦位号
|
||||
|
||||
fun isFastDoubleClick(userId: String, pitNumber: String): Boolean {
|
||||
val currentTime = System.currentTimeMillis()
|
||||
if (currentTime - lastClickTime < CLICK_INTERVAL &&
|
||||
userId == lastClickedUserId &&
|
||||
pitNumber == lastClickedPitNumber
|
||||
) {
|
||||
return true // 是快速重复点击
|
||||
}
|
||||
|
||||
// 更新上次点击信息
|
||||
lastClickTime = currentTime
|
||||
lastClickedUserId = userId
|
||||
lastClickedPitNumber = pitNumber
|
||||
return false // 不是快速重复点击
|
||||
}
|
||||
|
||||
}
|
||||
@@ -216,6 +216,7 @@ public class ChatRoomFragment extends BaseMvpFragment<ChatRoomPresenter, RoomFra
|
||||
if (resp == null)
|
||||
return;
|
||||
roomInfoResp = resp;
|
||||
roomId = roomInfoResp.getRoom_info().getRoom_id();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.xscm.modulemain.activity.room.fragment;
|
||||
import static android.view.View.GONE;
|
||||
import static android.view.View.VISIBLE;
|
||||
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
@@ -15,6 +16,7 @@ import android.widget.PopupWindow;
|
||||
import android.widget.Switch;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.blankj.utilcode.util.ActivityUtils;
|
||||
import com.orhanobut.logger.Logger;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.modulemain.activity.room.activity.RoomActivity;
|
||||
@@ -189,7 +191,7 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
|
||||
wheatView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(wheatView)) {
|
||||
return; // 快速重复点击,直接返回
|
||||
}
|
||||
onWheatViewClick(position, wheatView);
|
||||
@@ -201,7 +203,7 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
|
||||
public void onZhulClick(RoomFriendshipWheatView view, RoomPitBean pitBean) {
|
||||
|
||||
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(wheatView)) {
|
||||
return; // 快速重复点击,直接返回
|
||||
}
|
||||
// configPower(pitBean);
|
||||
@@ -218,7 +220,7 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
|
||||
wheatView.setmOnCharmClickListener(new RoomFriendshipWheatView.onCharmClickListener() {
|
||||
@Override
|
||||
public void onCharmClick(RoomFriendshipWheatView view, RoomPitBean pitBean) {
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(wheatView)) {
|
||||
return; // 快速重复点击,直接返回
|
||||
}
|
||||
if (pitBean.getUser_id() != null && !pitBean.getUser_id().isEmpty() && !pitBean.getUser_id().equals("0")) {
|
||||
@@ -357,7 +359,16 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
|
||||
if (checkWeather(pitBean.getPit_number())) {
|
||||
showPopupMenu(wheatView); // v 是点击的按钮视图
|
||||
} else if (pitBean.getPit_number().equals("10")) {
|
||||
RoomOnlineDialogFragment.show(roomId, "10", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
if (ActivityUtils.getTopActivity() instanceof RoomActivity){
|
||||
if (((RoomActivity) ActivityUtils.getTopActivity()).getHostUser() < 4){
|
||||
if (((RoomActivity) ActivityUtils.getTopActivity()).isFastDoubleClick(roomInfoResp.getUser_info().getUser_id()+"", pitBean.getPit_number())) {
|
||||
return;
|
||||
}
|
||||
RoomOnlineDialogFragment.show(roomId, "10", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
}else {
|
||||
com.hjq.toast.ToastUtils.show("请等待主持抱麦");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
MvpPre.applyPit(roomId, pitBean.getPit_number());
|
||||
}
|
||||
|
||||
@@ -8,7 +8,9 @@ import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.blankj.utilcode.util.ActivityUtils;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.modulemain.activity.main.activity.MainActivity;
|
||||
import com.xscm.modulemain.adapter.HotAdapter;
|
||||
import com.xscm.modulemain.activity.room.contacts.HotListContacts;
|
||||
import com.xscm.modulemain.databinding.FragmentHotListBinding;
|
||||
@@ -115,12 +117,17 @@ public class HotListFragment extends BaseMvpFragment<HotListPresenter, FragmentH
|
||||
});
|
||||
|
||||
mAdapter.setOnRoomClickListener((room, position) -> {
|
||||
if ( ClickUtils.isFastDoubleClick()){
|
||||
if ( ClickUtils.isFastDoubleClick(mBinding.recycleView)){
|
||||
return;
|
||||
}
|
||||
voiceCategoryFragment.showLoading();
|
||||
if (ActivityUtils.getTopActivity() instanceof MainActivity){
|
||||
((MainActivity) ActivityUtils.getTopActivity()).isShowLoading(true);
|
||||
}
|
||||
// 添加索引有效性检查
|
||||
if (position < 0 || position >= mAdapter.getData().size()) {
|
||||
if (ActivityUtils.getTopActivity() instanceof MainActivity){
|
||||
((MainActivity) ActivityUtils.getTopActivity()).isShowLoading(false);
|
||||
}
|
||||
return;
|
||||
}
|
||||
TopRoom item = mAdapter.getItem(position);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.xscm.modulemain.activity.room.fragment;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
@@ -166,6 +167,15 @@ public class RankingChildFragment extends BaseMvpFragment<DataListPresenter, Roo
|
||||
public void setNo1(CharmRankingResp listsBean) {
|
||||
ImageUtils.loadHeadCC(listsBean.getAvatar(), mBinding.roomRankTop1HeadIcon);
|
||||
mBinding.roomTop1Name.setText(listsBean.getNickname());
|
||||
|
||||
// if (!CharmRankingResp.getNickname_color().isEmpty()){
|
||||
// mBinding.roomTop1Name.setStartColor(Color.parseColor(CharmRankingResp.getNickname_color()));
|
||||
// mBinding.roomTop1Name.setShineColor(Color.parseColor(CharmRankingResp.getNickname_color()));
|
||||
// mBinding.roomTop1Name.setEndColor(Color.parseColor(CharmRankingResp.getNickname_color()));
|
||||
// mBinding.roomTop1Name.setShine(true);
|
||||
// mBinding.roomTop1Name.setShineType(0);
|
||||
// }
|
||||
|
||||
mBinding.roomHeadTop1Label.setText(StringUtil.toWan2(listsBean.getTotal(), 2));
|
||||
setview(listsBean.getIcon(), mBinding.llVip1);
|
||||
mBinding.roomRankTop1HeadIcon.setOnClickListener(new View.OnClickListener() {
|
||||
@@ -180,6 +190,16 @@ public class RankingChildFragment extends BaseMvpFragment<DataListPresenter, Roo
|
||||
public void setNo2(CharmRankingResp listsBean) {
|
||||
ImageUtils.loadHeadCC(listsBean.getAvatar(), mBinding.roomRankTop2HeadIcon);
|
||||
mBinding.roomTop2Name.setText(listsBean.getNickname());
|
||||
|
||||
// if (!CharmRankingResp.getNickname_color().isEmpty()){
|
||||
// mBinding.roomTop2Name.setStartColor(Color.parseColor(CharmRankingResp.getNickname_color()));
|
||||
// mBinding.roomTop2Name.setShineColor(Color.parseColor(CharmRankingResp.getNickname_color()));
|
||||
// mBinding.roomTop2Name.setEndColor(Color.parseColor(CharmRankingResp.getNickname_color()));
|
||||
// mBinding.roomTop2Name.setShine(true);
|
||||
// mBinding.roomTop2Name.setShineType(0);
|
||||
// }
|
||||
|
||||
|
||||
mBinding.roomHeadTop2Label.setText(StringUtil.toWan2(listsBean.getTotal(), 2));
|
||||
setview(listsBean.getIcon(), mBinding.llVip2);
|
||||
mBinding.roomRankTop2HeadIcon.setOnClickListener(new View.OnClickListener() {
|
||||
@@ -216,6 +236,16 @@ public class RankingChildFragment extends BaseMvpFragment<DataListPresenter, Roo
|
||||
public void setNo3(CharmRankingResp listsBean) {
|
||||
ImageUtils.loadHeadCC(listsBean.getAvatar(), mBinding.roomRankTop3HeadIcon);
|
||||
mBinding.roomTop3Name.setText(listsBean.getNickname());
|
||||
|
||||
|
||||
// if (!CharmRankingResp.getNickname_color().isEmpty()){
|
||||
// mBinding.roomTop3Name.setStartColor(Color.parseColor(CharmRankingResp.getNickname_color()));
|
||||
// mBinding.roomTop3Name.setShineColor(Color.parseColor(CharmRankingResp.getNickname_color()));
|
||||
// mBinding.roomTop3Name.setEndColor(Color.parseColor(CharmRankingResp.getNickname_color()));
|
||||
// mBinding.roomTop3Name.setShine(true);
|
||||
// mBinding.roomTop3Name.setShineType(0);
|
||||
// }
|
||||
|
||||
mBinding.roomHeadTop3Label.setText(StringUtil.toWan2(listsBean.getTotal(), 2));
|
||||
setview(listsBean.getIcon(), mBinding.llVip3);
|
||||
mBinding.roomRankTop3HeadIcon.setOnClickListener(new View.OnClickListener() {
|
||||
|
||||
@@ -293,7 +293,7 @@ public class RoomAuctionFragment extends BaseMvpFragment<RoomAuctionPresenterTow
|
||||
mBinding.qinmi.setTextColor(ColorManager.getInstance().getPrimaryColorInt());
|
||||
|
||||
mBinding.ivAuction1.setOnClickListener(view -> {
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(mBinding.ivAuction1)) {
|
||||
return;
|
||||
}
|
||||
if (mBinding.ivAuction1.getUserId() != null && !mBinding.ivAuction1.getUserId().equals("")) {
|
||||
@@ -302,7 +302,7 @@ public class RoomAuctionFragment extends BaseMvpFragment<RoomAuctionPresenterTow
|
||||
});
|
||||
|
||||
mBinding.ivAuction1.setmOnCharmClickListener((view, pitBean) -> {
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(mBinding.ivAuction1)) {
|
||||
return;
|
||||
}
|
||||
if (pitBean.getUser_id() != null && !pitBean.getUser_id().isEmpty() && !pitBean.getUser_id().equals("0")) {
|
||||
@@ -311,7 +311,7 @@ public class RoomAuctionFragment extends BaseMvpFragment<RoomAuctionPresenterTow
|
||||
});
|
||||
|
||||
mBinding.ivAuction2.setOnClickListener(view -> {
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(mBinding.ivAuction2)) {
|
||||
return;
|
||||
}
|
||||
if (mBinding.ivAuction2.getUserId() != null && !mBinding.ivAuction2.getUserId().equals("")) {
|
||||
@@ -319,7 +319,7 @@ public class RoomAuctionFragment extends BaseMvpFragment<RoomAuctionPresenterTow
|
||||
}
|
||||
});
|
||||
mBinding.ivAuction2.setmOnCharmClickListener((view, pitBean) -> {
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(mBinding.ivAuction2)) {
|
||||
return;
|
||||
}
|
||||
if (pitBean.getUser_id() != null && !pitBean.getUser_id().isEmpty() && !pitBean.getUser_id().equals("0")) {
|
||||
@@ -327,7 +327,7 @@ public class RoomAuctionFragment extends BaseMvpFragment<RoomAuctionPresenterTow
|
||||
}
|
||||
});
|
||||
mBinding.ivAuction3.setOnClickListener(view -> {
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(mBinding.ivAuction3)) {
|
||||
return;
|
||||
}
|
||||
if (mBinding.ivAuction3.getUserId() != null && !mBinding.ivAuction3.getUserId().equals("")) {
|
||||
@@ -338,7 +338,7 @@ public class RoomAuctionFragment extends BaseMvpFragment<RoomAuctionPresenterTow
|
||||
|
||||
@Override
|
||||
public void onCharmClick(RoomMakeWheatView view, RoomPitBean pitBean) {
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(mBinding.ivAuction3)) {
|
||||
return;
|
||||
}
|
||||
if (pitBean.getUser_id() != null && !pitBean.getUser_id().isEmpty() && !pitBean.getUser_id().equals("0")) {
|
||||
@@ -349,7 +349,7 @@ public class RoomAuctionFragment extends BaseMvpFragment<RoomAuctionPresenterTow
|
||||
}
|
||||
|
||||
private void onChock(View view) {
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(view)) {
|
||||
return;
|
||||
}
|
||||
int id = view.getId();
|
||||
|
||||
@@ -332,28 +332,7 @@ public class RoomCabinFragment extends BaseRoomFragment<RoomCabinPresenter, Room
|
||||
bottomSheet.setOnOptionSelectedListener(new ExitRoomBottomSheet.OnOptionSelectedListener() {
|
||||
@Override
|
||||
public void onMinimize() {
|
||||
// 处理最小化逻辑,比如不销毁 Activity,仅移至后台
|
||||
// CommonAppContext.getInstance().isShow = false;
|
||||
// ARouter.getInstance().build(ARouteConstants.ME).navigation();//栈顶复用
|
||||
// if (getActivity() instanceof RoomActivity) {
|
||||
// ((RoomActivity) getActivity()).moveTaskToBack(true);
|
||||
// }
|
||||
|
||||
// 在Activity中
|
||||
// Intent serviceIntent = new Intent(getContext(), FloatingWindowService.class);
|
||||
|
||||
// 判断是否已有浮窗正在显示
|
||||
// if (!EasyFloat.isShow("testFloat")) {
|
||||
// // 启动前台服务以维持浮窗
|
||||
// Context context = requireContext();
|
||||
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
// // Android 12+ 需要指定 foregroundServiceType
|
||||
// Intent serviceIntent = new Intent(context, FloatingWindowService.class);
|
||||
// serviceIntent.setAction("ACTION_START_FLOAT");
|
||||
// context.startForegroundService(serviceIntent);
|
||||
// }
|
||||
//
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -8,6 +8,7 @@ import android.view.animation.LinearInterpolator;
|
||||
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
import com.blankj.utilcode.util.ActivityUtils;
|
||||
import com.blankj.utilcode.util.LogUtils;
|
||||
import com.blankj.utilcode.util.ToastUtils;
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
@@ -338,7 +339,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
||||
mu_rank.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(mu_rank)) {
|
||||
return;
|
||||
}
|
||||
RoomKtvWheatView roomDefaultWheatView = (RoomKtvWheatView) v;
|
||||
@@ -349,7 +350,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
||||
|
||||
@Override
|
||||
public void onCharmClick(RoomKtvWheatView view, RoomPitBean pitBean) {
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(mu_rank)) {
|
||||
return;
|
||||
}
|
||||
if (pitBean.getUser_id() != null && !pitBean.getUser_id().isEmpty() && !pitBean.getUser_id().equals("0")) {
|
||||
@@ -366,7 +367,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
||||
muYc.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(muYc)) {
|
||||
return;
|
||||
}
|
||||
if (!muYc.getUserId().equals("")) {
|
||||
@@ -377,7 +378,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
||||
muYc.setmOnCharmClickListener(new RoomKtvWheatView.onCharmClickListener() {
|
||||
@Override
|
||||
public void onCharmClick(RoomKtvWheatView view, RoomPitBean pitBean) {
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(muYc)) {
|
||||
return;
|
||||
}
|
||||
if (pitBean.getUser_id() != null && !pitBean.getUser_id().isEmpty() && !pitBean.getUser_id().equals("0")) {
|
||||
@@ -390,7 +391,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
||||
muZc.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(muZc)) {
|
||||
return;
|
||||
}
|
||||
if (!muZc.getUserId().equals("")) {
|
||||
@@ -403,7 +404,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
||||
muYc.setmOnCharmClickListener(new RoomKtvWheatView.onCharmClickListener() {
|
||||
@Override
|
||||
public void onCharmClick(RoomKtvWheatView view, RoomPitBean pitBean) {
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(muZc)) {
|
||||
return;
|
||||
}
|
||||
if (pitBean.getUser_id() != null && !pitBean.getUser_id().isEmpty() && !pitBean.getUser_id().equals("0")) {
|
||||
@@ -415,19 +416,30 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
||||
muJb.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(muJb)) {
|
||||
return;
|
||||
}
|
||||
if (!muJb.getUserId().equals("")) {
|
||||
RoomUserInfoFragment.show(roomInfoResp.getRoom_info().getRoom_id(), muJb.getUserId(), muJb.pitNumber, getHostUser(), false, 2, isNumberWhether(), getChildFragmentManager());
|
||||
} else {
|
||||
RoomOnlineDialogFragment.show(roomInfoResp.getRoom_info().getRoom_id(), "10", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
if (ActivityUtils.getTopActivity() instanceof RoomActivity){
|
||||
if (((RoomActivity) ActivityUtils.getTopActivity()).getHostUser() < 4){
|
||||
if (ClickUtils.isFastDoubleClick(v)) {
|
||||
return;
|
||||
}
|
||||
RoomOnlineDialogFragment.show(roomInfoResp.getRoom_info().getRoom_id(), "10", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
}else {
|
||||
com.hjq.toast.ToastUtils.show("请等待主持抱麦");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
muJb.setmOnCharmClickListener((view, pitBean) -> {
|
||||
if (ClickUtils.isFastDoubleClick()) {
|
||||
if (ClickUtils.isFastDoubleClick(muJb)) {
|
||||
return;
|
||||
}
|
||||
if (pitBean.getUser_id() != null && !pitBean.getUser_id().isEmpty() && !pitBean.getUser_id().equals("0")) {
|
||||
|
||||
@@ -29,8 +29,10 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.blankj.utilcode.util.ActivityUtils;
|
||||
import com.blankj.utilcode.util.LogUtils;
|
||||
import com.blankj.utilcode.util.ObjectUtils;
|
||||
import com.blankj.utilcode.util.ToastUtils;
|
||||
import com.google.android.flexbox.FlexboxLayout;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.modulemain.activity.room.activity.RoomActivity;
|
||||
@@ -59,6 +61,7 @@ import com.xscm.moduleutil.event.RoomWheatEvent;
|
||||
import com.xscm.moduleutil.listener.MessageListenerSingleton;
|
||||
import com.xscm.moduleutil.rtc.AgoraManager;
|
||||
import com.xscm.moduleutil.rtc.AgoraManagerEx;
|
||||
import com.xscm.moduleutil.utils.ClickUtils;
|
||||
import com.xscm.moduleutil.utils.GsonUtils;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
@@ -150,6 +153,9 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
|
||||
@Override
|
||||
public void onMeilingClick(@NonNull RoomSingSongWheatView view, int pitNumber) {
|
||||
if (ClickUtils.isFastDoubleClick(view)){
|
||||
return;
|
||||
}
|
||||
if (view.pitBean != null && !view.pitBean.getUser_id().isEmpty() && !view.pitBean.getUser_id().equals("0")) {
|
||||
RoomCharmDialog.newInstance(roomId, view.pitBean.getUser_id()).show(getChildFragmentManager(), "RoomCharmDialog");
|
||||
}
|
||||
@@ -162,13 +168,15 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
|
||||
@Override
|
||||
public void onWheatClick(@NonNull RoomSingSongWheatView view, int pitNumber1) {
|
||||
|
||||
if (ClickUtils.isFastDoubleClick(view)){
|
||||
return;
|
||||
}
|
||||
|
||||
RoomPitBean pitBean = view.pitBean;
|
||||
// 可选:点击事件处理
|
||||
Log.d("Wheat", "Clicked pit: " + pitNumber1);
|
||||
if (!pitBean.getUser_id().equals("0") && !pitBean.getUser_id().isEmpty()) {
|
||||
if (isFastDoubleClick(pitBean.getUser_id(), pitBean.getPit_number())) {
|
||||
return; // 快速重复点击,直接返回
|
||||
}
|
||||
RoomUserInfoFragment.show(roomId, pitBean.getUser_id(), pitBean.getPit_number(), getHostUser(), false, 3, isNumberWhether(), getChildFragmentManager());
|
||||
} else {
|
||||
if (cheackWether(pitBean.getPit_number())) {
|
||||
@@ -176,9 +184,17 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
roomPitBean = pitBean;
|
||||
showPopupMenu(view); // v 是点击的按钮视图
|
||||
} else if (pitNumber1 == 10) {
|
||||
if (!isFastDoubleClick("online_dialog", pitNumber1 + "")) {
|
||||
RoomOnlineDialogFragment.show(roomId, pitNumber1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
if (ActivityUtils.getTopActivity() instanceof RoomActivity){
|
||||
if (((RoomActivity) ActivityUtils.getTopActivity()).getHostUser() < 4){
|
||||
if (!isFastDoubleClick("online_dialog", pitNumber1 + "")) {
|
||||
RoomOnlineDialogFragment.show(roomId, pitNumber1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
}
|
||||
}else {
|
||||
com.hjq.toast.ToastUtils.show("请等待主持抱麦");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
MvpPre.applyPit(roomId, pitNumber1 + "");
|
||||
}
|
||||
@@ -343,7 +359,9 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
|
||||
private boolean cheackWether(String pitNumber) {
|
||||
if (roomInfoResp.getRoom_info().getRoom_up_pit_type().equals("1")) {//排麦模式
|
||||
if (roomInfoResp.getUser_info().getIs_management() == 1 || roomInfoResp.getUser_info().getIs_host() == 1 || roomInfoResp.getUser_info().getIs_room_owner() == 1) {
|
||||
if (roomInfoResp.getUser_info().getIs_management() == 1
|
||||
|| roomInfoResp.getUser_info().getIs_host() == 1
|
||||
|| roomInfoResp.getUser_info().getIs_room_owner() == 1) {
|
||||
if (pitNumber.equals("9")) {
|
||||
return false;
|
||||
}
|
||||
@@ -1454,10 +1472,6 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
mBinding.flexboxLayout2.removeAllViews();
|
||||
}
|
||||
}
|
||||
|
||||
if (MvpPre != null) {
|
||||
MvpPre.detachView();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -20,11 +20,13 @@ import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.blankj.utilcode.util.ActivityUtils;
|
||||
import com.blankj.utilcode.util.ToastUtils;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import com.google.android.material.tabs.TabLayoutMediator;
|
||||
import com.stx.xhb.xbanner.XBanner;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.modulemain.activity.main.activity.MainActivity;
|
||||
import com.xscm.modulemain.activity.msg.OfficialNoticeActivity;
|
||||
import com.xscm.modulemain.activity.room.activity.PopularRoomActivity;
|
||||
import com.xscm.modulemain.activity.room.activity.RankingListActivity;
|
||||
@@ -79,9 +81,6 @@ public class VoiceCategoryFragment extends BaseMvpFragment<VoiceCategoryPresente
|
||||
return new VoiceCategoryFragment(voiceFragment);
|
||||
}
|
||||
|
||||
public void showLoading() {
|
||||
voiceFragment.isShowLoading(true);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
@@ -147,7 +146,9 @@ public class VoiceCategoryFragment extends BaseMvpFragment<VoiceCategoryPresente
|
||||
carouselBannerAdapter.setOnItemClickListener((view, data, position) -> {
|
||||
// 示例:跳转到房间 详情页
|
||||
if (data != null) {
|
||||
showLoading();
|
||||
if (ActivityUtils.getTopActivity() instanceof MainActivity){
|
||||
((MainActivity) ActivityUtils.getTopActivity()).isShowLoading(true);
|
||||
}
|
||||
RoomManager.getInstance().fetchRoomDataAndEnter(getActivity(), data.getRoom_id(), "", null);
|
||||
}
|
||||
});
|
||||
@@ -170,7 +171,9 @@ public class VoiceCategoryFragment extends BaseMvpFragment<VoiceCategoryPresente
|
||||
if (item != null) { // 再次检查 item 是否为 null
|
||||
String roomId = item.getRoom_id(); // 或者 item.getRoomId(); 确保方法名正确
|
||||
if (roomId != null && !roomId.isEmpty()) { // 检查 roomId 是否有效
|
||||
showLoading();
|
||||
if (ActivityUtils.getTopActivity() instanceof MainActivity){
|
||||
((MainActivity) ActivityUtils.getTopActivity()).isShowLoading(true);
|
||||
}
|
||||
RoomManager.getInstance().fetchRoomDataAndEnter(getActivity(), roomId, "", null);
|
||||
} else {
|
||||
// Log.d(TAG, "Room ID is null or empty for item at position: " + position);
|
||||
|
||||
@@ -52,23 +52,6 @@ public class VoiceFragment extends BaseMvpFragment<VoicePresenter, FragmentVoice
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
isShowLoading(false);
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
public void isShowLoading(boolean isShowLoading){
|
||||
if (isShowLoading) {
|
||||
mBinding.coolWaitView.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
Observable.timer(5, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe(aLong -> {
|
||||
mBinding.coolWaitView.setVisibility(View.GONE);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initView () {
|
||||
|
||||
|
||||
@@ -56,14 +56,8 @@ public class RoomPresenter extends BasePresenter<RoomContacts.View> implements R
|
||||
}
|
||||
LogUtils.e("token",token);
|
||||
LogUtils.e("roomId:",roomId);
|
||||
|
||||
if (getView()!= null && getView().getSelfActivity()!=null){
|
||||
AgoraManager.getInstance()
|
||||
.joinRoom(token, roomId, uid, enableMic,enableJs);
|
||||
}else {
|
||||
AgoraManager.getInstance()
|
||||
.joinRoom(token, roomId, uid, enableMic,enableJs);
|
||||
}
|
||||
AgoraManager.getInstance()
|
||||
.joinRoom(token, roomId, uid, enableMic,enableJs);
|
||||
if (MvpRef==null){
|
||||
MvpRef=new WeakReference<>(mView);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user