调整直播间UI

修复心愿单浮窗一堆问题
This commit is contained in:
2023-04-08 15:45:47 +08:00
parent 9c3fbe0506
commit 9707898af9
8 changed files with 84 additions and 27 deletions

View File

@@ -4,6 +4,7 @@ import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.text.TextUtils;
import android.util.Log;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
@@ -109,6 +110,7 @@ public class LiveRoomCheckLivePresenter {
@Override
public void onError(String error) {
Log.e("直播间异常", "onError: "+error );
Bus.get().post(new LiveAudienceEvent()
.setType(LiveAudienceEvent.LiveAudienceType.LIVE_ROOM_EXCEPTION));
ToastUtil.show(error);
@@ -159,6 +161,7 @@ public class LiveRoomCheckLivePresenter {
}
}
} else {
Log.e("直播间异常", "Error: "+msg );
Bus.get().post(new LiveAudienceEvent()
.setType(LiveAudienceEvent.LiveAudienceType.LIVE_ROOM_EXCEPTION));
ToastUtil.show(msg);

View File

@@ -4742,7 +4742,11 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
.setmLink(CommonAppConfig.HOST + "/index.php")
.setType(1);
bannerBean.setShow_type("2");
mTopBannerList.add(bannerBean);
if (mTopBannerList.size() == 1 || mTopBannerList.size() == 0) {
mTopBannerList.add(bannerBean);
} else {
mTopBannerList.set(1, bannerBean);
}
topBanner1.update(mTopBannerList);
}

View File

@@ -52,6 +52,7 @@ import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.HttpClient;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.AppManager;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.MicStatusManager;
@@ -191,6 +192,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
private String leaveStream = "", leaveGroupId = "";
public static PortraitLiveManager portraitLiveManager;
private WishModel wishListProgress;
private static int waitShowTopBannerTime = 6000;
public PortraitLiveManager setQuitF(boolean quitF) {
isQuitF = quitF;
@@ -203,6 +205,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
liveImDeletUtil = new LiveImDeletUtil();
portraitLiveManager = this;
ininView();
AppManager.runDebugCode(() -> waitShowTopBannerTime = 1000);
}
@@ -253,9 +256,10 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
public void run() {
loading.setVisibility(View.GONE);
enterRoomLeaveHandler.post(enterRoomLeaveRunnable);
if (topBannerRunnable != null) {
topBannerHandler.postDelayed(topBannerRunnable, 1000);
if (topBannerRunnable == null || topBannerHandler == null) {
initTopBannerHandler();
}
topBannerHandler.postDelayed(topBannerRunnable, waitShowTopBannerTime);
}
};
private Runnable topBannerRunnable = new Runnable() {
@@ -274,6 +278,24 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
};
private Handler topBannerHandler = new Handler();
private void initTopBannerHandler() {
topBannerHandler = new Handler();
topBannerRunnable = new Runnable() {
@Override
public void run() {
if (mLiveRoomViewHolder != null) {
//初始化顶部banner
mLiveRoomViewHolder.initTopBanner();
mLiveRoomViewHolder.updateTopBanner();
topBannerHandler.removeCallbacks(topBannerRunnable);
topBannerRunnable = null;
topBannerHandler = null;
}
}
};
}
@Override
public synchronized void onAdd(LiveBean data, int liveType, int liveTypeVal, int liveSdk) {
isEnterRoom = false;
@@ -359,7 +381,9 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
mLiveRoomViewHolder.resetView();
enterRoomModel.clear();
enterRoomLeaveHandler.removeCallbacks(enterRoomLeaveRunnable);
topBannerHandler.removeCallbacks(topBannerRunnable);
if (topBannerHandler != null && topBannerRunnable != null) {
topBannerHandler.removeCallbacks(topBannerRunnable);
}
mLiveRoomViewHolder.setAvatar(data.getAvatar());
mLiveRoomViewHolder.setAnchorLevel(data.getLevelAnchor());
mLiveRoomViewHolder.setName(data.getUserNiceName());
@@ -418,7 +442,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
mLivePlayViewHolder.setAnchorPlayModel(anchorClarityType);
//是否热度卡加成
liveHandler.postDelayed(() -> {
if(mLiveRoomViewHolder==null){
if (mLiveRoomViewHolder == null) {
return;
}
mLiveRoomViewHolder.getIsHot(data.getIsUseHotCard());

View File

@@ -7,7 +7,7 @@
<ImageView
android:id="@+id/imageView7"
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_height="56dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"