From 8a32effeab09e9ac1cbdbfa5022ea9029f1115c3 Mon Sep 17 00:00:00 2001 From: lzl <1239365383@qq.com> Date: Sat, 6 Dec 2025 18:04:52 +0800 Subject: [PATCH] 66 2 --- .../adapter/GiftTwoDetailsFragment.java | 5 +- .../com/xscm/moduleutil/rtc/AgoraManager.java | 56 ++++++++----------- 2 files changed, 26 insertions(+), 35 deletions(-) diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/adapter/GiftTwoDetailsFragment.java b/BaseModule/src/main/java/com/xscm/moduleutil/adapter/GiftTwoDetailsFragment.java index 3762e84b..8b6e265e 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/adapter/GiftTwoDetailsFragment.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/adapter/GiftTwoDetailsFragment.java @@ -147,6 +147,8 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment data, int type) { + if (data == null) + return; giftList = new ArrayList<>(); giftList.addAll(data); pageCount = (int) Math.ceil(data.size() * 1.0 / pageSize); @@ -182,7 +184,7 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment giftPackBean) { giftPackList = new ArrayList<>(); - if (getActivity()==null){ + if (getActivity() == null) { return; } @@ -209,7 +211,6 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment { - try { - Thread.sleep(3000); // 3秒延迟 - LogUtils.d("AgoraManager", "Preload result: " + result); - // 切换回主线程执行后续操作 - createTrackedHandler(Looper.getMainLooper()).post(() -> { - isPreload(mSongCode, type); - }); - } catch (Exception e) { - LogUtils.e("AgoraManager", "Preload song failed: songCode=" + mSongCode, e); - } + disposableB = Observable.timer(3000, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe(aLong -> { + isPreload(mSongCode, type); }); } else { handleMusicPlayerState(songCode); @@ -1067,18 +1074,9 @@ public class AgoraManager { if (code < 0) { String result = musicContentCenter.preload(mSongCode); // 使用后台线程池处理预加载检查,避免阻塞UI线程 - executeInBackground(() -> { - try { - Thread.sleep(3000); // 3秒延迟 - LogUtils.d("AgoraManager", "Preload result: " + result); - // 切换回主线程执行后续操作 - createTrackedHandler(Looper.getMainLooper()).post(() -> { + disposableC = Observable.timer(3000, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe(aLong -> { isPreload(mSongCode, type); }); - } catch (Exception e) { - LogUtils.e("AgoraManager", "Preload song failed: songCode=" + mSongCode, e); - } - }); } else { try { musicPlayer.open(mSongCode, 0); @@ -1107,16 +1105,8 @@ public class AgoraManager { LogUtils.e("lxj", "空闲"); musicPlayer.open(songCode, 0); // 使用后台线程处理延迟任务,避免阻塞UI线程 - executeInBackground(() -> { - try { - Thread.sleep(2000); // 2秒延迟 - // 切换回主线程执行后续操作 - createTrackedHandler(Looper.getMainLooper()).post(() -> { - isPreload(songCode, 1); - }); - } catch (Exception e) { - LogUtils.e("AgoraManager", "Error in idle state handling", e); - } + disposableA = Observable.timer(2000, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe(aLong -> { + isPreload(mSongCode, 1); }); break; case PLAYER_STATE_OPEN_COMPLETED: