diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java b/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java index 4516810..f98d841 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java @@ -364,7 +364,8 @@ public abstract class BaseAppCompatActivity extends private final List messageQueue = new ArrayList<>(); // 消息队列 private boolean isPlaying = false; // 播放状态标志 private final Object queueLock = new Object(); // 队列同步锁 - ///礼物特效 + + /// 礼物特效 @Subscribe(threadMode = ThreadMode.MAIN) public void onMessageReceived(MqttBean mqttBean) { if (mqttBean == null) { @@ -401,36 +402,29 @@ public abstract class BaseAppCompatActivity extends showFloatingMessage(mqttBean); } - private View floatingView; // 成员变量保存浮动视图 - private boolean isFloatingViewAdded = false; // 标记浮动视图是否已添加到 decorView private void showFloatingMessage(MqttBean mqttBean) { ViewGroup decorView = (ViewGroup) this.getWindow().getDecorView(); // 如果浮动视图未创建,则创建一次 - if (floatingView == null) { - floatingView = LayoutInflater.from(this).inflate(R.layout.item_piaoping, null); + View floatingView = LayoutInflater.from(this).inflate(R.layout.item_piaoping, null); - // 设置布局参数 - FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( - FrameLayout.LayoutParams.MATCH_PARENT, - FrameLayout.LayoutParams.WRAP_CONTENT - ); - layoutParams.topMargin = com.sunfusheng.marqueeview.DisplayUtil.dip2px(this, 70); - layoutParams.gravity = android.view.Gravity.TOP | android.view.Gravity.CENTER_HORIZONTAL; - floatingView.setLayoutParams(layoutParams); + // 设置布局参数 + FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( + FrameLayout.LayoutParams.MATCH_PARENT, + FrameLayout.LayoutParams.WRAP_CONTENT + ); + layoutParams.topMargin = com.sunfusheng.marqueeview.DisplayUtil.dip2px(this, 70); + layoutParams.gravity = android.view.Gravity.TOP | android.view.Gravity.CENTER_HORIZONTAL; + floatingView.setLayoutParams(layoutParams); - // 初始化动画监听器 - setupAnimationListener(floatingView, decorView); - } + // 初始化动画监听器 + setupAnimationListener(floatingView, decorView); // 更新视图数据 - updateFloatingViewData(mqttBean); + updateFloatingViewData(floatingView, mqttBean); // 如果浮动视图未添加到 decorView,则添加 - if (!isFloatingViewAdded) { - decorView.addView(floatingView); - isFloatingViewAdded = true; - } + decorView.addView(floatingView); // 重置视图位置并开始动画 resetAndStartAnimation(floatingView); @@ -464,10 +458,7 @@ public abstract class BaseAppCompatActivity extends @Override public void onAnimationEnd(Animator animation) { // 动画结束后移除悬浮窗 - if (isFloatingViewAdded) { - decorView.removeView(floatingView); - isFloatingViewAdded = false; - } + decorView.removeView(floatingView); // 标记播放结束并处理下一个消息 synchronized (queueLock) { @@ -503,7 +494,7 @@ public abstract class BaseAppCompatActivity extends }, 3000); } - private void updateFloatingViewData(MqttBean mqttBean) { + private void updateFloatingViewData(View floatingView, MqttBean mqttBean) { TextView textView = floatingView.findViewById(R.id.tv_name); TextView textView2 = floatingView.findViewById(R.id.tv_to_name); TextView tv_time = floatingView.findViewById(R.id.tv_num); @@ -627,8 +618,6 @@ public abstract class BaseAppCompatActivity extends // 在类中添加新的成员变量 - private View xlhFloatingView; // XLH类型的浮动视图 - private boolean isXlhFloatingViewAdded = false; // 标记XLH浮动视图是否已添加到 decorView @Subscribe(threadMode = ThreadMode.MAIN) public void onEvent(XLHBean event) { @@ -640,32 +629,28 @@ public abstract class BaseAppCompatActivity extends ViewGroup decorView = (ViewGroup) this.getWindow().getDecorView(); // 如果XLH浮动视图未创建,则创建一次 - if (xlhFloatingView == null) { - xlhFloatingView = LayoutInflater.from(this).inflate(R.layout.item_piaoping_xlh, null); + View xlhFloatingView = LayoutInflater.from(this).inflate(R.layout.item_piaoping_xlh, null); - // 设置布局参数 - FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( - FrameLayout.LayoutParams.MATCH_PARENT, - FrameLayout.LayoutParams.WRAP_CONTENT - ); - layoutParams.topMargin = com.sunfusheng.marqueeview.DisplayUtil.dip2px(this, 100); - layoutParams.gravity = android.view.Gravity.TOP | android.view.Gravity.CENTER_HORIZONTAL; - xlhFloatingView.setLayoutParams(layoutParams); + // 设置布局参数 + FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( + FrameLayout.LayoutParams.MATCH_PARENT, + FrameLayout.LayoutParams.WRAP_CONTENT + ); + layoutParams.topMargin = com.sunfusheng.marqueeview.DisplayUtil.dip2px(this, 100); + layoutParams.gravity = android.view.Gravity.TOP | android.view.Gravity.CENTER_HORIZONTAL; + xlhFloatingView.setLayoutParams(layoutParams); - // 初始化动画监听器 - setupXlhAnimationListener(xlhFloatingView, decorView); - } // 更新视图数据 - updateXlhFloatingViewData(event); + // 初始化动画监听器 + setupXlhAnimationListener(xlhFloatingView, decorView); + updateXlhFloatingViewData(xlhFloatingView, event); // 如果浮动视图未添加到 decorView,则添加 - if (!isXlhFloatingViewAdded) { - decorView.addView(xlhFloatingView); - isXlhFloatingViewAdded = true; - } + decorView.addView(xlhFloatingView); // 重置视图位置并开始动画 resetAndStartXlhAnimation(xlhFloatingView); } + private void setupXlhAnimationListener(View floatingView, ViewGroup decorView) { // 为视图添加一个全局布局监听器,确保在视图完全加载后再设置动画 floatingView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @@ -694,10 +679,7 @@ public abstract class BaseAppCompatActivity extends @Override public void onAnimationEnd(Animator animation) { // 动画结束后移除悬浮窗 - if (isXlhFloatingViewAdded) { - decorView.removeView(floatingView); - isXlhFloatingViewAdded = false; - } + decorView.removeView(floatingView); // 标记播放结束并处理下一个消息 synchronized (queueLock) { @@ -733,11 +715,11 @@ public abstract class BaseAppCompatActivity extends }, 3000); } - private void updateXlhFloatingViewData(XLHBean xlhBean) { + private void updateXlhFloatingViewData(View xlhFloatingView, XLHBean xlhBean) { TextView textView = xlhFloatingView.findViewById(R.id.tv_name); ImageView xlh_image = xlhFloatingView.findViewById(R.id.im_xlh); - if (xlhBean!=null){ + if (xlhBean != null) { xlh_image.setImageDrawable(xlhBean.getFrom_type() == 1 ? getResources().getDrawable(R.mipmap.xlh_jjks) : getResources().getDrawable(R.mipmap.xlh_zsks)); textView.setText(xlhBean.getText()); diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/MyBagDataBean.java b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/MyBagDataBean.java index 62bf131..fe95819 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/MyBagDataBean.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/MyBagDataBean.java @@ -4,9 +4,10 @@ import lombok.Data; @Data public class MyBagDataBean { - private String title; - private String giftName; - private String time; - private String base_image; + private String remarks; //收入说明 + private String gift_num;//礼物数量 + private String gift_name;//礼物名称 + private String gift_image;//礼物图片 + private String time;//时间 } diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/rtc/AgoraManager.java b/moduleUtil/src/main/java/com/xscm/moduleutil/rtc/AgoraManager.java index 1700668..5cf92b4 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/rtc/AgoraManager.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/rtc/AgoraManager.java @@ -883,6 +883,7 @@ public class AgoraManager { } else if (musicPlayer.getState() == io.agora.mediaplayer.Constants.MediaPlayerState.PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED) { LogUtils.e("lxj", "daki"); musicPlayer.open(mSongCode, 0); + isPreload(mSongCode, type); } else if (musicPlayer.getState() == io.agora.mediaplayer.Constants.MediaPlayerState.PLAYER_STATE_OPENING) { LogUtils.e("lxj", musicPlayer.getState()); diff --git a/moduleUtil/src/main/res/layout/room_view_ktv_wheat.xml b/moduleUtil/src/main/res/layout/room_view_ktv_wheat.xml index 02d7d53..7dda84b 100644 --- a/moduleUtil/src/main/res/layout/room_view_ktv_wheat.xml +++ b/moduleUtil/src/main/res/layout/room_view_ktv_wheat.xml @@ -14,19 +14,7 @@ android:clipToPadding="false"> - + @@ -55,6 +43,20 @@ app:layout_constraintHeight_default="percent" app:layout_constraintHeight_percent="0.5" /> + + giftLabelBeanList; for (int i = 0; i < this.list.size(); i++) { this.fragmentList.add(null); } + this.roomId = roomId; } @Override diff --git a/moduleroom/src/main/java/com/example/moduleroom/fragment/PublicScreenEaseChatFragment.java b/moduleroom/src/main/java/com/example/moduleroom/fragment/PublicScreenEaseChatFragment.java index b9eae61..eb06c4f 100644 --- a/moduleroom/src/main/java/com/example/moduleroom/fragment/PublicScreenEaseChatFragment.java +++ b/moduleroom/src/main/java/com/example/moduleroom/fragment/PublicScreenEaseChatFragment.java @@ -299,10 +299,10 @@ public class PublicScreenEaseChatFragment extends BaseMvpFragment0){ + + }else { +// if (mBinding.muZc.pitBean.getUser_id().equals(SpUtil.getUserId() + "")) { +// ((RoomActivity) getActivity()).setRoleType(2, -1); +// ((RoomActivity) getActivity()).switchMic(2); +// } else { + ((RoomActivity) getActivity()).setRoleType(0, 0); + ((RoomActivity) getActivity()).switchMic(2); +// } + + } } } } else { + RoomPitBean pitBean = mBinding.muYc.pitBean; + pitBean.setAvatar(""); + pitBean.setUser_id(""); + pitBean.setNickname(""); + pitBean.setCharm(""); + pitBean.setDress(""); + pitBean.setUser_code(""); + mBinding.muYc.setData(pitBean); + ((RoomActivity) getActivity()).setRoleType(0, 0); did = ""; mBinding.muName.setText("无"); } @@ -638,7 +660,7 @@ public class RoomKtvFragment extends BaseMvpFragment myBagDataBean); void packOutcome(List myBagDataBean); void giftPack(List giftPackBean); + void finishRefreshLoadMore(); } public interface IMePre extends IPresenter { diff --git a/modulevocal/src/main/java/com/example/modulevocal/fragment/mybag/MyBagFragment.java b/modulevocal/src/main/java/com/example/modulevocal/fragment/mybag/MyBagFragment.java index 415ba7a..7410d6f 100644 --- a/modulevocal/src/main/java/com/example/modulevocal/fragment/mybag/MyBagFragment.java +++ b/modulevocal/src/main/java/com/example/modulevocal/fragment/mybag/MyBagFragment.java @@ -82,4 +82,9 @@ public class MyBagFragment extends BaseMvpFragment giftPackBean) { mAdapter.setNewData(giftPackBean); } + + @Override + public void finishRefreshLoadMore() { + + } } diff --git a/modulevocal/src/main/java/com/example/modulevocal/fragment/mybag/MyBagListAdapter.java b/modulevocal/src/main/java/com/example/modulevocal/fragment/mybag/MyBagListAdapter.java index ca31cf8..a7c0bcc 100644 --- a/modulevocal/src/main/java/com/example/modulevocal/fragment/mybag/MyBagListAdapter.java +++ b/modulevocal/src/main/java/com/example/modulevocal/fragment/mybag/MyBagListAdapter.java @@ -12,8 +12,8 @@ public class MyBagListAdapter extends BaseQuickAdapter implements MyBagConacts.View{ MyBagListAdapter mAdapter; private String type; List myBagDataBeanList; + private int page = 1; public static MyBagListFragment newInstance(String type) { @@ -43,8 +48,10 @@ public class MyBagListFragment extends BaseMvpFragment myBagDataBean) { - if (myBagDataBeanList!=null) { - myBagDataBeanList.addAll(myBagDataBean); - mAdapter.setNewData(myBagDataBeanList); + if (page==1) { + mAdapter.setNewData(myBagDataBean); + }else { + if (myBagDataBean==null){ + return; + } + mAdapter.addData(myBagDataBean); } } @Override public void packOutcome(List myBagDataBean) { - mAdapter.setNewData(myBagDataBean); + if (page==1) { + mAdapter.setNewData(myBagDataBean); + }else { + if (myBagDataBean==null){ + return; + } + mAdapter.addData(myBagDataBean); + } } @Override public void giftPack(List giftPackBean) { } + + @Override + public void finishRefreshLoadMore() { + mBinding.smartRefreshLayout.finishRefresh(); + mBinding.smartRefreshLayout.finishLoadMore(); + } } diff --git a/modulevocal/src/main/java/com/example/modulevocal/presenter/MyBagPresenter.java b/modulevocal/src/main/java/com/example/modulevocal/presenter/MyBagPresenter.java index 3b8d135..a482ae0 100644 --- a/modulevocal/src/main/java/com/example/modulevocal/presenter/MyBagPresenter.java +++ b/modulevocal/src/main/java/com/example/modulevocal/presenter/MyBagPresenter.java @@ -28,6 +28,7 @@ public class MyBagPresenter extends BasePresenter implements @Override public void onNext(List myBagDataBeans) { MvpRef.get().packIncome(myBagDataBeans); + MvpRef.get().finishRefreshLoadMore(); } }); } diff --git a/modulevocal/src/main/res/layout/fragment_my_bag_list.xml b/modulevocal/src/main/res/layout/fragment_my_bag_list.xml index 2cf03a8..5088afd 100644 --- a/modulevocal/src/main/res/layout/fragment_my_bag_list.xml +++ b/modulevocal/src/main/res/layout/fragment_my_bag_list.xml @@ -1,16 +1,23 @@ + xmlns:app="http://schemas.android.com/apk/res-auto"> - + android:layout_height="match_parent" + app:srlEnableLoadMore="true" + app:srlEnableRefresh="true"> + + + \ No newline at end of file