Compare commits

...

2 Commits

Author SHA1 Message Date
qyy
a3b689c17e Merge branch 'master' of http://132.232.166.92:8089/MIDI/midi-android 2025-09-12 15:12:11 +08:00
qyy
fb2fd4c6f6 fix 修改动画 2025-09-12 15:12:00 +08:00
2 changed files with 149 additions and 188 deletions

View File

@@ -1,18 +1,12 @@
package com.xscm.moduleutil.widget; package com.xscm.moduleutil.widget;
import android.content.Context; import android.content.Context;
import android.graphics.SurfaceTexture;
import android.net.Uri;
import android.opengl.GLES11Ext;
import android.opengl.GLES20;
import android.opengl.GLSurfaceView; import android.opengl.GLSurfaceView;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.Log; import android.util.Log;
import android.util.LruCache;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.Surface;
import android.view.View; import android.view.View;
import android.widget.FrameLayout; import android.widget.FrameLayout;
@@ -21,13 +15,7 @@ import androidx.annotation.Nullable;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
import com.blankj.utilcode.util.LogUtils; import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.PathUtils;
import com.blankj.utilcode.util.ThreadUtils;
import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.MediaItem;
import com.google.android.exoplayer2.ui.PlayerView;
import com.liulishuo.okdownload.DownloadTask; import com.liulishuo.okdownload.DownloadTask;
import com.liulishuo.okdownload.StatusUtil;
import com.liulishuo.okdownload.core.cause.EndCause; import com.liulishuo.okdownload.core.cause.EndCause;
import com.liulishuo.okdownload.core.cause.ResumeFailedCause; import com.liulishuo.okdownload.core.cause.ResumeFailedCause;
import com.liulishuo.okdownload.core.listener.DownloadListener1; import com.liulishuo.okdownload.core.listener.DownloadListener1;
@@ -38,20 +26,12 @@ import com.opensource.svgaplayer.SVGADynamicEntity;
import com.opensource.svgaplayer.SVGAImageView; import com.opensource.svgaplayer.SVGAImageView;
import com.opensource.svgaplayer.SVGAParser; import com.opensource.svgaplayer.SVGAParser;
import com.opensource.svgaplayer.SVGAVideoEntity; import com.opensource.svgaplayer.SVGAVideoEntity;
import com.tencent.imsdk.v2.V2TIMSimpleMsgListener;
import com.tencent.qgame.animplayer.AnimConfig;
import com.tencent.qgame.animplayer.inter.IAnimListener; import com.tencent.qgame.animplayer.inter.IAnimListener;
import com.tencent.qgame.animplayer.inter.IFetchResource;
import com.xscm.moduleutil.R; import com.xscm.moduleutil.R;
import com.xscm.moduleutil.bean.GiftAvatarBean;
import com.xscm.moduleutil.databinding.RoomViewSvgaAnimBinding; import com.xscm.moduleutil.databinding.RoomViewSvgaAnimBinding;
import com.xscm.moduleutil.utils.Md5Utils;
import com.xscm.moduleutil.utils.MemoryOptimizationUtils;
import com.xscm.moduleutil.utils.SpUtil; import com.xscm.moduleutil.utils.SpUtil;
import com.xscm.moduleutil.utils.logger.Logger; import com.xscm.moduleutil.utils.logger.Logger;
import org.greenrobot.eventbus.EventBus;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
@@ -73,52 +53,9 @@ import okhttp3.Response;
import okhttp3.ResponseBody; import okhttp3.ResponseBody;
public class AvatarFrameView extends FrameLayout implements IAnimListener { public class AvatarFrameView extends FrameLayout {
private PlaybackManager playbackManager; private PlaybackManager playbackManager;
@Override
public void onFailed(int i, @Nullable String s) {
LogUtils.e("@@@@" + "onFailed");
}
@Override
public boolean onVideoConfigReady(@NonNull AnimConfig animConfig) {
return true;
}
@Override
public void onVideoStart() {
LogUtils.e("@@@@" + "onVideoStart");
}
@Override
public void onVideoRender(int i, @Nullable AnimConfig animConfig) {
}
@Override
public void onVideoComplete() {
// if (mType == 1) {
// mBinding.playView.startPlay(mFile); // 循环播放
// } else {
// isPlaying = false;
// playNextFromQueue(); // 播放下一项
// }
// if (isDestroyed) return;
// 确保在主线程中执行
// EventBus.getDefault().post(new GiftAvatarBean());
LogUtils.e("@@@@" + "EventBus onVideoComplete");
// if (Looper.myLooper() == Looper.getMainLooper()) {
// handleVideoComplete();
// } else {
// mainHandler.post(() -> {
//// if (!isDestroyed) {
// handleVideoComplete();
//// }
// });
// }
}
private void handleVideoComplete() { private void handleVideoComplete() {
// if (isDestroyed) return; // if (isDestroyed) return;
@@ -172,11 +109,6 @@ public class AvatarFrameView extends FrameLayout implements IAnimListener {
} }
} }
@Override
public void onVideoDestroy() {
}
public enum RenderType {SVGA, MP4} public enum RenderType {SVGA, MP4}
private RenderType renderType; private RenderType renderType;
@@ -239,10 +171,10 @@ public class AvatarFrameView extends FrameLayout implements IAnimListener {
playbackManager = new PlaybackManager(mainHandler); playbackManager = new PlaybackManager(mainHandler);
// 获取 MP4PlaybackCallback 单例实例并设置引用 // 获取 MP4PlaybackCallback 单例实例并设置引用
MP4PlaybackCallback callback = MP4PlaybackCallback.getInstance(); // MP4PlaybackCallback callback = MP4PlaybackCallback.getInstance();
callback.setAvatarFrameView(this); // callback.setAvatarFrameView(this);
// 设置播放完成监听 // 设置播放完成监听
mBinding.playView.setAnimListener(callback); // mBinding.playView.setAnimListener(callback);
// if (mBinding != null) { // if (mBinding != null) {
// mBinding.playView.setAnimListener(this); // mBinding.playView.setAnimListener(this);
@@ -327,7 +259,7 @@ public class AvatarFrameView extends FrameLayout implements IAnimListener {
} }
// 添加统一的播放完成处理方法 // 添加统一的播放完成处理方法
private void onPlaybackComplete() { public void onPlaybackComplete() {
mainHandler.post(() -> { mainHandler.post(() -> {
if (isDestroyed) return; if (isDestroyed) return;
@@ -338,9 +270,9 @@ public class AvatarFrameView extends FrameLayout implements IAnimListener {
isPlaying = false; isPlaying = false;
// 内存清理检查 // 内存清理检查
if (playQueue.size() % 5 == 0) { // if (playQueue.size() % 5 == 0) {
performLightMemoryCleanup(); // performLightMemoryCleanup();
} // }
// 继续处理队列中的下一个项目 // 继续处理队列中的下一个项目
playNextFromQueue(); playNextFromQueue();
}); });
@@ -381,6 +313,10 @@ public class AvatarFrameView extends FrameLayout implements IAnimListener {
} }
return false; return false;
} }
public boolean isPlaying(){
return mBinding.playView.isRunning();
}
// 在 AvatarFrameView 类中添加以下代码 // 在 AvatarFrameView 类中添加以下代码
private static final int MAX_CONCURRENT_PROCESSING = 3; // 同时处理的最大动画数 private static final int MAX_CONCURRENT_PROCESSING = 3; // 同时处理的最大动画数
@@ -401,11 +337,11 @@ public class AvatarFrameView extends FrameLayout implements IAnimListener {
// return; // return;
// } // }
// 检查特效是否开启 // 检查特效是否开启
if (SpUtil.getOpenEffect() != 1) { // if (SpUtil.getOpenEffect() != 1) {
// 特效关闭时清空队列并停止播放 // // 特效关闭时清空队列并停止播放
clearQueue(); // clearQueue();
return; // return;
} // }
// 添加到播放队列 // 添加到播放队列
playQueue.add(new PlayItem(url, type2)); playQueue.add(new PlayItem(url, type2));
@@ -1408,66 +1344,9 @@ public class AvatarFrameView extends FrameLayout implements IAnimListener {
// private IAnimListener MP4PlaybackCallback; // private IAnimListener MP4PlaybackCallback;
// 在 AvatarFrameView 类的成员变量区域添加单例实例 // 在 AvatarFrameView 类的成员变量区域添加单例实例
private static volatile MP4PlaybackCallback sInstance;
private static class MP4PlaybackCallback implements IAnimListener { public void setAnimListener(IAnimListener mInstance) {
private AvatarFrameView avatarFrameView; mBinding.playView.setAnimListener(mInstance);
private MP4PlaybackCallback() {
// 私有构造函数
}
// 获取单例实例的方法
public static MP4PlaybackCallback getInstance() {
if (sInstance == null) {
synchronized (MP4PlaybackCallback.class) {
if (sInstance == null) {
sInstance = new MP4PlaybackCallback();
}
}
}
return sInstance;
}
// 设置外部引用的方法
public void setAvatarFrameView(AvatarFrameView view) {
this.avatarFrameView = view;
}
@Override
public void onFailed(int i, @Nullable String s) {
LogUtils.e(AvatarFrameView.TAG, "MP4 playback failed: " + s);
if (avatarFrameView != null) {
avatarFrameView.onPlaybackComplete();
}
}
@Override
public boolean onVideoConfigReady(@NonNull AnimConfig animConfig) {
return true;
}
@Override
public void onVideoStart() {
// 播放开始
}
@Override
public void onVideoRender(int i, @Nullable AnimConfig animConfig) {
// 视频渲染中
}
@Override
public void onVideoComplete() {
if (avatarFrameView != null) {
avatarFrameView.onPlaybackComplete();
}
}
@Override
public void onVideoDestroy() {
// 视频销毁
}
} }
// 添加统一的播放完成处理方法 // 添加统一的播放完成处理方法

View File

@@ -2,14 +2,12 @@ package com.example.moduleroom.activity;
import static android.app.PendingIntent.getActivity; import static android.app.PendingIntent.getActivity;
import static android.view.View.GONE; import static android.view.View.GONE;
import static android.view.View.INVISIBLE;
import static android.view.View.VISIBLE; import static android.view.View.VISIBLE;
import static com.liulishuo.okdownload.OkDownloadProvider.context; import static com.liulishuo.okdownload.OkDownloadProvider.context;
import android.Manifest; import android.Manifest;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.ActivityManager; import android.app.ActivityManager;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.content.Context; import android.content.Context;
@@ -22,15 +20,11 @@ import android.graphics.Color;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.os.Bundle; import android.os.Bundle;
import android.os.CountDownTimer; import android.os.CountDownTimer;
import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.os.Message;
import android.os.StrictMode;
import android.text.Spannable; import android.text.Spannable;
import android.text.SpannableStringBuilder; import android.text.SpannableStringBuilder;
import android.text.TextUtils; import android.text.TextUtils;
import android.text.style.ForegroundColorSpan; import android.text.style.ForegroundColorSpan;
import android.util.DisplayMetrics;
import android.util.Log; import android.util.Log;
import android.view.GestureDetector; import android.view.GestureDetector;
import android.view.Gravity; import android.view.Gravity;
@@ -40,7 +34,6 @@ import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.ViewParent; import android.view.ViewParent;
import android.view.ViewStub;
import android.view.Window; import android.view.Window;
import android.view.WindowManager; import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodManager;
@@ -62,7 +55,6 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import com.alibaba.android.arouter.facade.annotation.Autowired; import com.alibaba.android.arouter.facade.annotation.Autowired;
import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter; import com.alibaba.android.arouter.launcher.ARouter;
import com.blankj.utilcode.BuildConfig;
import com.blankj.utilcode.util.GsonUtils; import com.blankj.utilcode.util.GsonUtils;
import com.blankj.utilcode.util.LogUtils; import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.ThreadUtils; import com.blankj.utilcode.util.ThreadUtils;
@@ -72,30 +64,25 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
import com.example.moduleroom.R; import com.example.moduleroom.R;
import com.example.moduleroom.contacts.RoomContacts; import com.example.moduleroom.contacts.RoomContacts;
import com.example.moduleroom.databinding.ActivityRoomBinding; import com.example.moduleroom.databinding.ActivityRoomBinding;
import com.example.moduleroom.dialog.CardRelationshipFragment;
import com.example.moduleroom.dialog.CustomCenterDialogFragment;
import com.example.moduleroom.dialog.ExitRoomBottomSheet; import com.example.moduleroom.dialog.ExitRoomBottomSheet;
import com.example.moduleroom.dialog.FriendsDialogFragment; import com.example.moduleroom.dialog.FriendsDialogFragment;
import com.example.moduleroom.dialog.PublishCommentDialogFragment; import com.example.moduleroom.dialog.PublishCommentDialogFragment;
import com.example.moduleroom.dialog.RequestDialogFragment; import com.example.moduleroom.dialog.RequestDialogFragment;
import com.example.moduleroom.dialog.RoomConcernDialogFragment;
import com.example.moduleroom.dialog.RoomGiftDialogFragment; import com.example.moduleroom.dialog.RoomGiftDialogFragment;
import com.example.moduleroom.dialog.RoomMessageDialogFragment; import com.example.moduleroom.dialog.RoomMessageDialogFragment;
import com.example.moduleroom.dialog.RoomOnlineDialogFragment; import com.example.moduleroom.dialog.RoomOnlineDialogFragment;
import com.example.moduleroom.dialog.RoomPkDialogFragment; import com.example.moduleroom.dialog.RoomPkDialogFragment;
import com.example.moduleroom.dialog.RoomSettingFragment; import com.example.moduleroom.dialog.RoomSettingFragment;
import com.example.moduleroom.dialog.SoundEffectsDialogFragment; import com.example.moduleroom.dialog.SoundEffectsDialogFragment;
import com.example.moduleroom.fragment.FriendshipRoomFragment;
import com.example.moduleroom.fragment.PublicScreenEaseChatFragment; import com.example.moduleroom.fragment.PublicScreenEaseChatFragment;
import com.example.moduleroom.fragment.RoomAuctionFragment;
import com.example.moduleroom.fragment.RoomCabinFragment; import com.example.moduleroom.fragment.RoomCabinFragment;
import com.example.moduleroom.fragment.RoomChartsFragment; import com.example.moduleroom.fragment.RoomChartsFragment;
import com.example.moduleroom.fragment.RoomKtvFragment;
import com.example.moduleroom.fragment.RoomNoticeDialogFragment; import com.example.moduleroom.fragment.RoomNoticeDialogFragment;
import com.example.moduleroom.fragment.SingSongFragment;
import com.petterp.floatingx.assist.helper.FxScopeHelper; import com.petterp.floatingx.assist.helper.FxScopeHelper;
import com.petterp.floatingx.listener.control.IFxControl; import com.petterp.floatingx.listener.control.IFxControl;
import com.tencent.imsdk.v2.V2TIMValueCallback; import com.tencent.imsdk.v2.V2TIMValueCallback;
import com.tencent.qgame.animplayer.AnimConfig;
import com.tencent.qgame.animplayer.inter.IAnimListener;
import com.xscm.moduleutil.base.CommonAppContext; import com.xscm.moduleutil.base.CommonAppContext;
import com.xscm.moduleutil.bean.GiftAvatarBean; import com.xscm.moduleutil.bean.GiftAvatarBean;
import com.xscm.moduleutil.bean.GiftBean; import com.xscm.moduleutil.bean.GiftBean;
@@ -106,11 +93,9 @@ import com.xscm.moduleutil.bean.UserInfo;
import com.xscm.moduleutil.bean.UserOnlineStatusBean; import com.xscm.moduleutil.bean.UserOnlineStatusBean;
import com.xscm.moduleutil.bean.room.FriendInfo; import com.xscm.moduleutil.bean.room.FriendInfo;
import com.xscm.moduleutil.bean.room.FriendUserBean; import com.xscm.moduleutil.bean.room.FriendUserBean;
import com.xscm.moduleutil.bean.room.RoomApplyListBean;
import com.xscm.moduleutil.bean.room.RoomAuction; import com.xscm.moduleutil.bean.room.RoomAuction;
import com.xscm.moduleutil.bean.room.RoomOnline; import com.xscm.moduleutil.bean.room.RoomOnline;
import com.xscm.moduleutil.color.ThemeableDrawableUtils; import com.xscm.moduleutil.color.ThemeableDrawableUtils;
import com.xscm.moduleutil.databinding.RoomDialogMusicWindowOpenBinding;
import com.xscm.moduleutil.dialog.RechargeDialogFragment; import com.xscm.moduleutil.dialog.RechargeDialogFragment;
import com.xscm.moduleutil.event.ColoseCardEvent; import com.xscm.moduleutil.event.ColoseCardEvent;
import com.xscm.moduleutil.event.EffectEvent; import com.xscm.moduleutil.event.EffectEvent;
@@ -157,7 +142,6 @@ import com.xscm.moduleutil.widget.CustomMusicFloatingView;
import com.xscm.moduleutil.widget.SilentCountDownTimer; import com.xscm.moduleutil.widget.SilentCountDownTimer;
import com.xscm.moduleutil.widget.ViewUtils; import com.xscm.moduleutil.widget.ViewUtils;
import com.xscm.moduleutil.widget.floatingView.Floa; import com.xscm.moduleutil.widget.floatingView.Floa;
import com.tencent.imsdk.v2.V2TIMCallback;
import com.tencent.imsdk.v2.V2TIMManager; import com.tencent.imsdk.v2.V2TIMManager;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
@@ -174,11 +158,11 @@ import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Queue; import java.util.Queue;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import io.agora.musiccontentcenter.Music; import io.agora.musiccontentcenter.Music;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import lombok.Synchronized;
import pub.devrel.easypermissions.AppSettingsDialog; import pub.devrel.easypermissions.AppSettingsDialog;
import pub.devrel.easypermissions.EasyPermissions; import pub.devrel.easypermissions.EasyPermissions;
@@ -458,7 +442,35 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
isSave = false; isSave = false;
sDestroied = false; sDestroied = false;
isMinimized = false; isMinimized = false;
// ThreadUtils.executeBySingleAtFixRate(new ThreadUtils.Task<String>() {
//
// @Override
// public String doInBackground() throws Throwable {
// LogUtils.e("@@@@" + "doInBackground"+"playQueue.size()===="+playQueue.size());
// if(!playQueue.isEmpty()){
// return playQueue.poll();
// }
// return "";
// }
//
// @Override
// public void onSuccess(String result) {
// LogUtils.e("@@@@" + "onSuccess"+"playQueue.size()===="+playQueue.size());
// if(!TextUtils.isEmpty(result)){
// mBinding.svgaGift.setSource(result, 2);
// }
// }
//
// @Override
// public void onCancel() {
//
// }
//
// @Override
// public void onFail(Throwable t) {
//
// }
// },2, TimeUnit.SECONDS);
overridePendingTransition(0, 0); // 关闭转场动画 overridePendingTransition(0, 0); // 关闭转场动画
@@ -1094,7 +1106,71 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
} }
roomFragment.updateSeatViewExchangedWithPitArray(mRoomInfoResp); roomFragment.updateSeatViewExchangedWithPitArray(mRoomInfoResp);
} }
private List<GiftBean> playQueue = new ArrayList(); private Queue<String> playQueue = new LinkedList<>();
private static volatile MP4PlaybackCallback sInstance;
public static class MP4PlaybackCallback implements IAnimListener {
private AvatarFrameView avatarFrameView;
private MP4PlaybackCallback() {
// 私有构造函数
}
// 获取单例实例的方法
public static MP4PlaybackCallback getInstance() {
if (sInstance == null) {
synchronized (MP4PlaybackCallback.class) {
if (sInstance == null) {
sInstance = new MP4PlaybackCallback();
}
}
}
return sInstance;
}
// 设置外部引用的方法
public void setAvatarFrameView(AvatarFrameView view) {
this.avatarFrameView = view;
}
@Override
public void onFailed(int i, @Nullable String s) {
LogUtils.e("@@@", "MP4 playback failed: " + s);
if (avatarFrameView != null) {
avatarFrameView.onPlaybackComplete();
}
}
@Override
public boolean onVideoConfigReady(@NonNull AnimConfig animConfig) {
return true;
}
@Override
public void onVideoStart() {
// 播放开始
}
@Override
public void onVideoRender(int i, @Nullable AnimConfig animConfig) {
// 视频渲染中
}
@Override
public void onVideoComplete() {
LogUtils.e("@@@@" + "EventBus onVideoComplete");
if (avatarFrameView != null) {
avatarFrameView.onPlaybackComplete();
}
EventBus.getDefault().post(new GiftAvatarBean());
}
@Override
public void onVideoDestroy() {
// 视频销毁
}
}
private void handleMsgType1005(RoomMessageEvent messageEvent, RoomMessageEvent.T text) { private void handleMsgType1005(RoomMessageEvent messageEvent, RoomMessageEvent.T text) {
if (text == null || mRoomInfoResp == null || mRoomInfoResp.getRoom_info() == null) return; if (text == null || mRoomInfoResp == null || mRoomInfoResp.getRoom_info() == null) return;
@@ -1102,10 +1178,18 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
GiftBean giftInfo = text.getGiftInfo(); GiftBean giftInfo = text.getGiftInfo();
UserInfo toUserInfo = text.getToUserInfo(); UserInfo toUserInfo = text.getToUserInfo();
if (giftInfo == null || toUserInfo == null) return; if (giftInfo == null || toUserInfo == null) return;
MP4PlaybackCallback mp4PlaybackCallback=MP4PlaybackCallback.getInstance();
mp4PlaybackCallback.setAvatarFrameView(mBinding.svgaGift);
mBinding.svgaGift.setAnimListener(mp4PlaybackCallback);
if (SpUtil.getOpenEffect() == 1) { if (SpUtil.getOpenEffect() == 1) {
// 特效关闭时清空队列并停止播放 // 特效关闭时清空队列并停止播放
mBinding.svgaGift.setSource(giftInfo.getPlay_image(), 2); playQueue.add(giftInfo.getPlay_image());
LogUtils.e("@@@@" + "handleMsgType1005"+"playQueue.size()===="+playQueue.size());
if(!mBinding.svgaGift.isPlaying()){
LogUtils.e("@@@@" + "handleMsgType1005"+"mBinding.svgaGift.isPlaying()===="+mBinding.svgaGift.isPlaying());
mBinding.svgaGift.setSource(playQueue.poll(), 2);
}
} }
@@ -1156,35 +1240,33 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
} else if ("1".equals(labelId)) { } else if ("1".equals(labelId)) {
roomFragment.SingSongEvent(messageEvent); roomFragment.SingSongEvent(messageEvent);
} }
} else if ("7".equals(typeId)) { }
for (RoomPitBean roomPitBean : pitList) { else if ("7".equals(typeId)) {
if (roomPitBean.getUser_id().equals(toUserInfo.getUser_id() + "")) { // for (RoomPitBean roomPitBean : pitList) {
roomPitBean.setCharm(toUserInfo.getCharm()); // if (roomPitBean.getUser_id().equals(toUserInfo.getUser_id() + "")) {
try { // roomPitBean.setCharm(toUserInfo.getCharm());
pitList.set(Integer.parseInt(roomPitBean.getPit_number()) - 1, roomPitBean); // try {
} catch (NumberFormatException e) { // pitList.set(Integer.parseInt(roomPitBean.getPit_number()) - 1, roomPitBean);
// Handle exception // } catch (NumberFormatException e) {
} // // Handle exception
} // }
} // }
roomFragment.updateSeatViewExchangedWithPitArray(mRoomInfoResp); // }
// roomFragment.updateSeatViewExchangedWithPitArray(mRoomInfoResp);
} }
} }
// @Subscribe(threadMode = ThreadMode.MAIN) @Subscribe(threadMode = ThreadMode.MAIN)
// public void handleGiftAvatarBean(GiftAvatarBean giftAvatarBean) { public void handleGiftAvatarBean(GiftAvatarBean giftAvatarBean) {
// LogUtils.e("@@@@" + "EventBus2222222"+"playQueue.size()===="+playQueue.size()); LogUtils.e("@@@@" + "EventBus2222222"+"playQueue.size()===="+playQueue.size());
// if(!playQueue.isEmpty()){
// for (GiftBean giftBean : playQueue) { String payUrl=playQueue.poll();
// if(!giftBean.is_paly()){ if(!mBinding.svgaGift.isPlaying()){
// mBinding.svgaGift.setSource(giftBean.getPlay_image(), 2); mBinding.svgaGift.setSource(payUrl, 2);
// giftBean.set_paly( true); }
// return; }
// } }
// }
//
// }
private void handleMsgType1014(RoomMessageEvent messageEvent, RoomMessageEvent.T text) { private void handleMsgType1014(RoomMessageEvent messageEvent, RoomMessageEvent.T text) {
if (text == null) return; if (text == null) return;