update 粉丝团
This commit is contained in:
parent
fae0d01dc2
commit
fe921e25bb
@ -37,6 +37,16 @@ public class LiveGiftBean {
|
||||
@JSONField(name = "blind_box_type")
|
||||
private int blind_box_type = 0;
|
||||
|
||||
private int fansGiftLevel=0;//粉丝团礼物等级要求
|
||||
|
||||
public int getFansGiftLevel() {
|
||||
return fansGiftLevel;
|
||||
}
|
||||
|
||||
public void setFansGiftLevel(int fansGiftLevel) {
|
||||
this.fansGiftLevel = fansGiftLevel;
|
||||
}
|
||||
|
||||
public int getBlind_box_type() {
|
||||
return blind_box_type;
|
||||
}
|
||||
|
@ -70,6 +70,8 @@ public class UserBean implements Parcelable {
|
||||
private int user_info_complete;
|
||||
//粉丝团等级
|
||||
private int fansLevel;
|
||||
//粉丝团进场皮肤
|
||||
private String fansEnterRoomUrl;
|
||||
|
||||
public int getUserInfoComplete() {
|
||||
return user_info_complete;
|
||||
@ -88,6 +90,14 @@ public class UserBean implements Parcelable {
|
||||
this.fansLevel = fansLevel;
|
||||
}
|
||||
|
||||
public String getFansEnterRoomUrl() {
|
||||
return fansEnterRoomUrl;
|
||||
}
|
||||
|
||||
public void setFansEnterRoomUrl(String fansEnterRoomUrl) {
|
||||
this.fansEnterRoomUrl = fansEnterRoomUrl;
|
||||
}
|
||||
|
||||
public boolean isRandomPk() {
|
||||
return randomPk;
|
||||
}
|
||||
|
@ -947,7 +947,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
||||
onCoinChanged(coin);
|
||||
}
|
||||
String[] data = new String[]{obj.getString("barragetoken")};
|
||||
SocketRyChatUtil.sendDanmuMessage(mLiveUid, contents,22);
|
||||
SocketRyChatUtil.sendDanmuMessage(mLiveUid, contents,obj.getIntValue("level_fans"));
|
||||
} else {
|
||||
ToastUtil.show(msg);
|
||||
}
|
||||
|
@ -0,0 +1,9 @@
|
||||
package com.yunbao.live.interfaces;
|
||||
|
||||
import com.yunbao.common.views.AbsViewHolder;
|
||||
|
||||
public interface IDanmuActionListener {
|
||||
void onCanNext(int lineNum);
|
||||
|
||||
void onAnimEnd(AbsViewHolder vh);
|
||||
}
|
@ -4,7 +4,9 @@ import android.content.Context;
|
||||
import android.util.Log;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.yunbao.common.views.AbsViewHolder;
|
||||
import com.yunbao.live.bean.LiveDanMuBean;
|
||||
import com.yunbao.live.interfaces.IDanmuActionListener;
|
||||
import com.yunbao.live.views.DanmuViewHolder;
|
||||
import com.yunbao.live.views.FansDanmuViewHolder;
|
||||
|
||||
@ -17,7 +19,7 @@ import java.util.concurrent.ConcurrentLinkedQueue;
|
||||
* 弹幕
|
||||
*/
|
||||
|
||||
public class LiveDanmuPresenter implements DanmuViewHolder.ActionListener {
|
||||
public class LiveDanmuPresenter implements IDanmuActionListener {
|
||||
|
||||
private Context mContext;
|
||||
private ViewGroup mDanmuContainer;
|
||||
@ -59,7 +61,7 @@ public class LiveDanmuPresenter implements DanmuViewHolder.ActionListener {
|
||||
}
|
||||
}
|
||||
if (danmuHolder == null) {
|
||||
if (bean.getContent().startsWith("#")) {
|
||||
if (bean.getFensLevel() >= 16) {
|
||||
danmuHolder = new FansDanmuViewHolder(mContext, mDanmuContainer);
|
||||
} else {
|
||||
danmuHolder = new DanmuViewHolder(mContext, mDanmuContainer);
|
||||
@ -107,7 +109,7 @@ public class LiveDanmuPresenter implements DanmuViewHolder.ActionListener {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimEnd(DanmuViewHolder vh) {
|
||||
public void onAnimEnd(AbsViewHolder vh) {
|
||||
if (mQueue.size() == 0) {
|
||||
if (vh != null) {
|
||||
vh.release();
|
||||
|
@ -913,6 +913,8 @@ public class SocketRyClient {
|
||||
chatBean.setMedalNmae(obj.getString("medal_name"));
|
||||
chatBean.setUserNiceName(obj.getString("user_nicename"));//名字
|
||||
FansMedalBean fansMedalBean = CommonAppConfig.getInstance().getAnchorFansMedal(obj.getIntValue("medal_level"));
|
||||
u.setFansLevel(obj.getIntValue("medal_level"));
|
||||
u.setFansEnterRoomUrl(obj.getString("medal_backgroup_thumb"));
|
||||
if (fansMedalBean != null)
|
||||
chatBean.setMedalLevelImageUrl(fansMedalBean.getThumb());
|
||||
mListener.onEnterRoom(new LiveEnterRoomBean(u, chatBean));
|
||||
|
@ -18,6 +18,7 @@ import com.yunbao.common.utils.ScreenDimenUtil;
|
||||
import com.yunbao.common.views.AbsViewHolder;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.bean.LiveDanMuBean;
|
||||
import com.yunbao.live.interfaces.IDanmuActionListener;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2017/8/25.
|
||||
@ -40,7 +41,7 @@ public class DanmuViewHolder extends AbsViewHolder {
|
||||
private Animator.AnimatorListener mAnimatorListener;
|
||||
private boolean mCanNext;//是否可以有下一个
|
||||
private boolean mIdle;//是否空闲
|
||||
private ActionListener mActionListener;
|
||||
private IDanmuActionListener mActionListener;
|
||||
private int mLineNum;
|
||||
|
||||
public DanmuViewHolder(Context context, ViewGroup parentView) {
|
||||
@ -115,7 +116,7 @@ public class DanmuViewHolder extends AbsViewHolder {
|
||||
mIdle = idle;
|
||||
}
|
||||
|
||||
public void setActionListener(ActionListener actionListener) {
|
||||
public void setActionListener(IDanmuActionListener actionListener) {
|
||||
mActionListener = actionListener;
|
||||
}
|
||||
|
||||
@ -127,9 +128,4 @@ public class DanmuViewHolder extends AbsViewHolder {
|
||||
mActionListener = null;
|
||||
}
|
||||
|
||||
public interface ActionListener {
|
||||
void onCanNext(int lineNum);
|
||||
|
||||
void onAnimEnd(DanmuViewHolder vh);
|
||||
}
|
||||
}
|
||||
|
@ -15,9 +15,9 @@ import com.yunbao.common.bean.LevelBean;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.ScreenDimenUtil;
|
||||
import com.yunbao.common.views.AbsViewHolder;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.bean.LiveDanMuBean;
|
||||
import com.yunbao.live.interfaces.IDanmuActionListener;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2017/8/25.
|
||||
@ -40,7 +40,7 @@ public class FansDanmuViewHolder extends DanmuViewHolder {
|
||||
private Animator.AnimatorListener mAnimatorListener;
|
||||
private boolean mCanNext;//是否可以有下一个
|
||||
private boolean mIdle;//是否空闲
|
||||
private ActionListener mActionListener;
|
||||
private IDanmuActionListener mActionListener;
|
||||
private int mLineNum;
|
||||
|
||||
public FansDanmuViewHolder(Context context, ViewGroup parentView) {
|
||||
@ -116,7 +116,7 @@ public class FansDanmuViewHolder extends DanmuViewHolder {
|
||||
mIdle = idle;
|
||||
}
|
||||
|
||||
public void setActionListener(ActionListener actionListener) {
|
||||
public void setActionListener(IDanmuActionListener actionListener) {
|
||||
mActionListener = actionListener;
|
||||
}
|
||||
|
||||
@ -128,10 +128,4 @@ public class FansDanmuViewHolder extends DanmuViewHolder {
|
||||
mActionListener = null;
|
||||
}
|
||||
|
||||
|
||||
public interface ActionListener {
|
||||
void onCanNext(int lineNum);
|
||||
|
||||
void onAnimEnd(FansDanmuViewHolder vh);
|
||||
}
|
||||
}
|
||||
|
@ -324,7 +324,8 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
private View btnEvent;
|
||||
private LinearLayout lt_trickery;
|
||||
private TextView tv_trickery_time;
|
||||
private FrameLayout enterRoomLeave, enterRoomBg, fans_enter_room_leave;
|
||||
private FrameLayout enterRoomLeave, enterRoomBg;
|
||||
private ConstraintLayout fans_enter_room_leave;
|
||||
private RecyclerView fastMsgRecyclerView;
|
||||
private LiveRoomFastMessageRecyclerViewAdapter fastMessageRecyclerViewAdapter;
|
||||
|
||||
@ -907,7 +908,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
btn_event2 = (LinearLayout) findViewById(R.id.btn_event2);
|
||||
btn_event4 = (LinearLayout) findViewById(R.id.btn_event4);
|
||||
enterRoomLeave = (FrameLayout) findViewById(R.id.enter_room_leave);
|
||||
fans_enter_room_leave = (FrameLayout) findViewById(R.id.fans_enter_room_leave);
|
||||
fans_enter_room_leave = (ConstraintLayout) findViewById(R.id.fans_enter_room_leave);
|
||||
enterRoomBg = (FrameLayout) findViewById(R.id.enter_room_bg);
|
||||
enterRoomLeave2 = (LinearLayout) findViewById(R.id.enter_room_leave2);
|
||||
mBanner1 = (Banner) findViewById(R.id.banner1);
|
||||
@ -4844,9 +4845,8 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
userName.setText(String.format(mContext.getString(R.string.come_hint), model.getUserNiceName()));
|
||||
ImgLoader.display(mContext, model.getAvatar(), imageAvatar);
|
||||
int level = model.getLevel();
|
||||
model.setFansLevel(11);
|
||||
if (model.getFansLevel() > 10) {
|
||||
showFansGroupEnterRoom();
|
||||
if (!StringUtil.isEmpty(model.getFansEnterRoomUrl())) {
|
||||
showFansGroupEnterRoom(model);
|
||||
return;
|
||||
}
|
||||
if (level < 50) {
|
||||
@ -4907,13 +4907,17 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
|
||||
}
|
||||
|
||||
private void showFansGroupEnterRoom() {
|
||||
private void showFansGroupEnterRoom(LiveUserGiftBean model) {
|
||||
|
||||
fans_enter_room_leave.post(() -> {
|
||||
TextView userName = fans_enter_room_leave.findViewById(R.id.user_name);
|
||||
userName.setText(Html.fromHtml(String.format("@<font color='#99D5FF'>%s</font> 粉絲團成員歡迎進房", "测试")));
|
||||
new LoadDian9TuUtil().loadDian9Tu(mContext, fans_enter_room_leave,
|
||||
"https://downs.yaoulive.com/20230322/g5_.9.png"
|
||||
, 1);
|
||||
ImageView bg = fans_enter_room_leave.findViewById(R.id.bg);
|
||||
|
||||
userName.setText(Html.fromHtml(String.format("@<font color='#99D5FF'>%s</font> %s",
|
||||
model.getUserNiceName(),
|
||||
mContext.getString(R.string.live_fans_group_enter_room)
|
||||
)));
|
||||
ImgLoader.display(mContext, model.getFansEnterRoomUrl(), bg);
|
||||
fans_enter_room_leave.setVisibility(View.VISIBLE);
|
||||
TranslateAnimation animationTranslate = new TranslateAnimation(DeviceUtils.getScreenWidth((Activity) mContext), 0, 0, 0);
|
||||
AnimationSet animationSet1 = new AnimationSet(true);
|
||||
@ -4928,7 +4932,6 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
|
||||
@Override
|
||||
public void onAnimationEnd(Animation animation) {
|
||||
mLiveRoomHandler.postDelayed(() -> hideFansGroupEnter(), 3000);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1096,6 +1096,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
||||
public void run() {
|
||||
if (mLiveRoomViewHolder != null) {
|
||||
mLiveRoomViewHolder.hideHighGrade();
|
||||
mLiveRoomViewHolder.hideFansGroupEnter();
|
||||
}
|
||||
enterRoomLeaveHandler.post(enterRoomLeaveRunnable);
|
||||
}
|
||||
@ -1120,7 +1121,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
||||
LiveChatBean liveChatBean = bean.getLiveChatBean();
|
||||
LiveUserGiftBean liveUserGiftBean = bean.getUserBean();
|
||||
int level = liveUserGiftBean.getLevel();
|
||||
if (level >= 30) {
|
||||
if (level >= 30 || liveUserGiftBean.getFansLevel() >= 10) {
|
||||
//高等级飘屏
|
||||
liveUserGiftBean.setUserNiceName(liveChatBean.getUserNiceName());
|
||||
enterRoomModel.add(liveUserGiftBean);
|
||||
|
@ -1,19 +1,37 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/fans_enter_room_bg"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="24dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/bg"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@mipmap/live_zt"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/user_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:text="@string/come_hint"
|
||||
android:textColor="#fff"
|
||||
android:textSize="12sp" />
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
</FrameLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -113,4 +113,6 @@
|
||||
<string name="live_fans_group_buy_title">The Perfect GiftPack</string>
|
||||
<string name="live_fans_group_buy_info">Purchase a %s Diamond Specific Gift And Receive ALimited Resource</string>
|
||||
<string name="live_fans_group_buy_buy">Diamond Purchase</string>
|
||||
<string name="live_fans_group_enter_room">Welcome fan group to enter the room</string>
|
||||
<string name="live_fans_group_send_gift_tips">Fan group level Of Lv%s Can send this gift</string>
|
||||
</resources>
|
@ -111,4 +111,6 @@
|
||||
<string name="live_fans_group_buy_title">的臻愛禮包</string>
|
||||
<string name="live_fans_group_buy_info">購買可獲得%s鑽特定禮物,同時可獲得限定資源</string>
|
||||
<string name="live_fans_group_buy_buy">%s鑽購買</string>
|
||||
<string name="live_fans_group_enter_room">粉絲團成員歡迎進房</string>
|
||||
<string name="live_fans_group_send_gift_tips">粉絲團等級達到 Lv%s 可送出該禮物</string>
|
||||
</resources>
|
||||
|
Loading…
Reference in New Issue
Block a user