fix:直播间侧边推荐Banner多次点击可能导致重复进入直播间问题
This commit is contained in:
parent
99d32c03b2
commit
28137615df
@ -1,6 +1,7 @@
|
|||||||
package com.yunbao.live.views;
|
package com.yunbao.live.views;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.app.Dialog;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
@ -11,6 +12,7 @@ import com.ms.banner.Banner;
|
|||||||
import com.yunbao.common.activity.WebViewActivity;
|
import com.yunbao.common.activity.WebViewActivity;
|
||||||
import com.yunbao.common.bean.SlideInfoModel;
|
import com.yunbao.common.bean.SlideInfoModel;
|
||||||
import com.yunbao.common.http.HttpCallback;
|
import com.yunbao.common.http.HttpCallback;
|
||||||
|
import com.yunbao.common.utils.DialogUitl;
|
||||||
import com.yunbao.common.utils.RouteUtil;
|
import com.yunbao.common.utils.RouteUtil;
|
||||||
import com.yunbao.common.views.SlideInBannerViewHolder;
|
import com.yunbao.common.views.SlideInBannerViewHolder;
|
||||||
import com.yunbao.live.R;
|
import com.yunbao.live.R;
|
||||||
@ -26,11 +28,13 @@ import java.util.Map;
|
|||||||
public class SidebarViewHoler extends RecyclerView.ViewHolder {
|
public class SidebarViewHoler extends RecyclerView.ViewHolder {
|
||||||
//侧边栏轮播
|
//侧边栏轮播
|
||||||
private Banner mBanner;
|
private Banner mBanner;
|
||||||
|
private Dialog mShowLoadingDialog;
|
||||||
|
|
||||||
public SidebarViewHoler(@NonNull View itemView) {
|
public SidebarViewHoler(@NonNull View itemView) {
|
||||||
super(itemView);
|
super(itemView);
|
||||||
//侧边栏轮播
|
//侧边栏轮播
|
||||||
mBanner = itemView.findViewById(R.id.banner);
|
mBanner = itemView.findViewById(R.id.banner);
|
||||||
|
mShowLoadingDialog = DialogUitl.loadingDialog(itemView.getContext());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -52,6 +56,7 @@ public class SidebarViewHoler extends RecyclerView.ViewHolder {
|
|||||||
if (p >= 0 && p < data.size()) {
|
if (p >= 0 && p < data.size()) {
|
||||||
SlideInfoModel bean = data.get(p);
|
SlideInfoModel bean = data.get(p);
|
||||||
if (bean != null) {
|
if (bean != null) {
|
||||||
|
showLoadingDialog();
|
||||||
String link = bean.getSlideUrl();
|
String link = bean.getSlideUrl();
|
||||||
if (link.contains("http")) {
|
if (link.contains("http")) {
|
||||||
WebViewActivity.forward(itemView.getContext(), link, true);
|
WebViewActivity.forward(itemView.getContext(), link, true);
|
||||||
@ -76,6 +81,7 @@ public class SidebarViewHoler extends RecyclerView.ViewHolder {
|
|||||||
LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
|
LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
|
||||||
LiveRoomCheckLivePresenter mCheckLivePresenter = new LiveRoomCheckLivePresenter(itemView.getContext(), (liveBean1, liveType, liveTypeVal, liveSdk) -> {
|
LiveRoomCheckLivePresenter mCheckLivePresenter = new LiveRoomCheckLivePresenter(itemView.getContext(), (liveBean1, liveType, liveTypeVal, liveSdk) -> {
|
||||||
if (liveBean1 == null) {
|
if (liveBean1 == null) {
|
||||||
|
mShowLoadingDialog.dismiss();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Map<String, String> map = null;
|
Map<String, String> map = null;
|
||||||
@ -84,15 +90,23 @@ public class SidebarViewHoler extends RecyclerView.ViewHolder {
|
|||||||
map.put("OPEN", "NEWUSER");
|
map.put("OPEN", "NEWUSER");
|
||||||
}
|
}
|
||||||
LiveAudienceActivity.forward(itemView.getContext(), liveBean1, liveType, liveTypeVal, "", map, 0, liveSdk);
|
LiveAudienceActivity.forward(itemView.getContext(), liveBean1, liveType, liveTypeVal, "", map, 0, liveSdk);
|
||||||
|
mShowLoadingDialog.dismiss();
|
||||||
((Activity) itemView.getContext()).finish();
|
((Activity) itemView.getContext()).finish();
|
||||||
});
|
});
|
||||||
mCheckLivePresenter.checkLive(liveBean);
|
mCheckLivePresenter.checkLive(liveBean);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
mShowLoadingDialog.dismiss();
|
||||||
RouteUtil.forwardUserHome(itemView.getContext(), liveId, 0);
|
RouteUtil.forwardUserHome(itemView.getContext(), liveId, 0);
|
||||||
((Activity) itemView.getContext()).finish();
|
((Activity) itemView.getContext()).finish();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Banner双击可能会导致进入两次直播间,点击Banner后需要展示加载中动画
|
||||||
|
*/
|
||||||
|
private void showLoadingDialog(){
|
||||||
|
mShowLoadingDialog.show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user