From 2221a11f0aed209c7c3758ba7a31b1c8acd09068 Mon Sep 17 00:00:00 2001 From: lzl <1239365383@qq.com> Date: Wed, 26 Nov 2025 12:01:31 +0800 Subject: [PATCH 1/3] fix bugs 55 --- .../activity/BaseAppCompatActivity.java | 19 ++ .../moduleutil/base/CommonAppContext.java | 2 +- .../login/present/LoginPresenter.java | 30 +- .../activity/room/activity/RoomActivity.kt | 265 +++++++++--------- .../room/fragment/FriendshipRoomFragment.java | 2 + .../room/fragment/RoomAuctionFragment.java | 15 +- .../room/fragment/RoomCabinFragment.java | 1 + .../room/fragment/RoomKtvFragment.java | 9 + .../room/presenter/DataListPresenter.java | 10 +- .../presenter/FriendshipRoomPresenter.java | 9 + .../user/activity/SettingActivity.java | 9 +- .../dialog/FriendsDialogFragment.java | 31 +- .../dialog/RoomUserInfoFragment.java | 10 + .../dialog/TourClubDialogFragment.java | 21 +- .../dialog/WheatFeedingDialogFragment.java | 9 + gradle.properties | 4 +- 16 files changed, 285 insertions(+), 161 deletions(-) diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java b/BaseModule/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java index 2879f2c0..e5344ec9 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java @@ -26,6 +26,7 @@ import androidx.databinding.ViewDataBinding; import com.alibaba.android.arouter.launcher.ARouter; import com.blankj.utilcode.util.ActivityUtils; import com.blankj.utilcode.util.BarUtils; +import com.blankj.utilcode.util.LogUtils; import com.hjq.toast.ToastUtils; import com.xscm.moduleutil.R; import com.xscm.moduleutil.dialog.LoadingDialog; @@ -257,6 +258,7 @@ public abstract class BaseAppCompatActivity extends public void finish() { EventBus.getDefault().unregister(this); super.finish(); + LogUtils.e(this.getComponentName()+"========finish"); } @Override @@ -346,5 +348,22 @@ public abstract class BaseAppCompatActivity extends } + @Override + protected void onResume() { + super.onResume(); + LogUtils.e(this.getComponentName()+"========onResume"); + } + @Override + protected void onPause() { + super.onPause(); + LogUtils.e(this.getComponentName()+"=========onPause"); + } + + + @Override + protected void onStop() { + super.onStop(); + LogUtils.e(this.getComponentName()+"=========onStop"); + } } diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java b/BaseModule/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java index 170922cb..5505fc02 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java @@ -161,7 +161,7 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio //设置mqtt环境 false 测试环境 true 正式环境 // ExternalResConstants.INSTANCE.setIS_MQTT_RELEASE(false); //设置http环境 false 测试环境 true 正式环境 - ExternalResConstants.INSTANCE.setIS_HTTP_RELEASE(true); + ExternalResConstants.INSTANCE.setIS_HTTP_RELEASE(false); currentEnvironment = ExternalResConstants.INSTANCE.HTTP_PATH(); diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/login/present/LoginPresenter.java b/MainModule/src/main/java/com/xscm/modulemain/activity/login/present/LoginPresenter.java index 7654a197..b6626cd8 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/login/present/LoginPresenter.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/login/present/LoginPresenter.java @@ -4,6 +4,7 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; +import com.blankj.utilcode.util.ActivityUtils; import com.blankj.utilcode.util.AppUtils; import com.blankj.utilcode.util.ToastUtils; import com.xscm.modulemain.activity.login.activity.ImproveInfoActivity; @@ -111,7 +112,6 @@ public class LoginPresenter extends BasePresenter implement } - @Override public void switchAccounts(String loginId) { api.switchAccounts(loginId, new BaseObserver>() { @@ -143,6 +143,7 @@ public class LoginPresenter extends BasePresenter implement } }); } + //一键登陆 @Override public void oauthLoginLogin(String auth_code) { @@ -202,29 +203,32 @@ public class LoginPresenter extends BasePresenter implement } if (userBean.get(0).getSex() == 0) { try { - Intent intent = new Intent(com.blankj.utilcode.util.ActivityUtils.getTopActivity(), ImproveInfoActivity.class); + Intent intent = new Intent(ActivityUtils.getTopActivity(), ImproveInfoActivity.class); Bundle bundle = new Bundle(); bundle.putSerializable("userBean", userBean.get(0)); intent.putExtras(bundle); - com.blankj.utilcode.util.ActivityUtils.startActivity(intent); - com.blankj.utilcode.util.ActivityUtils.getTopActivity().finish(); + ActivityUtils.startActivity(intent); + if (ActivityUtils.getTopActivity() != null) + ActivityUtils.getTopActivity().finish(); } catch (Exception e) { e.printStackTrace(); } } else { EventBus.getDefault().post(userBean.get(0)); - com.blankj.utilcode.util.ActivityUtils.startActivity(MainActivity.class); - com.blankj.utilcode.util.ActivityUtils.getTopActivity().finish(); + ActivityUtils.startActivity(MainActivity.class); + if (ActivityUtils.getTopActivity() != null) + ActivityUtils.getTopActivity().finish(); } } else { - Intent intent = new Intent(com.blankj.utilcode.util.ActivityUtils.getTopActivity(), SwitchAccountsActivity.class); + Intent intent = new Intent(ActivityUtils.getTopActivity(), SwitchAccountsActivity.class); Bundle bundle = new Bundle(); // bundle.putSerializable("userBean", (Serializable) userBean); intent.putExtra("userBean", (ArrayList) userBean); intent.putExtras(bundle); - com.blankj.utilcode.util.ActivityUtils.startActivity(intent); - com.blankj.utilcode.util.ActivityUtils.getTopActivity().finish(); + ActivityUtils.startActivity(intent); + if (ActivityUtils.getTopActivity() != null) + ActivityUtils.getTopActivity().finish(); } // EventBus.getDefault().post(new LoginFinishEvent()); @@ -263,19 +267,19 @@ public class LoginPresenter extends BasePresenter implement } public void ysxl() { - Intent intent = new Intent(com.blankj.utilcode.util.ActivityUtils.getTopActivity(), WebViewActivity.class); + Intent intent = new Intent(ActivityUtils.getTopActivity(), WebViewActivity.class); intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getServerUrl() + "/api/Page/page_show?id=4"); intent.putExtra("title", "隐私协议"); - com.blankj.utilcode.util.ActivityUtils.startActivity(intent); + ActivityUtils.startActivity(intent); // ARouter.getInstance().build(ARouteConstants.H5).withString("url",CommonAppContext.getInstance().getCurrentEnvironment().getServerUrl() + "/api/Page/page_show?id=4").withString("title", "隐私协议").navigation(); } public void yhxy() { - Intent intent = new Intent(com.blankj.utilcode.util.ActivityUtils.getTopActivity(), WebViewActivity.class); + Intent intent = new Intent(ActivityUtils.getTopActivity(), WebViewActivity.class); intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getServerUrl() + "/api/Page/page_show?id=6"); intent.putExtra("title", "用户协议"); - com.blankj.utilcode.util.ActivityUtils.startActivity(intent); + ActivityUtils.startActivity(intent); // ARouter.getInstance().build(ARouteConstants.H5).withString("url", CommonAppContext.getInstance().getCurrentEnvironment().getServerUrl() + "/api/Page/page_show?id=6").withString("title", "用户协议").navigation(); } 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 800f2e60..6834ad7b 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 @@ -121,7 +121,6 @@ import com.xscm.moduleutil.bean.room.FriendInfo.HeartList 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 @@ -689,7 +688,7 @@ class RoomActivity : BaseMvpActivity(), LogUtils.e("RoomActivity", "onPause") GiftDisplayManager.getInstance().clearAll() if (mRoomInfoResp != null) { - if (mRoomInfoResp!!.room_info.type_id != "6") { + if (mRoomInfoResp?.room_info?.type_id != "6") { // 只有在用户主动离开应用时才执行最小化操作 if (!userLeaving) { // 保持Activity alive,不调用finish() @@ -922,7 +921,7 @@ class RoomActivity : BaseMvpActivity(), val userIds = StringBuilder() if (mRoomInfoResp?.room_info?.pit_list != null) { for (i in mRoomInfoResp?.room_info?.pit_list!!.indices) { - val userId = mRoomInfoResp!!.room_info.pit_list[i].user_id + val userId = mRoomInfoResp?.room_info?.pit_list!![i].user_id if (userId != null && userId != "0" && !userId.isEmpty()) { if (userIds.length > 0) { userIds.append(",") @@ -958,7 +957,7 @@ class RoomActivity : BaseMvpActivity(), } - if (mRoomInfoResp!!.user_info.pit_number == 9 && mRoomInfoResp!!.user_info.user_id == SpUtil.getUserId()) { + if (mRoomInfoResp?.user_info?.pit_number == 9 && mRoomInfoResp?.user_info?.user_id == SpUtil.getUserId()) { ivSoundEffects(true) } else { ivSoundEffects(false) @@ -973,13 +972,13 @@ class RoomActivity : BaseMvpActivity(), if (mRoomInfoResp?.gift_cycle?.xlh_info?.xlh_status == "1") { mBinding?.xlhRk?.visibility = View.VISIBLE - xlhDjs(mRoomInfoResp!!.gift_cycle.xlh_info.end_time) + xlhDjs(mRoomInfoResp?.gift_cycle?.xlh_info?.end_time) } else { mBinding?.xlhRk?.visibility = View.INVISIBLE releaseCountDownTimer1() } - if (mRoomInfoResp!!.hour_ranking_open == 1) { + if (mRoomInfoResp?.hour_ranking_open == 1) { mBinding!!.clXsb.visibility = View.VISIBLE } else { mBinding!!.clXsb.visibility = View.GONE @@ -1393,25 +1392,25 @@ class RoomActivity : BaseMvpActivity(), val userId = messageEvent.text?.user_id LogUtils.e("messageEvent!!.text.type" + messageEvent.text.type) CommonAppContext.getInstance().onlineMap[userId ?: ""] = messageEvent.text.type - if (mRoomInfoResp != null && mRoomInfoResp!!.room_info != null) { - if (mRoomInfoResp!!.room_info.type_id == "1" || mRoomInfoResp!!.room_info.type_id == "3" || - mRoomInfoResp!!.room_info.type_id == "4" || mRoomInfoResp!!.room_info.type_id == "8" + if (mRoomInfoResp != null && mRoomInfoResp?.room_info != null) { + if (mRoomInfoResp?.room_info?.type_id == "1" || mRoomInfoResp?.room_info?.type_id == "3" || + mRoomInfoResp?.room_info?.type_id == "4" || mRoomInfoResp?.room_info?.type_id == "8" ) { - if (mRoomInfoResp!!.room_info.label_id == "1") { + if (mRoomInfoResp?.room_info?.label_id == "1") { // roomFragment!!.SingSongEvent(messageEvent) } else { roomFragment!!.handleRoomMessage(messageEvent) } - } else if (mRoomInfoResp!!.room_info.type_id == "2") { + } else if (mRoomInfoResp?.room_info?.type_id == "2") { roomFragment!!.handleRoomMessage(messageEvent) - } else if (mRoomInfoResp!!.room_info.type_id == "7") { + } else if (mRoomInfoResp?.room_info?.type_id == "7") { roomFragment!!.handleRoomMessage(messageEvent) } } CommonAppContext.getInstance().getOnlineMap() } else if (msgType == EMMessageInfo.QXRoomMessageTypeQingGRMl) { // 1059清除个人魅力 1058在离线 - if (mRoomInfoResp != null && mRoomInfoResp!!.room_info != null) { + if (mRoomInfoResp != null && mRoomInfoResp?.room_info != null) { roomFragment!!.handleRoomMessage(messageEvent) } } else if (msgType == EMMessageInfo.QXRoomMessageTypeMangH) { // 1056 抽奖结果 @@ -1533,11 +1532,11 @@ class RoomActivity : BaseMvpActivity(), } private fun handleMsgType1039(messageEvent: RoomMessageEvent, text: T?) { - if (mRoomInfoResp == null || mRoomInfoResp!!.room_info == null) { + if (mRoomInfoResp == null || mRoomInfoResp?.room_info == null) { return } - val pitList = mRoomInfoResp!!.room_info.pit_list + val pitList = mRoomInfoResp?.room_info?.pit_list if (pitList != null && !pitList.isEmpty()) { if (text == null) { @@ -1560,13 +1559,13 @@ class RoomActivity : BaseMvpActivity(), toPitNumber: String, messageEvent: RoomMessageEvent ) { - mRoomInfoResp!!.room_info.pit_list[toPitNumber.toInt() - 1] = getPitBean(messageEvent, 2) + mRoomInfoResp?.room_info?.pit_list!![toPitNumber.toInt() - 1] = getPitBean(messageEvent, 2) mRoomInfoResp?.room_info?.pit_list!![fromPitNumber.toInt() - 1] = RoomPitBean(fromPitNumber) if ("9" == toPitNumber && messageEvent.text.fromUserInfo.user_id == SpUtil.getUserId()) { - mRoomInfoResp!!.user_info.pit_number = Integer.parseInt(toPitNumber) + mRoomInfoResp?.user_info?.pit_number = Integer.parseInt(toPitNumber) ivSoundEffects(true) - setRoleType(3, mRoomInfoResp!!.user_info.pit_number) + setRoleType(3, mRoomInfoResp?.user_info?.pit_number!!) } else { if (customMusicFloatingView != null) { customMusicFloatingView!!.destroy() @@ -1583,14 +1582,14 @@ class RoomActivity : BaseMvpActivity(), userPermissionChange() - if (mRoomInfoResp!!.user_info.pit_number == 9) { + if (mRoomInfoResp?.user_info?.pit_number == 9) { ivSoundEffects(true) } } private fun hand1005(messageEvent: RoomMessageEvent, text: T?) { - if (text == null || mRoomInfoResp == null || mRoomInfoResp!!.room_info == null) return + if (text == null || mRoomInfoResp == null || mRoomInfoResp?.room_info == null) return roomFragment!!.handleRoomMessage(messageEvent) } @@ -1628,17 +1627,17 @@ class RoomActivity : BaseMvpActivity(), } AgoraManager.getInstance().desMusic() - if ((mRoomInfoResp!!.room_info.type_id == "1" || mRoomInfoResp!!.room_info.type_id == "4" || - mRoomInfoResp!!.room_info.type_id == "3" || mRoomInfoResp!!.room_info.type_id == "8") && - mRoomInfoResp!!.room_info.label_id == "2" + if ((mRoomInfoResp?.room_info?.type_id == "1" || mRoomInfoResp?.room_info?.type_id == "4" || + mRoomInfoResp?.room_info?.type_id == "3" || mRoomInfoResp?.room_info?.type_id == "8") && + mRoomInfoResp?.room_info?.label_id == "2" ) { - for (roomPitBean in mRoomInfoResp!!.song_pit_list) { + for (roomPitBean in mRoomInfoResp?.song_pit_list!!) { AgoraManager.getInstance().ClientRole(false) ivWheatFeeding(com.xscm.moduleutil.R.mipmap.room_wheat_feeding) mBinding?.rlMic?.visibility = View.GONE } - if (mRoomInfoResp!!.song_user_info != null && mRoomInfoResp!!.song_user_info.user_id != null) { - if (mRoomInfoResp!!.song_user_info.user_id == SpUtil.getUserId().toString() + "") { + if (mRoomInfoResp?.song_user_info != null && mRoomInfoResp?.song_user_info?.user_id != null) { + if (mRoomInfoResp?.song_user_info?.user_id == SpUtil.getUserId().toString() + "") { AgoraManager.getInstance().ClientRole(false) ivWheatFeeding(com.xscm.moduleutil.R.mipmap.room_wheat_feeding) mBinding?.rlMic?.visibility = View.GONE @@ -1666,7 +1665,7 @@ class RoomActivity : BaseMvpActivity(), } private fun handleMsgType1003(messageEvent: RoomMessageEvent, text: T?) { - if (text == null || mRoomInfoResp == null || mRoomInfoResp!!.room_info == null) return + if (text == null || mRoomInfoResp == null || mRoomInfoResp?.room_info == null) return val fromUserInfo = text.fromUserInfo ?: return @@ -1684,8 +1683,8 @@ class RoomActivity : BaseMvpActivity(), aBoolean = false ivWheatFeeding(com.xscm.moduleutil.R.mipmap.room_wheat_feeding_up) setBoolean(aBoolean) - if (mRoomInfoResp!!.user_info != null) { - mRoomInfoResp!!.user_info.pit_number = + if (mRoomInfoResp?.user_info != null) { + mRoomInfoResp?.user_info?.pit_number = pitNumber?.toInt() ?: -1 } setRoleType(3, pitNumber!!.toInt()) @@ -1697,9 +1696,9 @@ class RoomActivity : BaseMvpActivity(), when (typeId) { RoomType.AUCTION -> { if ("9" == pitNumber) { - mRoomInfoResp!!.room_info.pit_list[0] = getPitBean(messageEvent, 1) - if (mRoomInfoResp!!.user_info != null) { - mRoomInfoResp!!.user_info.pit_number = pitNumber.toInt() + mRoomInfoResp?.room_info?.pit_list!![0] = getPitBean(messageEvent, 1) + if (mRoomInfoResp?.user_info != null) { + mRoomInfoResp?.user_info?.pit_number = pitNumber.toInt() } } roomFragment!!.upRoomInfoData(mRoomInfoResp) @@ -1707,11 +1706,11 @@ class RoomActivity : BaseMvpActivity(), } RoomType.DATING -> { - val labelId = mRoomInfoResp!!.room_info.label_id + val labelId = mRoomInfoResp?.room_info?.label_id if ("2" == labelId) { roomFragment!!.handleRoomMessage(messageEvent) } else if ("1" == labelId) { - mRoomInfoResp!!.room_info.pit_list[pitNumber.toInt() - 1] = + mRoomInfoResp?.room_info?.pit_list!![pitNumber.toInt() - 1] = getPitBean(messageEvent, 1) roomFragment!!.upRoomInfoData(mRoomInfoResp) roomFragment!!.handleRoomMessage(messageEvent) @@ -1736,7 +1735,7 @@ class RoomActivity : BaseMvpActivity(), } private fun handleMsgType1004(messageEvent: RoomMessageEvent, text: T?) { - if (text == null || mRoomInfoResp == null || mRoomInfoResp!!.room_info == null) return + if (text == null || mRoomInfoResp == null || mRoomInfoResp?.room_info == null) return val fromUserInfo = text.fromUserInfo ?: return @@ -1766,7 +1765,7 @@ class RoomActivity : BaseMvpActivity(), switchMic(2) } - val typeId = mRoomInfoResp!!.room_info.type_id + val typeId = mRoomInfoResp?.room_info?.type_id val roomType = RoomType.fromTypeId(typeId) @@ -1774,14 +1773,14 @@ class RoomActivity : BaseMvpActivity(), when (roomType) { RoomType.AUCTION -> { if ("9" == pitNumber) { - mRoomInfoResp!!.room_info.pit_list[0] = RoomPitBean(pitNumber) + mRoomInfoResp?.room_info?.pit_list!![0] = RoomPitBean(pitNumber) if (userId == currentUserId) { - if (mRoomInfoResp!!.user_info != null) { - mRoomInfoResp!!.user_info.pit_number = 0 + if (mRoomInfoResp?.user_info != null) { + mRoomInfoResp?.user_info?.pit_number = 0 } } } else if ("888" == pitNumber) {//被拍者 - mRoomInfoResp!!.room_auction = null + mRoomInfoResp?.room_auction = null if (userId == currentUserId) { setRoleType(0, 0) switchMic(2) @@ -1792,12 +1791,12 @@ class RoomActivity : BaseMvpActivity(), RoomType.DATING -> { //TODO 下麦更换数据 - val labelId = mRoomInfoResp!!.room_info.label_id + val labelId = mRoomInfoResp?.room_info?.label_id if ("1" == labelId) { mRoomInfoResp?.room_info?.pit_list!![pitNumber.toInt() - 1] = RoomPitBean(pitNumber) roomFragment!!.upRoomInfoData(mRoomInfoResp) - if (mRoomInfoResp!!.user_info.user_id == SpUtil.getUserId()) { + if (mRoomInfoResp?.user_info?.user_id == SpUtil.getUserId()) { ivSoundEffects(false) } } @@ -1816,7 +1815,7 @@ class RoomActivity : BaseMvpActivity(), } private fun handleMsgType1022(messageEvent: RoomMessageEvent, text: T?) { - if (text == null || mRoomInfoResp == null || mRoomInfoResp!!.room_info == null) return + if (text == null || mRoomInfoResp == null || mRoomInfoResp?.room_info == null) return val pitNumber = text.pit_number val userId = text.fromUserInfo.user_id @@ -1834,7 +1833,7 @@ class RoomActivity : BaseMvpActivity(), setRoleType(0, 0) switchMic(2) } else if ("888" == pitNumber) { - mRoomInfoResp!!.room_auction = RoomAuction() + mRoomInfoResp?.room_auction = RoomAuction() if (userId == currentUserId) { setRoleType(0, 0) switchMic(2) @@ -1847,23 +1846,23 @@ class RoomActivity : BaseMvpActivity(), } private fun handleMsgType1023(messageEvent: RoomMessageEvent, text: T?) { - if (text == null || mRoomInfoResp == null || mRoomInfoResp!!.room_auction == null) return + if (text == null || mRoomInfoResp == null || mRoomInfoResp?.room_auction == null) return - mRoomInfoResp!!.room_auction.auction_user = text.auction_user + mRoomInfoResp?.room_auction?.auction_user = text.auction_user SpUtil.setAuctionId(text.auction_user.auction_id) roomFragment!!.upRoomInfoData(mRoomInfoResp) roomFragment!!.handleRoomMessage(messageEvent) } private fun handleMsgType1024(messageEvent: RoomMessageEvent, text: T?) { - if (text == null || mRoomInfoResp == null || mRoomInfoResp!!.room_auction == null) return - if (mRoomInfoResp!!.room_auction.auction_list != null) { - mRoomInfoResp!!.room_auction.auction_list.clear() + if (text == null || mRoomInfoResp == null || mRoomInfoResp?.room_auction == null) return + if (mRoomInfoResp?.room_auction?.auction_list != null) { + mRoomInfoResp?.room_auction?.auction_list!!.clear() } - if (mRoomInfoResp!!.room_auction.auction_list != null && text.auction_list != null) { - mRoomInfoResp!!.room_auction.auction_list.addAll(text.auction_list) + if (mRoomInfoResp?.room_auction?.auction_list != null && text.auction_list != null) { + mRoomInfoResp?.room_auction?.auction_list!!.addAll(text.auction_list) } else { - mRoomInfoResp!!.room_auction.auction_list = ArrayList() + mRoomInfoResp?.room_auction?.auction_list = ArrayList() } roomFragment!!.upRoomInfoData(mRoomInfoResp) roomFragment!!.handleRoomMessage(messageEvent) @@ -1905,6 +1904,7 @@ class RoomActivity : BaseMvpActivity(), if (roomMessageEvent.text.fromUserInfo.enter_image?.isNotEmpty() == true) { showFloatingMessage(roomMessageEvent.text.fromUserInfo) } + MvpPre?.getRoomOnline(roomId, "1", "10") // number++ @@ -2045,21 +2045,21 @@ class RoomActivity : BaseMvpActivity(), } private fun handleMsgType1029(messageEvent: RoomMessageEvent, text: T?) { - if (text == null || mRoomInfoResp == null || mRoomInfoResp!!.user_info == null) return + if (text == null || mRoomInfoResp == null || mRoomInfoResp?.user_info == null) return - if (mRoomInfoResp!!.user_info.pit_number == 9 && mRoomInfoResp!!.user_info.user_id == SpUtil.getUserId()) { + if (mRoomInfoResp?.user_info?.pit_number == 9 && mRoomInfoResp?.user_info?.user_id == SpUtil.getUserId()) { querenPk(text.text, text.pkId) } } private fun handleMsgType1021(messageEvent: RoomMessageEvent, text: T) { - if (mRoomInfoResp == null || mRoomInfoResp!!.room_info == null) return + if (mRoomInfoResp == null || mRoomInfoResp?.room_info == null) return - val typeId = mRoomInfoResp!!.room_info.type_id + val typeId = mRoomInfoResp?.room_info?.type_id if ("2" == typeId) { roomFragment!!.handleRoomMessage(messageEvent) } else if ("1" == typeId || "4" == typeId || "3" == typeId || "8" == typeId) { - val labelId = mRoomInfoResp!!.room_info.label_id + val labelId = mRoomInfoResp?.room_info?.label_id if ("2" == labelId) { roomFragment!!.handleRoomMessage(messageEvent) } else { @@ -2069,14 +2069,14 @@ class RoomActivity : BaseMvpActivity(), } } else { updateCharmForAllPitBeans("") - roomFragment!!.upFriendList(mRoomInfoResp!!.room_info.pit_list) + roomFragment!!.upFriendList(mRoomInfoResp?.room_info?.pit_list) } } private fun updateCharmForAllPitBeans(charm: String) { - if (mRoomInfoResp == null || mRoomInfoResp!!.room_info == null) return + if (mRoomInfoResp == null || mRoomInfoResp?.room_info == null) return - val pitList = mRoomInfoResp!!.room_info.pit_list ?: return + val pitList = mRoomInfoResp?.room_info?.pit_list ?: return pitList.forEach { roomPitBean -> roomPitBean.charm = charm } @@ -2191,15 +2191,15 @@ class RoomActivity : BaseMvpActivity(), } private fun handleMsgType1035(messageEvent: RoomMessageEvent, text: T?) { - if (text == null || mRoomInfoResp == null || mRoomInfoResp!!.room_info == null) return + if (text == null || mRoomInfoResp == null || mRoomInfoResp?.room_info == null) return val fromUserInfo = text.fromUserInfo ?: return - val typeId = mRoomInfoResp!!.room_info.type_id + val typeId = mRoomInfoResp?.room_info?.type_id if ("2" == typeId) { roomFragment!!.handleRoomMessage(messageEvent) } else if ("1" == typeId || "3" == typeId || "4" == typeId || "8" == typeId) { - val labelId = mRoomInfoResp!!.room_info.label_id + val labelId = mRoomInfoResp?.room_info?.label_id if ("2" == labelId) { roomFragment!!.handleRoomMessage(messageEvent) } else { @@ -2213,9 +2213,9 @@ class RoomActivity : BaseMvpActivity(), } private fun updatePitBeanForUser(fromUserInfo: UserInfo): RoomInfoResp? { - if (mRoomInfoResp == null || mRoomInfoResp!!.room_info == null) return mRoomInfoResp + if (mRoomInfoResp == null || mRoomInfoResp?.room_info == null) return mRoomInfoResp - val pitList = mRoomInfoResp!!.room_info.pit_list ?: return mRoomInfoResp + val pitList = mRoomInfoResp?.room_info?.pit_list ?: return mRoomInfoResp for (pitBean in pitList) { if (pitBean.user_id == fromUserInfo.user_id.toString() + "") { @@ -2248,32 +2248,32 @@ class RoomActivity : BaseMvpActivity(), } private fun handleMsgType1007() { - if (mRoomInfoResp != null && mRoomInfoResp!!.user_info != null) { - mRoomInfoResp!!.user_info.is_host = 1 + if (mRoomInfoResp != null && mRoomInfoResp?.user_info != null) { + mRoomInfoResp?.user_info?.is_host = 1 userPermissionChange() roomFragment!!.upRoomInfoData(mRoomInfoResp) } } private fun handleMsgType1006() { - if (mRoomInfoResp != null && mRoomInfoResp!!.user_info != null) { - mRoomInfoResp!!.user_info.is_management = 1 + if (mRoomInfoResp != null && mRoomInfoResp?.user_info != null) { + mRoomInfoResp?.user_info?.is_management = 1 userPermissionChange() roomFragment!!.upRoomInfoData(mRoomInfoResp) } } private fun handleMsgType1018() { - if (mRoomInfoResp != null && mRoomInfoResp!!.user_info != null) { - mRoomInfoResp!!.user_info.is_host = 0 + if (mRoomInfoResp != null && mRoomInfoResp?.user_info != null) { + mRoomInfoResp?.user_info?.is_host = 0 userPermissionChange() roomFragment!!.upRoomInfoData(mRoomInfoResp) } } private fun handleMsgType1017() { - if (mRoomInfoResp != null && mRoomInfoResp!!.user_info != null) { - mRoomInfoResp!!.user_info.is_management = 0 + if (mRoomInfoResp != null && mRoomInfoResp?.user_info != null) { + mRoomInfoResp?.user_info?.is_management = 0 userPermissionChange() roomFragment!!.upRoomInfoData(mRoomInfoResp) } @@ -2314,14 +2314,14 @@ class RoomActivity : BaseMvpActivity(), } private fun handleMsgType1016(messageEvent: RoomMessageEvent, text: T?) { - if (text == null || mRoomInfoResp == null || mRoomInfoResp!!.user_info == null) return + if (text == null || mRoomInfoResp == null || mRoomInfoResp?.user_info == null) return if (text.fromUserInfo.user_id == SpUtil.getUserId()) { if (text.is_mute_pit == 1) { switchMic(2) } - mRoomInfoResp!!.user_info.is_mute_pit = text.is_mute_pit.toString() - mRoomInfoResp!!.user_info.is_mute = text.is_mute.toString() + mRoomInfoResp?.user_info?.is_mute_pit = text.is_mute_pit.toString() + mRoomInfoResp?.user_info?.is_mute = text.is_mute.toString() } } @@ -2387,7 +2387,7 @@ class RoomActivity : BaseMvpActivity(), } fun setUserInfo() { - mRoomInfoResp!!.user_info.is_collect = 1 + mRoomInfoResp?.user_info?.is_collect = 1 mBinding!!.roomTop.btnFollow.background = resources.getDrawable(com.xscm.moduleutil.R.mipmap.yishouc) mBinding!!.roomTop.btnFollow.text = "" @@ -2406,8 +2406,17 @@ class RoomActivity : BaseMvpActivity(), return } val id = view.id + + // 通过 ID 获取资源名称 + var viewName = try { + view.context.resources.getResourceEntryName(id) + } catch (e: java.lang.Exception) { + "未知View ID: $id" + } + LogUtils.e("RoomActivity", "点击了$viewName") + if (id == R.id.btn_follow) { - MvpPre!!.userGuanz(mRoomInfoResp!!.room_info.room_id, "2") + MvpPre!!.userGuanz(mRoomInfoResp?.room_info?.room_id, "2") } else if (id == R.id.btn_notice) { val roomNoticeDialogFragment = RoomNoticeDialogFragment(this) roomNoticeDialogFragment.setTitle("公告") @@ -2431,8 +2440,8 @@ class RoomActivity : BaseMvpActivity(), } else if (id == R.id.rl) { MvpPre!!.clearUserCharm(roomId, "") } else if (id == R.id.ll_input) { - mBinding!!.llInput.visibility = View.GONE - mBinding!!.inputMenu1.dismiss() + mBinding?.llInput?.visibility = View.GONE + mBinding?.inputMenu1?.dismiss() } else if (id == R.id.iv_emoji) { val emotionPickerDialog = EmotionPickerDialog(this) emotionPickerDialog.setOnEmotionSelectedListener { emotion -> @@ -2443,13 +2452,13 @@ class RoomActivity : BaseMvpActivity(), } emotionPickerDialog.show() } else if (id == R.id.iv_chat) { - if (mRoomInfoResp!!.user_info.is_mute == "1") { + if (mRoomInfoResp?.user_info?.is_mute == "1") { ToastUtils.show("您已经被禁言") } else { dialogDismiss(1) } } else if (id == R.id.rl_mic) { - if (mRoomInfoResp!!.user_info.is_mute_pit != null && mRoomInfoResp!!.user_info.is_mute_pit == "1") { + if (mRoomInfoResp?.user_info?.is_mute_pit != null && mRoomInfoResp?.user_info?.is_mute_pit == "1") { ToastUtils.show("您被禁麦了") } else { if (isSwith) { @@ -2527,10 +2536,10 @@ class RoomActivity : BaseMvpActivity(), } else if (id == R.id.cl_first_charge) { roomFragment!!.showWheatFeedingDialog( roomId, - if ((mRoomInfoResp!!.user_info.is_room_owner == 1 || mRoomInfoResp!!.user_info.is_host == 1 || mRoomInfoResp!!.user_info.is_management == 1)) 1 else 2 + if ((mRoomInfoResp?.user_info?.is_room_owner == 1 || mRoomInfoResp?.user_info?.is_host == 1 || mRoomInfoResp?.user_info?.is_management == 1)) 1 else 2 ) } else if (id == R.id.iv_wheat_feeding) { //点击上麦操作 - if (mRoomInfoResp!!.room_info.room_up_pit_type == "1") { + if (mRoomInfoResp?.room_info?.room_up_pit_type == "1") { if (aBoolean) { MvpPre!!.applyPit(roomId, "") } else { @@ -2565,7 +2574,7 @@ class RoomActivity : BaseMvpActivity(), } private fun isNumberWhether(): Int { - if (mRoomInfoResp!!.getUser_info().getPit_number() == 9) { + if (mRoomInfoResp?.user_info?.pit_number == 9) { return 1 } return 0 @@ -2632,7 +2641,7 @@ class RoomActivity : BaseMvpActivity(), if (mRoomInfoResp == null) { return true } - if (mRoomInfoResp!!.room_info.label_id != "6") { + if (mRoomInfoResp?.room_info?.label_id != "6") { val activityManager = getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager val appProcesses = @@ -2806,12 +2815,12 @@ class RoomActivity : BaseMvpActivity(), rl_misc?.visibility = View.GONE // 空指针保护 - if (mRoomInfoResp == null || mRoomInfoResp!!.room_info == null || mRoomInfoResp!!.user_info == null) { + if (mRoomInfoResp == null || mRoomInfoResp?.room_info == null || mRoomInfoResp?.user_info == null) { return } - val typeId = mRoomInfoResp!!.room_info.type_id - val labelId = mRoomInfoResp!!.room_info.label_id + val typeId = mRoomInfoResp?.room_info?.type_id + val labelId = mRoomInfoResp?.room_info?.label_id val userPitNumber = mRoomInfoResp?.user_info?.pit_number!! // 情况1: typeId = 6 时,只显示消息按钮 @@ -2916,7 +2925,7 @@ class RoomActivity : BaseMvpActivity(), val t = T() t.fromUserInfo = SpUtil.getUserInfo() t.text = s - val roomMessageEvent = RoomMessageEvent(126, mRoomInfoResp!!.room_info.room_id, t) + val roomMessageEvent = RoomMessageEvent(126, mRoomInfoResp?.room_info?.room_id, t) val json = GsonUtils.toJson(roomMessageEvent) // 转换为 byte[] val binaryData = json.toByteArray(StandardCharsets.UTF_8) @@ -2931,7 +2940,6 @@ class RoomActivity : BaseMvpActivity(), @SuppressLint("MissingInflatedId") fun dialogDismiss(type: Int) { // // 使用 AlertDialog.Builder - val builder = AlertDialog.Builder(this) val inflater = layoutInflater val dialogView = @@ -3067,7 +3075,7 @@ class RoomActivity : BaseMvpActivity(), userPermissionChange() - if (mRoomInfoResp!!.user_info.pit_number == 9 && mRoomInfoResp!!.user_info.user_id == SpUtil.getUserId()) { + if (mRoomInfoResp?.user_info?.pit_number == 9 && mRoomInfoResp?.user_info?.user_id == SpUtil.getUserId()) { ivSoundEffects(true) } else { ivSoundEffects(false) @@ -3091,7 +3099,7 @@ class RoomActivity : BaseMvpActivity(), //隐藏视图 private fun instView() { - if (mRoomInfoResp!!.user_info.pit_number != 0) { + if (mRoomInfoResp?.user_info?.pit_number != 0) { aBoolean = false ivWheatFeeding(com.xscm.moduleutil.R.mipmap.room_wheat_feeding_up) setrlMic(true) @@ -3102,31 +3110,31 @@ class RoomActivity : BaseMvpActivity(), setrlMic(false) setBoolean(aBoolean) } - val pitNumber = mRoomInfoResp!!.user_info.pit_number + val pitNumber = mRoomInfoResp?.user_info?.pit_number val roleType = if (pitNumber == 9) { - if (mRoomInfoResp!!.user_info.is_room_owner != 0) 1 else if (mRoomInfoResp!!.user_info.is_host != 0) 2 else 0 + if (mRoomInfoResp?.user_info?.is_room_owner != 0) 1 else if (mRoomInfoResp?.user_info?.is_host != 0) 2 else 0 } else if (pitNumber != 0 && pitNumber != 9) { 3 } else { 0 } - if (mRoomInfoResp!!.user_info.pit_number == 9) { + if (mRoomInfoResp?.user_info?.pit_number == 9) { ivSoundEffects(true) } else { ivSoundEffects(false) } // } if (mRoomInfoResp?.user_info?.user_id == SpUtil.getUserId() - && mRoomInfoResp!!.user_info.pit_number == 9 - && mRoomInfoResp!!.room_info.type_id != "2" - && mRoomInfoResp!!.room_info.type_id != "6" + && mRoomInfoResp?.user_info?.pit_number == 9 + && mRoomInfoResp?.room_info?.type_id != "2" + && mRoomInfoResp?.room_info?.type_id != "6" ) { rlMore(true) } else { rlMore(false) } - val countText = mRoomInfoResp!!.room_info.queue_number.toString() + val countText = mRoomInfoResp?.room_info?.queue_number.toString() val fullText = countText + "人排队" val spannableStringBuilder = SpannableStringBuilder(fullText) @@ -3143,18 +3151,18 @@ class RoomActivity : BaseMvpActivity(), ) tvFirst(spannableStringBuilder) - setRoleType(roleType, pitNumber) + setRoleType(roleType, pitNumber!!) } /** 头条 */ @SuppressLint("ClickableViewAccessibility") fun toutiao() { - if (mRoomInfoResp!!.room_info.head_line != null) { + if (mRoomInfoResp?.room_info?.head_line != null) { mBinding!!.flaoatZuoji.visibility = View.VISIBLE - ImageUtils.loadHeadCC(mRoomInfoResp!!.room_info.head_line.avatar, mBinding!!.headAvate) - mBinding!!.headName.text = mRoomInfoResp!!.room_info.head_line.nickname - mBinding!!.headCone.text = mRoomInfoResp!!.room_info.head_line.content + ImageUtils.loadHeadCC(mRoomInfoResp?.room_info?.head_line?.avatar, mBinding!!.headAvate) + mBinding!!.headName.text = mRoomInfoResp?.room_info?.head_line?.nickname + mBinding!!.headCone.text = mRoomInfoResp?.room_info?.head_line?.content mBinding!!.ivQuanQiang.setOnClickListener { v: View? -> val fragment = PublishCommentDialogFragment.show( @@ -3166,11 +3174,11 @@ class RoomActivity : BaseMvpActivity(), } } mBinding!!.ivQuanC.setOnClickListener { v: View? -> - if (mRoomInfoResp!!.room_info.head_line.room_id != null && mRoomInfoResp!!.room_info.head_line.room_id.isNotEmpty()) { - if (mRoomInfoResp!!.room_info.head_line.room_id != roomId) { + if (mRoomInfoResp?.room_info?.head_line?.room_id != null && mRoomInfoResp?.room_info?.head_line?.room_id!!.isNotEmpty()) { + if (mRoomInfoResp?.room_info?.head_line?.room_id != roomId) { RoomManager.getInstance().fetchRoomDataAndEnter( applicationContext, - mRoomInfoResp!!.room_info.head_line.room_id, + mRoomInfoResp?.room_info?.head_line?.room_id, "", null ) @@ -3241,7 +3249,7 @@ class RoomActivity : BaseMvpActivity(), hideSomeViewOrDoSomething() } - silentCountDownTimer!!.start(mRoomInfoResp!!.room_info.head_line.end_time.toLong()) + silentCountDownTimer!!.start(mRoomInfoResp?.room_info?.head_line?.end_time!!.toLong()) } else { mBinding!!.flaoatZuoji.visibility = View.GONE } @@ -3328,9 +3336,9 @@ class RoomActivity : BaseMvpActivity(), } is SurfaceEvent -> { - if (mRoomInfoResp!!.room_info.type_id == "6") { //判断是否是电影房 + if (mRoomInfoResp?.room_info?.type_id == "6") { //判断是否是电影房 floatingMagnetView = findViewById(R.id.flaoat) //电影房 - if (mRoomInfoResp!!.user_info.is_room_owner != 1) { //判断是不是房主,1:是 如何是,不展示 0不是,展示布局 + if (mRoomInfoResp?.user_info?.is_room_owner != 1) { //判断是不是房主,1:是 如何是,不展示 0不是,展示布局 if (event.type != 1) { val container = floatingMagnetView?.findViewById(R.id.fl_screenshare) @@ -3450,7 +3458,7 @@ class RoomActivity : BaseMvpActivity(), } is HeadlineBean -> { - mRoomInfoResp!!.room_info.head_line = event + mRoomInfoResp?.room_info?.head_line = event toutiao() } @@ -3552,6 +3560,8 @@ class RoomActivity : BaseMvpActivity(), GiftDisplayManager.getInstance().setupDisplayView(mBinding?.giftContainer) } + + // 添加检查房间连接状态的方法 private fun resumeRoomState() { // 恢复房间相关状态 @@ -3717,20 +3727,20 @@ class RoomActivity : BaseMvpActivity(), } fun upHeight() { - if (mRoomInfoResp!!.room_info.type_id == "1" || mRoomInfoResp!!.room_info.type_id == "3" || mRoomInfoResp!!.room_info.type_id == "4" - || mRoomInfoResp!!.room_info.type_id == "8" + if (mRoomInfoResp?.room_info?.type_id == "1" || mRoomInfoResp?.room_info?.type_id == "3" || mRoomInfoResp?.room_info?.type_id == "4" + || mRoomInfoResp?.room_info?.type_id == "8" ) { - maxHeightDp = if (mRoomInfoResp!!.room_info.label_id == "1") { + maxHeightDp = if (mRoomInfoResp?.room_info?.label_id == "1") { 333 } else { 287 } - } else if (mRoomInfoResp!!.room_info.type_id == "2") { + } else if (mRoomInfoResp?.room_info?.type_id == "2") { maxHeightDp = 297 } - if (mRoomInfoResp!!.room_info.type_id == "6") { + if (mRoomInfoResp?.room_info?.type_id == "6") { maxHeightDp = 453 - } else if (mRoomInfoResp!!.room_info.type_id == "7") { + } else if (mRoomInfoResp?.room_info?.type_id == "7") { maxHeightDp = 373 } adjustLayoutHeights() @@ -3738,35 +3748,35 @@ class RoomActivity : BaseMvpActivity(), @SuppressLint("CommitTransaction") private fun resetFragment() { - val typeId = mRoomInfoResp!!.room_info.type_id - val labelId = mRoomInfoResp!!.room_info.label_id + val typeId = mRoomInfoResp?.room_info?.type_id + val labelId = mRoomInfoResp?.room_info?.label_id CommonAppContext.getInstance().lable_id = typeId val roomType = RoomType.fromTypeId(typeId) val qxType: QXRoomSeatViewType = when (roomType) { RoomType.MUTUAL_ENTERTAINMENT -> { - if (mRoomInfoResp!!.room_info.room_background == null || mRoomInfoResp!!.room_info.room_background == "") { + if (mRoomInfoResp?.room_info?.room_background == null || mRoomInfoResp?.room_info?.room_background == "") { changeBackground(com.xscm.moduleutil.R.mipmap.jiaoy_bj) } else { - changeBackgroundColor(mRoomInfoResp!!.room_info.room_background) + changeBackgroundColor(mRoomInfoResp?.room_info?.room_background) } setvisibTop(true) QXRoomSeatViewType.FRIEND } RoomType.AUCTION -> { - changeBackgroundColor(mRoomInfoResp!!.room_info.room_background) + changeBackgroundColor(mRoomInfoResp?.room_info?.room_background) setvisibTop(true) QXRoomSeatViewType.AUCTION } RoomType.DATING -> { if ("2" == labelId) { - changeBackgroundColor(mRoomInfoResp!!.room_info.room_background) + changeBackgroundColor(mRoomInfoResp?.room_info?.room_background) setvisibTop(true) QXRoomSeatViewType.KTV } else if ("1" == labelId) { - changeBackgroundColor(mRoomInfoResp!!.room_info.room_background) + changeBackgroundColor(mRoomInfoResp?.room_info?.room_background) setvisibTop(true) QXRoomSeatViewType.NORMAL } else { @@ -4289,7 +4299,7 @@ class RoomActivity : BaseMvpActivity(), if (redEnvelopesFragment!!.mRedPacketInfo.type == 1) { if (redEnvelopesFragment!!.mRedPacketInfo.conditions.contains("1")) { //有收藏房间条件 - if (mRoomInfoResp!!.user_info.is_collect == 1) { + if (mRoomInfoResp?.user_info?.is_collect == 1) { if (packet!!.redpacket_id == redEnvelopesFragment!!.mRedPacketInfo.redpacket_id) { //需要满足收藏在倒计时 redEnvelopesFragment!!.setNeedTime(packetTime) @@ -4304,7 +4314,7 @@ class RoomActivity : BaseMvpActivity(), if (redEnvelopesFragment!!.isFromToComment) { if (redEnvelopesFragment!!.mRedPacketInfo.conditions.contains("1")) { //有收藏房间条件 - if (mRoomInfoResp!!.user_info.is_collect == 1) { + if (mRoomInfoResp?.user_info?.is_collect == 1) { if (packet!!.redpacket_id == redEnvelopesFragment!!.mRedPacketInfo.redpacket_id) { redEnvelopesFragment!!.setNeedTime(packetTime) } @@ -4363,4 +4373,5 @@ class RoomActivity : BaseMvpActivity(), return false // 不是快速重复点击 } + } \ No newline at end of file diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/FriendshipRoomFragment.java b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/FriendshipRoomFragment.java index 6741541a..72554ad8 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/FriendshipRoomFragment.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/FriendshipRoomFragment.java @@ -17,6 +17,7 @@ import android.widget.Switch; import android.widget.TextView; import com.blankj.utilcode.util.ActivityUtils; +import com.blankj.utilcode.util.LogUtils; import com.orhanobut.logger.Logger; import com.xscm.modulemain.R; import com.xscm.modulemain.activity.room.activity.RoomActivity; @@ -212,6 +213,7 @@ public class FriendshipRoomFragment extends BaseRoomFragment implements DataListContacts.IRoomDataListPre { private static final String TAG = "DataListPresenter"; - + DataListContacts.View mView; public DataListPresenter(DataListContacts.View view, Context context) { super(view, context); + mView = view; } @@ -38,6 +40,9 @@ public class DataListPresenter extends BaseRoomPresenter @Override public void onNext(List charmRankingResp) { if (!ObjectUtils.isEmpty(charmRankingResp)){ + if (MvpRef==null){ + MvpRef=new WeakReference<>(mView); + } if (charmRankingResp.size()>0){ MvpRef.get().setNo1(charmRankingResp.get(0)); } @@ -68,6 +73,9 @@ public class DataListPresenter extends BaseRoomPresenter @Override public void onNext(List charmRankingResp) { if (!ObjectUtils.isEmpty(charmRankingResp)){ + if (MvpRef==null){ + MvpRef=new WeakReference<>(mView); + } if (charmRankingResp.size()>0){ MvpRef.get().setNo1(charmRankingResp.get(0)); } diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/FriendshipRoomPresenter.java b/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/FriendshipRoomPresenter.java index 3a3293b6..a9787908 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/FriendshipRoomPresenter.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/FriendshipRoomPresenter.java @@ -31,6 +31,9 @@ public class FriendshipRoomPresenter extends BaseRoomPresenter(mView); + } MvpRef.get().applyPit(); } }); @@ -79,6 +82,9 @@ public class FriendshipRoomPresenter extends BaseRoomPresenter(mView); + } MvpRef.get().endFriend(friendUserBean); } @@ -96,6 +102,9 @@ public class FriendshipRoomPresenter extends BaseRoomPresenter(mView); + } MvpRef.get().createRelation(); } }); diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/user/activity/SettingActivity.java b/MainModule/src/main/java/com/xscm/modulemain/activity/user/activity/SettingActivity.java index ea744250..5291328a 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/user/activity/SettingActivity.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/user/activity/SettingActivity.java @@ -106,7 +106,14 @@ public class SettingActivity extends BaseMvpActivity { - if (fragment != null && fragment.isAdded()) { - fragment.dismiss(); + //activity 退到后台调用闪退 + try { + // 检查 FragmentManager 状态 + if (fragmentManager.isDestroyed() || fragmentManager.isStateSaved()) { + return; } - }, 4000); // 4秒后关闭 + + FriendsDialogFragment fragment = new FriendsDialogFragment(); + Bundle args = new Bundle(); + args.putSerializable("FriendUserBean", bean); + fragment.setArguments(args); + fragment.show(fragmentManager, "FriendsDialogFragment"); + + new Handler(Looper.getMainLooper()).postDelayed(() -> { + if (fragment != null && fragment.isAdded()) { + fragment.dismiss(); + } + }, 4000); // 4秒后关闭 + }catch (IllegalStateException e){ + LogUtils.e("FriendsDialogFragment: " + e.getMessage()); + } } diff --git a/MainModule/src/main/java/com/xscm/modulemain/dialog/RoomUserInfoFragment.java b/MainModule/src/main/java/com/xscm/modulemain/dialog/RoomUserInfoFragment.java index 58e7770f..14c53bdc 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/dialog/RoomUserInfoFragment.java +++ b/MainModule/src/main/java/com/xscm/modulemain/dialog/RoomUserInfoFragment.java @@ -20,6 +20,7 @@ import android.view.Window; import android.widget.TextView; import com.alibaba.android.arouter.launcher.ARouter; +import com.blankj.utilcode.util.LogUtils; import com.xscm.modulemain.R; import com.xscm.modulemain.activity.room.contacts.RoomUserContacts; import com.xscm.modulemain.databinding.FragmentRoomUserInfoBinding; @@ -181,6 +182,14 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment { @@ -543,10 +554,10 @@ public class TourClubDialogFragment extends BaseMvpDialogFragment Date: Wed, 26 Nov 2025 16:27:14 +0800 Subject: [PATCH 2/3] fix bugs 55 2 --- .../moduleutil/utils/oss/OSSOperUtils.java | 4 +- .../activity/room/activity/RoomActivity.kt | 1 + .../user/presenter/SettingPresenter.java | 46 +++++++++++-------- .../modulemain/dialog/GiftLotteryDialog.java | 10 ++++ .../dialog/RoomGiftDialogFragment.java | 5 +- 5 files changed, 45 insertions(+), 21 deletions(-) diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/utils/oss/OSSOperUtils.java b/BaseModule/src/main/java/com/xscm/moduleutil/utils/oss/OSSOperUtils.java index 02c09dbb..1b8dccc6 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/utils/oss/OSSOperUtils.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/utils/oss/OSSOperUtils.java @@ -14,9 +14,11 @@ import com.alibaba.sdk.android.oss.internal.OSSAsyncTask; import com.alibaba.sdk.android.oss.model.PutObjectRequest; import com.alibaba.sdk.android.oss.model.PutObjectResult; import com.blankj.utilcode.util.FileUtils; +import com.blankj.utilcode.util.SPUtils; import com.blankj.utilcode.util.ThreadUtils; import com.xscm.moduleutil.base.CommonAppContext; import com.xscm.moduleutil.utils.Md5Utils; +import com.xscm.moduleutil.utils.SpUtil; import com.xscm.moduleutil.utils.TimeUtils; import com.xscm.moduleutil.utils.logger.Logger; @@ -85,7 +87,7 @@ public class OSSOperUtils { if (file.getName().contains(".")) { suffix = file.getName().substring(file.getName().lastIndexOf(".")); } - return AppLog + fileMD5 + TimeUtils.getCurrentDate2() + suffix; + return AppLog+ SpUtil.getUserInfo().getNickname()+"_"+SpUtil.getUserInfo().getUser_id() +"_"+ TimeUtils.getCurrentDate2() +"_" + fileMD5+ suffix; } public static OSSOperUtils newInstance() { 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 6834ad7b..1fedee8e 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 @@ -2518,6 +2518,7 @@ class RoomActivity : BaseMvpActivity(), addActiveDialogFragment(fragment) // 添加到管理列表 } } else if (id == R.id.rl_gift) { //礼物 + LogUtils.e("RoomGiftDialogFragment_RoomActivity"); val fragment = RoomGiftDialogFragment.show( mRoomInfoResp, null, roomId, 0, "", supportFragmentManager diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/user/presenter/SettingPresenter.java b/MainModule/src/main/java/com/xscm/modulemain/activity/user/presenter/SettingPresenter.java index aabe8697..9af6243f 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/user/presenter/SettingPresenter.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/user/presenter/SettingPresenter.java @@ -33,10 +33,12 @@ import io.reactivex.schedulers.Schedulers; public class SettingPresenter extends BasePresenter implements SettingConacts.IMePre { private SettingConacts.View mView; + public SettingPresenter(SettingConacts.View view, Context context) { super(view, context); mView = view; } + @Override public void clearLoginInfo() { api.clearLoginInfo(new BaseObserver() { @@ -47,8 +49,8 @@ public class SettingPresenter extends BasePresenter impleme @Override public void onNext(String s) { - if (MvpRef==null){ - MvpRef=new WeakReference<>(mView); + if (MvpRef == null) { + MvpRef = new WeakReference<>(mView); } MvpRef.get().clearLoginInfo(s); } @@ -66,8 +68,8 @@ public class SettingPresenter extends BasePresenter impleme @Override public void onNext(String s) { - if (MvpRef==null){ - MvpRef=new WeakReference<>(mView); + if (MvpRef == null) { + MvpRef = new WeakReference<>(mView); } MvpRef.get().cancel(s); } @@ -101,18 +103,18 @@ public class SettingPresenter extends BasePresenter impleme try { File file = new File(Application.Companion.getInstance().getAppContent()); - if (FileUtils.isFileExists(file.getParent() +"/DataInfo.zip")){ - FileUtils.delete(file.getParent() +"/DataInfo.zip"); + if (FileUtils.isFileExists(file.getParent() + "/DataInfo.zip")) { + FileUtils.delete(file.getParent() + "/DataInfo.zip"); } boolean isZip = ZipUtils.zipFile(Application.Companion.getInstance().getAppContent(), - file.getParent() +"/DataInfo.zip"); + file.getParent() + "/DataInfo.zip"); if (isZip) { emitter.onNext(file.getParent() + "/DataInfo.zip"); - }else { + } else { emitter.onNext(""); } - }catch (Exception e){ - LogUtils.e("压缩失败",e.toString()); + } catch (Exception e) { + LogUtils.e("压缩失败", e.toString()); emitter.onNext(""); } } @@ -121,15 +123,15 @@ public class SettingPresenter extends BasePresenter impleme @Override public void accept(String zipPath) { String upLogUrl = OSSOperUtils.getAppLogPath(new File(zipPath)); - if(!zipPath.isEmpty()){ - CosUploadManager.getInstance(Application.getInstance()).upParameters(upLogUrl,zipPath, new CosUploadManager.UploadCallback(){ + if (!zipPath.isEmpty()) { + CosUploadManager.getInstance(Application.getInstance()).upParameters(upLogUrl, zipPath, new CosUploadManager.UploadCallback() { @Override public void onSuccess(String url) { - if (MvpRef==null){ - MvpRef=new WeakReference<>(mView); + if (MvpRef == null) { + MvpRef = new WeakReference<>(mView); } - api.sendAppLog(upLogUrl,url, new BaseObserver() { + api.sendAppLog(upLogUrl, url, new BaseObserver() { @Override @@ -149,21 +151,27 @@ public class SettingPresenter extends BasePresenter impleme @Override public void onFailure(Exception e) { ToastUtils.showLong("上传失败"); - LogUtils.e("上传失败",e.toString()); + LogUtils.e("上传失败", e.toString()); + if (MvpRef == null) { + MvpRef = new WeakReference<>(mView); + } MvpRef.get().disLoadings(); } @Override public void onFailure1(IllegalStateException e) { ToastUtils.showLong("上传失败"); - LogUtils.e("上传失败",e.toString()); + LogUtils.e("上传失败", e.toString()); MvpRef.get().disLoadings(); } }); - }else { + } else { ToastUtils.showLong("上传失败"); LogUtils.e("压缩失败"); - MvpRef.get().disLoadings(); + if (MvpRef == null) { + MvpRef = new WeakReference<>(mView); + } + MvpRef.get().disLoadings(); } } }); diff --git a/MainModule/src/main/java/com/xscm/modulemain/dialog/GiftLotteryDialog.java b/MainModule/src/main/java/com/xscm/modulemain/dialog/GiftLotteryDialog.java index 84485eb8..c26160e1 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/dialog/GiftLotteryDialog.java +++ b/MainModule/src/main/java/com/xscm/modulemain/dialog/GiftLotteryDialog.java @@ -22,6 +22,7 @@ import androidx.core.content.ContextCompat; import androidx.fragment.app.FragmentManager; import com.blankj.utilcode.util.GsonUtils; +import com.blankj.utilcode.util.LogUtils; import com.xscm.modulemain.R; import com.xscm.modulemain.databinding.DialogGiftLotteryBinding; import com.xscm.moduleutil.base.BaseMvpDialogFragment; @@ -371,6 +372,15 @@ public class GiftLotteryDialog extends BaseMvpDialogFragment Date: Wed, 26 Nov 2025 16:55:02 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=85=B3=E7=B3=BB=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/layout/room_concern_dialog.xml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/MainModule/src/main/res/layout/room_concern_dialog.xml b/MainModule/src/main/res/layout/room_concern_dialog.xml index e99317fc..1b0dacd3 100644 --- a/MainModule/src/main/res/layout/room_concern_dialog.xml +++ b/MainModule/src/main/res/layout/room_concern_dialog.xml @@ -9,10 +9,14 @@ + android:layout_height="wrap_content"> + +