From f1ef717e2b4c9bab262b23cc414382cc2cf49885 Mon Sep 17 00:00:00 2001 From: lzl <1239365383@qq.com> Date: Wed, 29 Oct 2025 16:45:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=B7=B3=E8=BD=AC=E5=8A=A8?= =?UTF-8?q?=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 15 - .run/app.run.xml | 45 -- app/src/main/AndroidManifest.xml | 4 - .../base/BaseMvpDialogFragment.java | 7 + .../moduleutil/bean/room/RoomUpPitBean.java | 4 +- .../bean/room/RoomUserJoinModel.java | 4 +- .../listener/MessageListenerSingleton.java | 9 - .../utils/config/EnvironmentEnum.java | 2 +- modulemain/src/main/AndroidManifest.xml | 7 +- .../com/xscm/modulemain/BaseMvpActivity.java | 3 +- .../activity/main/activity/MainActivity.java | 1 - .../activity/room/activity/RoomActivity.kt | 296 ++++++------ .../room/fragment/FriendshipRoomFragment.java | 5 - .../room/fragment/SingSongFragment.java | 451 ++---------------- .../user/fragment/VocalRangeFragment.java | 2 +- .../xscm/modulemain/manager/RoomManager.java | 9 - 16 files changed, 232 insertions(+), 632 deletions(-) delete mode 100644 .gitignore delete mode 100644 .run/app.run.xml diff --git a/.gitignore b/.gitignore deleted file mode 100644 index aa724b77..00000000 --- a/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -*.iml -.gradle -/local.properties -/.idea/caches -/.idea/libraries -/.idea/modules.xml -/.idea/workspace.xml -/.idea/navEditor.xml -/.idea/assetWizardSettings.xml -.DS_Store -/build -/captures -.externalNativeBuild -.cxx -local.properties diff --git a/.run/app.run.xml b/.run/app.run.xml deleted file mode 100644 index 76af515f..00000000 --- a/.run/app.run.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 564c2fbd..29440079 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -175,7 +175,6 @@ android:configChanges="orientation|keyboardHidden|screenSize" android:exported="false" android:launchMode="singleTask" - android:screenOrientation="behind" android:theme="@style/authsdk_activity_dialog" /> @@ -198,9 +197,6 @@ android:name=".wxapi.WXPayEntryActivity" android:exported="true" android:launchMode="singleTop" /> - { -// RoomMessageEvent.T t = new RoomMessageEvent.T(); -// t.setText("成功加入房间"); -// notifyMessageReceived(new RoomMessageEvent(1000, roomId, t)); -// }); } @Override diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentEnum.java b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentEnum.java index e0884499..333db05c 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentEnum.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentEnum.java @@ -24,7 +24,7 @@ public enum EnvironmentEnum { "midi01", "https://midi01.oss-cn-beijing.aliyuncs.com/", "wxc7681513be9f926b", - 1600096890, + 1600106397, "02f7339ec98947deaeab173599891932", "tcp://1.13.181.248", "https://tmd.xscmmidi.site/h5"); diff --git a/modulemain/src/main/AndroidManifest.xml b/modulemain/src/main/AndroidManifest.xml index 6bb4e668..78097b32 100644 --- a/modulemain/src/main/AndroidManifest.xml +++ b/modulemain/src/main/AndroidManifest.xml @@ -4,7 +4,8 @@ - + @@ -21,7 +22,6 @@ @@ -30,11 +30,10 @@ android:alwaysRetainTaskState="true" android:configChanges="orientation|screenSize|keyboardHidden" android:enableOnBackInvokedCallback="false" - android:excludeFromRecents="false" android:exported="false" android:launchMode="singleTask" android:screenOrientation="portrait" - android:theme="@style/TransparentActivityTheme" + android:theme="@style/AppTheme" android:windowSoftInputMode="adjustPan" /> clazz){ + public void singleTaskToActivity(Class clazz){ Intent intent = new Intent(this, clazz); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); startActivity( intent); } diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/main/activity/MainActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/main/activity/MainActivity.java index 2c0d2e42..552d50d6 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/main/activity/MainActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/main/activity/MainActivity.java @@ -69,7 +69,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -@Route(path = ARouteConstants.ME) public class MainActivity extends BaseMvpActivity implements HomeContacts.View, View.OnClickListener, LocationProvider.LocationCallback { private static int index = -1; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt b/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt index b17c3a3f..1f35e568 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt @@ -4,6 +4,7 @@ import android.Manifest import android.annotation.SuppressLint import android.app.ActivityManager import android.app.AlertDialog +import android.app.ComponentCaller import android.content.Context import android.content.DialogInterface import android.content.Intent @@ -11,13 +12,23 @@ import android.content.pm.ActivityInfo import android.content.res.Configuration import android.graphics.Color import android.graphics.drawable.ColorDrawable -import android.os.* +import android.os.Build +import android.os.Bundle +import android.os.CountDownTimer +import android.os.Handler +import android.os.Looper import android.text.Spannable import android.text.SpannableStringBuilder import android.text.TextUtils import android.text.style.ForegroundColorSpan import android.util.Log -import android.view.* +import android.view.GestureDetector +import android.view.Gravity +import android.view.KeyEvent +import android.view.MotionEvent +import android.view.View +import android.view.ViewGroup +import android.view.WindowManager import android.view.inputmethod.InputMethodManager import android.widget.Button import android.widget.EditText @@ -32,12 +43,12 @@ import androidx.recyclerview.widget.LinearLayoutManager import com.alibaba.android.arouter.facade.annotation.Autowired import com.alibaba.android.arouter.facade.annotation.Route import com.alibaba.android.arouter.launcher.ARouter +import com.blankj.utilcode.util.ActivityUtils import com.blankj.utilcode.util.GsonUtils import com.blankj.utilcode.util.LogUtils import com.blankj.utilcode.util.ThreadUtils import com.blankj.utilcode.util.TimeUtils import com.chad.library.adapter.base.BaseQuickAdapter -import com.xscm.modulemain.dialog.* import com.hjq.toast.ToastUtils import com.liulishuo.okdownload.OkDownloadProvider import com.orhanobut.logger.Logger @@ -47,7 +58,9 @@ import com.tencent.imsdk.v2.V2TIMManager import com.tencent.imsdk.v2.V2TIMSDKListener import com.tencent.imsdk.v2.V2TIMUserFullInfo import com.tencent.imsdk.v2.V2TIMValueCallback +import com.xscm.modulemain.BaseMvpActivity import com.xscm.modulemain.R +import com.xscm.modulemain.activity.main.activity.MainActivity import com.xscm.modulemain.activity.room.contacts.RoomContacts import com.xscm.modulemain.activity.room.fragment.PublicScreenEaseChatFragment import com.xscm.modulemain.activity.room.fragment.RedEnvelopesFragment @@ -58,8 +71,10 @@ import com.xscm.modulemain.activity.room.fragment.RoomNoticeDialogFragment import com.xscm.modulemain.activity.room.fragment.RoomPasswordSetDialogFragment import com.xscm.modulemain.activity.room.presenter.RoomPresenter import com.xscm.modulemain.databinding.ActivityRoomBinding +import com.xscm.modulemain.dialog.EmotionPickerDialog import com.xscm.modulemain.dialog.ExitRoomBottomSheet import com.xscm.modulemain.dialog.FriendsDialogFragment +import com.xscm.modulemain.dialog.GiftLotteryDialog import com.xscm.modulemain.dialog.HourlyChartDialog import com.xscm.modulemain.dialog.PublishCommentDialogFragment import com.xscm.modulemain.dialog.RedBagSendDialog @@ -71,33 +86,58 @@ import com.xscm.modulemain.dialog.RoomOnlineDialogFragment import com.xscm.modulemain.dialog.RoomPkDialogFragment import com.xscm.modulemain.dialog.RoomSettingFragment import com.xscm.modulemain.dialog.SoundEffectsDialogFragment +import com.xscm.modulemain.dialog.TourClubDialogFragment +import com.xscm.modulemain.manager.RoomManager import com.xscm.modulemain.service.ForegroundService import com.xscm.modulemain.service.RoomPlayService -import com.xscm.modulemain.BaseMvpActivity -import com.xscm.modulemain.activity.main.activity.MainActivity +import com.xscm.moduleutil.BaseEvent import com.xscm.moduleutil.adapter.CommonPageAdapter import com.xscm.moduleutil.adapter.LikeUserAdapter import com.xscm.moduleutil.base.AppStateListener import com.xscm.moduleutil.base.AppStateManager import com.xscm.moduleutil.base.CommonAppContext -import com.xscm.moduleutil.bean.* +import com.xscm.moduleutil.bean.GiftBean +import com.xscm.moduleutil.bean.HeadlineBean +import com.xscm.moduleutil.bean.MqttXlhEnd +import com.xscm.moduleutil.bean.RedPacketInfo +import com.xscm.moduleutil.bean.RoomCharmRankBean +import com.xscm.moduleutil.bean.RoomInputEvent +import com.xscm.moduleutil.bean.RoomMessageEvent import com.xscm.moduleutil.bean.RoomMessageEvent.T import com.xscm.moduleutil.bean.RoomMessageEvent.text -import com.xscm.moduleutil.bean.room.* +import com.xscm.moduleutil.bean.RoomSettingEvent +import com.xscm.moduleutil.bean.RoomSingleton +import com.xscm.moduleutil.bean.UserInfo +import com.xscm.moduleutil.bean.UserOnlineStatusBean +import com.xscm.moduleutil.bean.XLHBean 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.RoomAuction.AuctionUserBean +import com.xscm.moduleutil.bean.room.RoomBean +import com.xscm.moduleutil.bean.room.RoomInfoResp +import com.xscm.moduleutil.bean.room.RoomOnline +import com.xscm.moduleutil.bean.room.RoomOnlineBean +import com.xscm.moduleutil.bean.room.RoomOwnerBean +import com.xscm.moduleutil.bean.room.RoomPitBean +import com.xscm.moduleutil.bean.room.RoomUserBean import com.xscm.moduleutil.color.ThemeableDrawableUtils import com.xscm.moduleutil.dialog.ConfirmDialog import com.xscm.moduleutil.dialog.RechargeDialogFragment -import com.xscm.modulemain.dialog.GiftLotteryDialog -import com.xscm.modulemain.dialog.TourClubDialogFragment -import com.xscm.modulemain.manager.RoomManager -import com.xscm.moduleutil.BaseEvent import com.xscm.moduleutil.enumType.QXRoomSeatViewType import com.xscm.moduleutil.enumType.RedEnvelopeStatus -import com.xscm.moduleutil.event.* +import com.xscm.moduleutil.event.ColoseCardEvent +import com.xscm.moduleutil.event.EffectEvent +import com.xscm.moduleutil.event.MusicEvent +import com.xscm.moduleutil.event.RoomGiftGiveEvent +import com.xscm.moduleutil.event.RoomInputHideEvent +import com.xscm.moduleutil.event.RoomJoinMountModel +import com.xscm.moduleutil.event.RoomOutEvent +import com.xscm.moduleutil.event.RoomTaskEvent import com.xscm.moduleutil.event.RoomWheatEvent +import com.xscm.moduleutil.event.SurfaceEvent +import com.xscm.moduleutil.event.UnreadCountEvent import com.xscm.moduleutil.http.BaseObserver import com.xscm.moduleutil.http.RetrofitClient import com.xscm.moduleutil.interfaces.OnMusicItemClickListener @@ -106,9 +146,18 @@ import com.xscm.moduleutil.listener.MessageListenerSingleton.OnMessageReceivedLi import com.xscm.moduleutil.rtc.AgoraManager import com.xscm.moduleutil.rtc.MusicPlayBean import com.xscm.moduleutil.service.MyRoomSingleton -import com.xscm.moduleutil.utils.* +import com.xscm.moduleutil.utils.ARouteConstants +import com.xscm.moduleutil.utils.ColorManager +import com.xscm.moduleutil.utils.ImageUtils +import com.xscm.moduleutil.utils.QXRedPacketManager +import com.xscm.moduleutil.utils.SpUtil +import com.xscm.moduleutil.utils.SystemUtils import com.xscm.moduleutil.utils.roomview.GiftDisplayManager -import com.xscm.moduleutil.widget.* +import com.xscm.moduleutil.widget.CircularProgressView +import com.xscm.moduleutil.widget.CustomMusicFloatingView +import com.xscm.moduleutil.widget.QXGiftPlayerManager +import com.xscm.moduleutil.widget.SilentCountDownTimer +import com.xscm.moduleutil.widget.ViewUtils import com.xscm.moduleutil.widget.ViewUtils.OnViewCreatedListener import com.xscm.moduleutil.widget.floatingView.Floa import io.agora.musiccontentcenter.Music @@ -124,7 +173,8 @@ import pub.devrel.easypermissions.EasyPermissions import pub.devrel.easypermissions.EasyPermissions.PermissionCallbacks import java.lang.ref.WeakReference import java.nio.charset.StandardCharsets -import java.util.* +import java.util.Arrays +import java.util.Date import java.util.stream.Collectors @Route(path = ARouteConstants.ROOM_DETAILS) @@ -188,6 +238,11 @@ class RoomActivity : BaseMvpActivity(), private var qxRedPacketManager: QXRedPacketManager? = null + override fun onNewIntent(intent: Intent, caller: ComponentCaller) { + super.onNewIntent(intent, caller) + LogUtils.e("RoomActivity", "onNewIntent") + } + // 添加弹框到管理列表 fun addActiveDialog(dialog: DialogInterface) { activeDialogs.add(dialog) @@ -202,7 +257,7 @@ class RoomActivity : BaseMvpActivity(), password = intent.getStringExtra("password") roomId = intent.getStringExtra("roomId") mRoomInfoResp = intent.getSerializableExtra("roomInfo") as RoomInfoResp? - LogUtils.dTag("RoomActivity", "doDone" + mRoomInfoResp.toString()) + LogUtils.dTag("RoomActivit", "doDone" + mRoomInfoResp.toString()) taskId = intent.getStringExtra("taskId") } @@ -448,7 +503,7 @@ class RoomActivity : BaseMvpActivity(), override fun onDestroy() { super.onDestroy() - Log.d("TAG", "=== onDestroy called ==="); + LogUtils.e("RoomActivity", "onDestroy") } override fun onCreate(savedInstanceState: Bundle?) { @@ -899,16 +954,7 @@ class RoomActivity : BaseMvpActivity(), } } - private var giftGiveEvent: RoomGiftGiveEvent? = null - @Subscribe(threadMode = ThreadMode.MAIN) - fun roomGiveGiftEvent(event: RoomGiftGiveEvent?) { - if (isFinishing || event == null || event.roonGiftModel == null) { - return - } - giftGiveEvent = event - showGiftGiveProgress() - } private var giftProgress = 0 private var giftCountTimer: CountDownTimer? = null @@ -1400,35 +1446,6 @@ class RoomActivity : BaseMvpActivity(), } } - @Subscribe(threadMode = ThreadMode.MAIN) - fun onMessageEvent(messageEvent: MqttXlhEnd) { - val xlhBean: XLHBean = - GsonUtils.fromJson(messageEvent.message, XLHBean::class.java) - if (xlhBean.from_type == 100) { - if (xlhBean.xlh_data != null) { - if (xlhBean.xlh_data.status == 1) { - mBinding?.xlhRk?.visibility = View.VISIBLE - xlhDjs(xlhBean.xlh_data.end_time) - } else { - mBinding?.xlhRk?.visibility = View.INVISIBLE - releaseCountDownTimer1() - } - } - } else if (xlhBean.from_type == 103) { - val existingFragment = - supportFragmentManager.findFragmentByTag("TourClubDialogFragment") as TourClubDialogFragment? - if (existingFragment != null && existingFragment.isVisible) { - existingFragment.onMessageReceived(messageEvent) - } else { - LogUtils.e("TourClubDialogFragment", "巡乐会界面未打开") -// EventBus.getDefault().post(messageEvent) - } - xlhDjs(xlhBean.end_time) - } else if (xlhBean.from_type == 104) { - - } - } - private var endTime: Long = 0 private fun xlhDjs(endTimeStr: String?) { @@ -2351,15 +2368,6 @@ class RoomActivity : BaseMvpActivity(), } } - @Subscribe(threadMode = ThreadMode.MAIN) - fun onMessageEvent(messageEvent: UnreadCountEvent) { - if (messageEvent.aLong == 0L) { - mBinding!!.ivMessageDot.visibility = View.GONE - } else { - mBinding!!.ivMessageDot.visibility = View.VISIBLE - mBinding!!.ivMessageDot.text = messageEvent.aLong.toString() - } - } private fun querenPk(text: String, pk_id: String) { // 创建并显示确认对话框 @@ -2415,40 +2423,6 @@ class RoomActivity : BaseMvpActivity(), mBinding!!.roomTop.btnFollow.text = "" } - /** - * 特效设置 - */ - @Subscribe(threadMode = ThreadMode.MAIN) - fun setEffectSwitch(event: EffectEvent) { - if (event.isEffectOn) { //特效开启 - QXGiftPlayerManager.getInstance(this).openOrCloseEffectViewWith(true) - mBinding!!.svgaGift.visibility = View.VISIBLE - } else { -// mBinding.svgaGift.closeEffect(); -// mBinding.svgaGift.closeEffect(); - QXGiftPlayerManager.getInstance(this).openOrCloseEffectViewWith(false) - mBinding!!.svgaGift.visibility = View.GONE - } - } - - /** - * 坐骑进场特效 - * - * @param roomJoinMountModel - */ - @Subscribe(threadMode = ThreadMode.MAIN) - fun roomJoinMount(roomJoinMountModel: RoomJoinMountModel) { - if (roomId != roomJoinMountModel.room_id) { - return - } - if (roomJoinMountModel.show_type != 1) { - val gift = GiftBean() - gift.gift_id = "" - gift.play_image = roomJoinMountModel.ride_url - QXGiftPlayerManager.getInstance(this).displayFullEffectView(roomJoinMountModel.ride_url) - // mBinding.svgaZuoji.setSource(roomJoinMountModel.getRide_url(), 2); - } - } private var isSwith = false private var voive = false //声音开关 @@ -2692,7 +2666,12 @@ class RoomActivity : BaseMvpActivity(), appStateListener!!.isAppInBackground = true } QXGiftPlayerManager.getInstance(applicationContext).destroyEffectSvga() - toActivity(MainActivity::class.java) + + if (ActivityUtils.getActivityList().size <= 1){ + singleTaskToActivity(MainActivity::class.java) + }else{ + singleTaskToActivity(ActivityUtils.getActivityList()[1]::class.java) + } } private fun saveMinimizeState() { @@ -2927,18 +2906,6 @@ class RoomActivity : BaseMvpActivity(), ) } - @Subscribe(threadMode = ThreadMode.MAIN) - fun roomInfoEvent(messageEvent: RoomWheatEvent) { - if (messageEvent.roomId == roomId) { - if (messageEvent.isOccupied) { - mBinding!!.ivWheatFeeding.setImageResource(com.xscm.moduleutil.R.mipmap.room_wheat_feeding_up) - aBoolean = false - } else { - mBinding!!.ivWheatFeeding.setImageResource(com.xscm.moduleutil.R.mipmap.room_wheat_feeding) - aBoolean = true - } - } - } @SuppressLint("MissingInflatedId") fun dialogDismiss(type: Int) { @@ -3063,28 +3030,13 @@ class RoomActivity : BaseMvpActivity(), var inputSting: String? = null var intRed_num: String? = null - @Subscribe(threadMode = ThreadMode.MAIN) - fun roomInfoEvent(messageEvent: UserInfo) { - if (messageEvent != null && messageEvent.red_num != null) { - inputSting = "# 口令红包 " + messageEvent.red_num - intRed_num = "# 口令红包 " + messageEvent.red_num - dialogDismiss(2) - } else if (messageEvent != null && messageEvent.ta != null) { - intRed_num = "" - inputSting = "@" + messageEvent.nickname - dialogDismiss(1) - } - } override fun getLayoutId(): Int { return R.layout.activity_room } - @Subscribe(threadMode = ThreadMode.MAIN) - fun roomOut(roomOutEvent: RoomOutEvent?) { - performExitRoom(2) - } + override fun bindPresenter(): RoomPresenter { return RoomPresenter(this, this) @@ -3415,11 +3367,6 @@ class RoomActivity : BaseMvpActivity(), } } - @Subscribe(threadMode = ThreadMode.MAIN) - fun onHeadlineEvent(event: HeadlineBean?) { - mRoomInfoResp!!.room_info.head_line = event - toutiao() - } /** * @author qx @@ -3515,9 +3462,91 @@ class RoomActivity : BaseMvpActivity(), } }) } - } + }else if (event is RoomGiftGiveEvent) { + if (event.roonGiftModel == null) { + return + } + giftGiveEvent = event + showGiftGiveProgress() + }else if(event is UnreadCountEvent){ + if (event.aLong == 0L) { + mBinding!!.ivMessageDot.visibility = View.GONE + } else { + mBinding!!.ivMessageDot.visibility = View.VISIBLE + mBinding!!.ivMessageDot.text = event.aLong.toString() + } + }else if (event is EffectEvent){ + if (event.isEffectOn) { //特效开启 + QXGiftPlayerManager.getInstance(this).openOrCloseEffectViewWith(true) + mBinding!!.svgaGift.visibility = View.VISIBLE + } else { + QXGiftPlayerManager.getInstance(this).openOrCloseEffectViewWith(false) + mBinding!!.svgaGift.visibility = View.GONE + } + }else if (event is RoomJoinMountModel) { + //坐骑进场特效 + if (roomId != event.room_id) { + return + } + if (event.show_type != 1) { + val gift = GiftBean() + gift.gift_id = "" + gift.play_image = event.ride_url + QXGiftPlayerManager.getInstance(this).displayFullEffectView(event.ride_url) + } + }else if (event is RoomWheatEvent){ + if (event.roomId == roomId) { + if (event.isOccupied) { + mBinding!!.ivWheatFeeding.setImageResource(com.xscm.moduleutil.R.mipmap.room_wheat_feeding_up) + aBoolean = false + } else { + mBinding!!.ivWheatFeeding.setImageResource(com.xscm.moduleutil.R.mipmap.room_wheat_feeding) + aBoolean = true + } + } + }else if (event is UserInfo){ + if (event.red_num != null) { + inputSting = "# 口令红包 " + event.red_num + intRed_num = "# 口令红包 " + event.red_num + dialogDismiss(2) + } else if (event.ta != null) { + intRed_num = "" + inputSting = "@" + event.nickname + dialogDismiss(1) + } + }else if (event is RoomOutEvent){ + performExitRoom(2) + }else if (event is HeadlineBean){ + mRoomInfoResp!!.room_info.head_line = event + toutiao() + }else if (event is MqttXlhEnd) { + val xlhBean: XLHBean = + GsonUtils.fromJson(event.message, XLHBean::class.java) + if (xlhBean.from_type == 100) { + if (xlhBean.xlh_data != null) { + if (xlhBean.xlh_data.status == 1) { + mBinding?.xlhRk?.visibility = View.VISIBLE + xlhDjs(xlhBean.xlh_data.end_time) + } else { + mBinding?.xlhRk?.visibility = View.INVISIBLE + releaseCountDownTimer1() + } + } + } else if (xlhBean.from_type == 103) { + val existingFragment = + supportFragmentManager.findFragmentByTag("TourClubDialogFragment") as TourClubDialogFragment? + if (existingFragment != null && existingFragment.isVisible) { + existingFragment.onMessageReceived(event) + } else { + LogUtils.e("TourClubDialogFragment", "巡乐会界面未打开") + } + xlhDjs(xlhBean.end_time) + } else if (xlhBean.from_type == 104) { + } + } } + private var giftGiveEvent: RoomGiftGiveEvent? = null /** * 背景音乐 @@ -3747,6 +3776,7 @@ class RoomActivity : BaseMvpActivity(), } override fun applyPit() { + } override fun downPit() { diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/FriendshipRoomFragment.java b/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/FriendshipRoomFragment.java index 371b2864..cb81cfae 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/FriendshipRoomFragment.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/FriendshipRoomFragment.java @@ -1723,11 +1723,6 @@ public class FriendshipRoomFragment extends BaseRoomFragment pitList; - private SharedViewModel sharedViewModel; public static SingSongFragment newInstance(RoomInfoResp roomInfoResp) { Bundle args = new Bundle(); @@ -127,13 +124,6 @@ public class SingSongFragment extends BaseRoomFragment { // upDtaView(true); // }); - Observable.timer(10, TimeUnit.MILLISECONDS) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(aLong -> { - upDtaView(false); - }); +// Observable.timer(100, TimeUnit.MILLISECONDS) +// .observeOn(AndroidSchedulers.mainThread()) +// .subscribe(aLong -> { +// upDtaView(false); +// }); } public void upRoomInfo(RoomInfoResp roomInfoResp) { @@ -164,8 +155,7 @@ public class SingSongFragment extends BaseRoomFragment { -// if (data != null) { -// // 处理数据 -// roomInfoUpdate(data); -// } -// }); roomId = roomInfoResp.getRoom_info().getRoom_id(); initPopupWindow(); - return super.onCreateView(inflater, container, savedInstanceState); } @@ -259,19 +239,19 @@ public class SingSongFragment extends BaseRoomFragment 8) { -// if (roomInfoResp.getRoom_info().getPit_list().get(8).getUser_id().equals(SpUtil.getUserId() + "") && !pitNumber.equals("10")) { if (roomInfoResp.getUser_info().getPit_number() == 9 && !pitNumber.equals("10")) { return true; } @@ -397,7 +373,7 @@ public class SingSongFragment extends BaseRoomFragment pitList = new ArrayList<>(); - for (int i = 1; i <= 10; i++) { - RoomPitBean pitBean = new RoomPitBean(); - pitBean.setPit_number("" + i); - pitBean.setUser_id("0"); - pitBean.setCharm(""); - pitList.add(pitBean); - } - wheatLayoutSingManager.setWheatData(pitList, false); - } else { -// if (roomInfoResp.getPk_info() == null) { -// -// -// if (!ObjectUtils.isEmpty(roomInfoResp.getRoom_info().getPit_list()) && roomInfoResp.getRoom_info().getPit_list().size() == 10) { -// wheatLayoutSingManager.setWheatData(roomInfoResp.getRoom_info().getPit_list()); -// } -//// initWheatLayout(); -// } else { -// mBinding.flexboxLayout.setVisibility(View.GONE); -// mBinding.cl.setVisibility(View.VISIBLE); -// MvpPre.postRoomInfo(roomInfoResp.getPk_info().getPk_room_id(), roomInfoResp.getUser_info().getPit_number() + "", 1); -// -// } -// -// if (roomInfoResp.getUser_info().getPit_number() != 9) { -// mBinding.imMkf.setVisibility(GONE); -// } else { -// mBinding.imMkf.setVisibility(VISIBLE); -// } -// -// tzblChanged(); - } - - mBinding.btSta.setOnClickListener(this::onClick); - mBinding.btStop.setOnClickListener(this::onClick); - mBinding.imMkf.setOnClickListener(this::onClick); - - } - /** * 检查当前用户是否是房间的主持人 * @@ -647,44 +537,55 @@ public class SingSongFragment extends BaseRoomFragment list = new ArrayList<>(); - list.add(roomInfoResp.getRoom_info().getPit_list().get(i).getEmchat_username()); - break; + public void onMainEvent(BaseEvent event){ + if (event instanceof RoomWheatEvent){ + //上麦模式变化通知 1自由2排麦 + if (roomId.equals(((RoomWheatEvent) event).getRoomId())) { + roomInfoResp.getRoom_info().setWheat(((RoomWheatEvent) event).isFree() ? "1" : "2"); } - - } - updateWheatData(); - } - - // TODO: 2025/3/26 离开房间 - @Subscribe(threadMode = ThreadMode.MAIN) - public void subscribeMessages(RoomOwnerLeaveEvent event) { - Logger.e("@@@", "离开房间" + event); - if (roomInfoResp.getRoom_info().getFriend().getFriend_status() == 2) { + }else if (event instanceof RoomUpPitBean){ + if (((RoomUpPitBean) event).getPit_number() != null && !((RoomUpPitBean) event).getPit_number().equals("")) { + RoomPitBean roomPitBean1 = GsonUtils.GsonToBean(GsonUtils.GsonString(event), RoomPitBean.class); + RoomPitBean roomPitBean = roomInfoResp.getRoom_info().getPit_list().get(Integer.parseInt(((RoomUpPitBean) event).getTo_pit_number()) - 1); + roomPitBean1.setPit_number(((RoomUpPitBean) event).getTo_pit_number()); + roomPitBean.setPit_number(((RoomUpPitBean) event).getPit_number()); + roomInfoResp.getRoom_info().getPit_list().set(Integer.parseInt(((RoomUpPitBean) event).getPit_number()) - 1, roomPitBean); + roomInfoResp.getRoom_info().getPit_list().set(Integer.parseInt(((RoomUpPitBean) event).getTo_pit_number()) - 1, roomPitBean1); + } + updateWheatData(); + }else if (event instanceof RoomUserJoinModel){ + Logger.e("@@@", "加入房间" + event); for (int i = 0; i < roomInfoResp.getRoom_info().getPit_list().size(); i++) { - if (event.getUser_id().equals(roomInfoResp.getRoom_info().getPit_list().get(i).getUser_id())) { + if (((RoomUserJoinModel) event).getUser_id().equals(roomInfoResp.getRoom_info().getPit_list().get(i).getUser_id())) { List list = new ArrayList<>(); list.add(roomInfoResp.getRoom_info().getPit_list().get(i).getEmchat_username()); break; } + } + updateWheatData(); + }else if (event instanceof RoomOwnerLeaveEvent){ + Logger.e("@@@", "离开房间" + event); + if (roomInfoResp.getRoom_info().getFriend().getFriend_status() == 2) { + for (int i = 0; i < roomInfoResp.getRoom_info().getPit_list().size(); i++) { + if (((RoomOwnerLeaveEvent) event).getUser_id().equals(roomInfoResp.getRoom_info().getPit_list().get(i).getUser_id())) { + List list = new ArrayList<>(); + list.add(roomInfoResp.getRoom_info().getPit_list().get(i).getEmchat_username()); + break; + } + } + } + + updateWheatData(); } - - updateWheatData(); } - @Override public void roomInfoUpdate(RoomInfoResp resp) { roomInfoResp = resp; roomId = roomInfoResp == null ? "" : roomInfoResp.getRoom_info().getRoom_id(); -// isWhether(); upWheter(); updateWheatData(); } @@ -702,30 +603,7 @@ public class SingSongFragment extends BaseRoomFragment { -// countDownTimer.cancel(); // 取消倒计时 -// dialog.dismiss(); // 手动关闭对话框 -// }); - Window window = dialog.getWindow(); if (window != null) { window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); @@ -1756,13 +1419,6 @@ public class SingSongFragment extends BaseRoomFragment { -// if (getActivity() != null) { -// ImageUtils.clearDiskCache(getActivity()); -// } -// }).start(); - } } \ No newline at end of file diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/fragment/VocalRangeFragment.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/fragment/VocalRangeFragment.java index 6aa517d9..8293fa5f 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/fragment/VocalRangeFragment.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/fragment/VocalRangeFragment.java @@ -161,7 +161,7 @@ public class VocalRangeFragment extends BaseMvpFragment