新增粉丝团任务红点提示
This commit is contained in:
parent
35917a5848
commit
ec3722b7d0
@ -0,0 +1,19 @@
|
||||
package com.yunbao.common.bean;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class FansCheckRed extends BaseModel{
|
||||
@SerializedName("fans_level_upgrade_status")
|
||||
private int status;
|
||||
|
||||
public FansCheckRed() {
|
||||
}
|
||||
|
||||
public int getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(int status) {
|
||||
this.status = status;
|
||||
}
|
||||
}
|
@ -12,6 +12,7 @@ import com.yunbao.common.bean.CustomSidebarInfoModel;
|
||||
import com.yunbao.common.bean.DiscountsModel;
|
||||
import com.yunbao.common.bean.EnterRoomNewModel;
|
||||
import com.yunbao.common.bean.FaceBookUpModel;
|
||||
import com.yunbao.common.bean.FansCheckRed;
|
||||
import com.yunbao.common.bean.FansGroupGiftPack;
|
||||
import com.yunbao.common.bean.FansGroupGiftPackInfo;
|
||||
import com.yunbao.common.bean.GiftAlreadyWallModel;
|
||||
@ -953,6 +954,11 @@ public interface PDLiveApi {
|
||||
*/
|
||||
@GET("/api/public/?service=Fans.userFansExclusivePackList")
|
||||
Observable<ResponseModel<List<FansGroupGiftPack>>> userFansExclusivePackList(@Query("liveuid") String liveUid);
|
||||
/**
|
||||
* 获取粉丝团礼物包裹
|
||||
*/
|
||||
@GET("/api/public/?service=Fans.getCheckFansLevelUpgrade")
|
||||
Observable<ResponseModel<FansCheckRed>> getCheckFansLevelUpgrade(@Query("liveuid") String liveUid);
|
||||
|
||||
|
||||
}
|
||||
|
@ -13,6 +13,7 @@ import com.yunbao.common.bean.CheckLiveModel;
|
||||
import com.yunbao.common.bean.CustomSidebarInfoModel;
|
||||
import com.yunbao.common.bean.DiscountsModel;
|
||||
import com.yunbao.common.bean.EnterRoomNewModel;
|
||||
import com.yunbao.common.bean.FansCheckRed;
|
||||
import com.yunbao.common.bean.FansGroupGiftPack;
|
||||
import com.yunbao.common.bean.FansGroupGiftPackInfo;
|
||||
import com.yunbao.common.bean.GiftAlreadyWallModel;
|
||||
@ -2137,6 +2138,27 @@ public class LiveNetManager {
|
||||
}
|
||||
}).isDisposed();
|
||||
}
|
||||
public void getCheckFansLevelUpgrade(String liveUid, HttpCallback<FansCheckRed> callback) {
|
||||
API.get().pdLiveApi(mContext)
|
||||
.getCheckFansLevelUpgrade(liveUid)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Consumer<ResponseModel<FansCheckRed>>() {
|
||||
@Override
|
||||
public void accept(ResponseModel<FansCheckRed> listResponseModel) throws Exception {
|
||||
if (callback != null) {
|
||||
callback.onSuccess(listResponseModel.getData().getInfo());
|
||||
}
|
||||
}
|
||||
}, new Consumer<Throwable>() {
|
||||
@Override
|
||||
public void accept(Throwable throwable) throws Exception {
|
||||
if (callback != null) {
|
||||
callback.onError(mContext.getString(R.string.net_error));
|
||||
}
|
||||
}
|
||||
}).isDisposed();
|
||||
}
|
||||
|
||||
/**
|
||||
* 直播间取消网络请求
|
||||
|
@ -44,6 +44,7 @@ import com.yunbao.common.activity.WebViewActivity;
|
||||
import com.yunbao.common.bean.AnchorRecommendItemModel;
|
||||
import com.yunbao.common.bean.AnchorRecommendModel;
|
||||
import com.yunbao.common.bean.CrashSaveBean;
|
||||
import com.yunbao.common.bean.FansCheckRed;
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
import com.yunbao.common.bean.LinkMicUserBean;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
@ -1601,7 +1602,13 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
}
|
||||
manager.mLiveAudienceViewHolder.mRedPoint.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
public void setShowCrownRed(boolean isShow){
|
||||
if(isShow){
|
||||
manager.mLiveAudienceViewHolder.mRedPointPrivilege.setVisibility(View.VISIBLE);
|
||||
}else{
|
||||
manager.mLiveAudienceViewHolder.mRedPointPrivilege.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
public void closeRoom() {
|
||||
runOnUiThread(new Runnable() {
|
||||
|
@ -25,8 +25,10 @@ import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveAudienceActivity;
|
||||
import com.yunbao.live.event.LiveAudienceEvent;
|
||||
import com.yunbao.live.views.LiveRoomViewHolder;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
@ -118,6 +120,8 @@ public class LiveFansFragment extends AbsDialogFragment {
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
mContext = null;
|
||||
EventBus.getDefault().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.UPDATE_FANS_TASK_STATUS));
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
|
@ -2,6 +2,7 @@ package com.yunbao.live.dialog;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
|
||||
@ -14,6 +15,8 @@ import com.yunbao.live.R;
|
||||
import com.yunbao.live.event.LiveAudienceEvent;
|
||||
|
||||
public class LiveRoleDialogFragment extends AbsDialogFragment {
|
||||
View redPoint;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.dialog_live_role;
|
||||
@ -43,6 +46,11 @@ public class LiveRoleDialogFragment extends AbsDialogFragment {
|
||||
@Override
|
||||
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
Bundle bundle = getArguments();
|
||||
redPoint = findViewById(R.id.red_point);
|
||||
if (bundle != null && bundle.getBoolean("showRed", false)) {
|
||||
redPoint.setVisibility(View.VISIBLE);
|
||||
}
|
||||
//粉丝团
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.fan_club), () -> {
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
|
@ -464,7 +464,8 @@ public class LiveAudienceEvent extends BaseModel {
|
||||
RED_PACKET_SUPER_JACKPOT(70, "超级红包"),
|
||||
INPUT_DIALOG(71, "输入框"),
|
||||
IS_ATTENTION(72,"是否关注主播"),
|
||||
GIFT_WALL(73,"礼物墙");
|
||||
GIFT_WALL(73,"礼物墙"),
|
||||
UPDATE_FANS_TASK_STATUS(74,"更新粉丝任务状态");
|
||||
|
||||
private int type;
|
||||
private String name;
|
||||
|
@ -17,7 +17,8 @@ import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
public abstract class AbsLiveViewHolder extends AbsViewHolder implements View.OnClickListener {
|
||||
|
||||
public TextView mRedPoint;
|
||||
public TextView mRedPoint;//消息上的红点
|
||||
public View mRedPointPrivilege;//皇冠上的点
|
||||
|
||||
public AbsLiveViewHolder(Context context, ViewGroup parentView) {
|
||||
super(context, parentView);
|
||||
@ -28,6 +29,7 @@ public abstract class AbsLiveViewHolder extends AbsViewHolder implements View.On
|
||||
findViewById(R.id.et_input).setOnClickListener(this);
|
||||
findViewById(R.id.btn_msg).setOnClickListener(this);
|
||||
mRedPoint = (TextView) findViewById(R.id.red_point);
|
||||
mRedPointPrivilege = findViewById(R.id.privilege_red_point);
|
||||
|
||||
}
|
||||
|
||||
|
@ -91,8 +91,6 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.view_live_audience;
|
||||
@ -459,6 +457,9 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
||||
*/
|
||||
public void openRoleDialog() {
|
||||
LiveRoleDialogFragment fragment = new LiveRoleDialogFragment();
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putBoolean("showRed", mRedPointPrivilege.getVisibility() == View.VISIBLE);
|
||||
fragment.setArguments(bundle);
|
||||
fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveRoleDialogFragment");
|
||||
}
|
||||
|
||||
|
@ -66,6 +66,7 @@ import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.bean.AiAutomaticSpeechModel;
|
||||
import com.yunbao.common.bean.BannerBean;
|
||||
import com.yunbao.common.bean.BaseModel;
|
||||
import com.yunbao.common.bean.FansCheckRed;
|
||||
import com.yunbao.common.bean.GiftModel;
|
||||
import com.yunbao.common.bean.GuardUserModel;
|
||||
import com.yunbao.common.bean.HourRank;
|
||||
@ -4576,8 +4577,9 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
int fount = event.getNums();
|
||||
mLiveChatAdapter.switchFount(fount);
|
||||
break;
|
||||
|
||||
|
||||
case UPDATE_FANS_TASK_STATUS:
|
||||
updateFansMessageRed();
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
@ -5429,11 +5431,21 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
mLiveGiftAnimPresenter.setLiveUidStream(mLiveUid, mStream);
|
||||
}
|
||||
|
||||
public void sendWelcomeFans() {
|
||||
LiveChatBean chatBean = new LiveChatBean();
|
||||
chatBean.setContent("123123<font color='#FF8E43'>test</font>1243");
|
||||
chatBean.setType(LiveChatBean.SYSTEM3_COLOR);
|
||||
chatBean.setBubble("https://downs.yaoulive.com/20230322/g2_.9.png");
|
||||
insertChat(chatBean, 1);
|
||||
public void updateFansMessageRed() {
|
||||
if (mContext instanceof LiveAudienceActivity) {
|
||||
LiveNetManager.get(mContext)
|
||||
.getCheckFansLevelUpgrade(mLiveUid, new com.yunbao.common.http.base.HttpCallback<FansCheckRed>() {
|
||||
@Override
|
||||
public void onSuccess(FansCheckRed data) {
|
||||
((LiveAudienceActivity) mContext).setShowCrownRed(data.getStatus() == 1);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -520,6 +520,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
||||
mLiveRoomViewHolder.initTopBanner();
|
||||
mLiveRoomViewHolder.updateTopBanner();
|
||||
mLiveRoomViewHolder.setVoteData(data.getEnterRoomInfo().getVoteModel());
|
||||
mLiveRoomViewHolder.updateFansMessageRed();
|
||||
|
||||
isattention = Integer.parseInt(data.getEnterRoomInfo().getIsattention());
|
||||
if (isattention == 0) {
|
||||
|
@ -1,9 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:background="@mipmap/img_pop_bg"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="171dp">
|
||||
android:layout_height="171dp"
|
||||
android:background="@mipmap/img_pop_bg">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
@ -11,9 +12,9 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:text="@string/live_role_title"
|
||||
android:textColor="#F6F7FB"
|
||||
android:textSize="14sp"
|
||||
android:text="@string/live_role_title"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
@ -82,10 +83,31 @@
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:src="@mipmap/live_more_icon_fans" />
|
||||
android:layout_height="40dp">
|
||||
|
||||
|
||||
|
||||
<ImageView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:src="@mipmap/live_more_icon_fans"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
<View
|
||||
android:id="@+id/red_point"
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="10dp"
|
||||
android:background="@drawable/bg_red_point"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:visibility="visible" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -3,6 +3,7 @@
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical">
|
||||
|
||||
<RelativeLayout
|
||||
@ -391,12 +392,35 @@
|
||||
android:background="@drawable/background_gift"
|
||||
/>
|
||||
<!--特权-->
|
||||
<ImageView
|
||||
android:id="@+id/live_privilege"
|
||||
android:layout_width="35dp"
|
||||
android:layout_height="35dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:src="@mipmap/icon_privilege" />
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp">
|
||||
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/live_privilege"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:src="@mipmap/icon_privilege" />
|
||||
<View
|
||||
android:id="@+id/privilege_red_point"
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="10dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:background="@drawable/bg_red_point"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:visibility="visible" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<!--普通工具合集-->
|
||||
<ImageView
|
||||
android:id="@+id/total_image"
|
||||
|
Loading…
Reference in New Issue
Block a user