守护的全服通知,修改测试问题

This commit is contained in:
18401019693 2024-03-19 15:32:04 +08:00
parent 53f389ddc8
commit 859810f1f6
30 changed files with 422 additions and 39 deletions

View File

@ -19,7 +19,7 @@ public class GuardBuyTipsDialog {
* @param content 购买类型名称 * @param content 购买类型名称
* @param simpleCallback * @param simpleCallback
*/ */
public static void showBuyOrRenewDialog(Context context, String coin, String content, DialogUitl.SimpleCallback simpleCallback) { public static void showBuyOrRenewDialog(Context context, String coin, String content, boolean isOpen,DialogUitl.SimpleCallback simpleCallback) {
if (context instanceof Activity) { if (context instanceof Activity) {
if (((Activity) context).isDestroyed() || ((Activity) context).isFinishing()) { if (((Activity) context).isDestroyed() || ((Activity) context).isFinishing()) {
return; return;
@ -30,6 +30,7 @@ public class GuardBuyTipsDialog {
dialog.setContentView(R.layout.dialog_guard_buy_tips); dialog.setContentView(R.layout.dialog_guard_buy_tips);
dialog.setCancelable(true); dialog.setCancelable(true);
dialog.setCanceledOnTouchOutside(true); dialog.setCanceledOnTouchOutside(true);
if (!isOpen){
if (!TextUtils.isEmpty(coin)) { if (!TextUtils.isEmpty(coin)) {
TextView contentTextView = dialog.findViewById(R.id.content); TextView contentTextView = dialog.findViewById(R.id.content);
contentTextView.setText(context.getString(R.string.guard_buy_tips_1, coin)); contentTextView.setText(context.getString(R.string.guard_buy_tips_1, coin));
@ -38,6 +39,17 @@ public class GuardBuyTipsDialog {
TextView buyTypeTextView = dialog.findViewById(R.id.buyType); TextView buyTypeTextView = dialog.findViewById(R.id.buyType);
buyTypeTextView.setText(""+content+""); buyTypeTextView.setText(""+content+"");
} }
}else {
if (!TextUtils.isEmpty(coin)) {
TextView contentTextView = dialog.findViewById(R.id.content);
contentTextView.setText(context.getString(R.string.guard_buy_tips_2, coin));
}
if (!TextUtils.isEmpty(content)) {
TextView buyTypeTextView = dialog.findViewById(R.id.buyType);
buyTypeTextView.setText(""+content+"");
}
}
dialog.findViewById(R.id.btn_cancel).setOnClickListener(new View.OnClickListener() { dialog.findViewById(R.id.btn_cancel).setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {

View File

@ -1175,7 +1175,7 @@ public interface PDLiveApi {
Observable<ResponseModel<GuardGetGuardOpenInfoModel>> getGuardOpenInfo(@Query("liveuid") String liveUid); Observable<ResponseModel<GuardGetGuardOpenInfoModel>> getGuardOpenInfo(@Query("liveuid") String liveUid);
@GET("/api/public/?service=Guard.openGuard") @GET("/api/public/?service=Guard.openGuard")
Observable<ResponseModel<Object>> openGuard(@Query("liveuid") String liveUid, @Query("guard_type") String guardType, @Query("price_key") String priceKey); Observable<ResponseModel<Object>> openGuard(@Query("liveuid") String liveUid, @Query("guard_type") String guardType, @Query("price_key") String priceKey, @Query("stream") String stream);
@GET("/api/public/?service=Guard.sendMoneyLong") @GET("/api/public/?service=Guard.sendMoneyLong")
Observable<ResponseModel<Object>> sendMoneyLong(@Query("liveuid") String liveUid, @Query("gold_num") String goldNum); Observable<ResponseModel<Object>> sendMoneyLong(@Query("liveuid") String liveUid, @Query("gold_num") String goldNum);

View File

@ -2984,9 +2984,9 @@ public class LiveNetManager {
} }
public void openGuard(String liveUid, String guardType, String priceKey, HttpCallback<String> callback) { public void openGuard(String liveUid, String guardType, String priceKey, String stream, HttpCallback<String> callback) {
API.get().pdLiveApi(mContext) API.get().pdLiveApi(mContext)
.openGuard(liveUid, guardType, priceKey) .openGuard(liveUid, guardType, priceKey, stream)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<ResponseModel<Object>>() { .subscribe(new Consumer<ResponseModel<Object>>() {
@ -3007,6 +3007,7 @@ public class LiveNetManager {
}).isDisposed(); }).isDisposed();
} }
public void sendMoneyLongList(String liveUid, HttpCallback<List<sendMoneyLongListModel>> callback) { public void sendMoneyLongList(String liveUid, HttpCallback<List<sendMoneyLongListModel>> callback) {
API.get().pdLiveApi(mContext) API.get().pdLiveApi(mContext)
.sendMoneyLongList(liveUid) .sendMoneyLongList(liveUid)
@ -3030,6 +3031,7 @@ public class LiveNetManager {
}).isDisposed(); }).isDisposed();
} }
public void sendMoneyLong(String liveUid, String goldNum, HttpCallback<String> callback) { public void sendMoneyLong(String liveUid, String goldNum, HttpCallback<String> callback) {
API.get().pdLiveApi(mContext) API.get().pdLiveApi(mContext)
.sendMoneyLong(liveUid, goldNum) .sendMoneyLong(liveUid, goldNum)

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@ -1491,6 +1491,7 @@ Limited ride And limited avatar frame</string>
<string name="due_in_guard">Expired</string> <string name="due_in_guard">Expired</string>
<string name="continuative_guardian_privilege2">"Now renew and enjoy guardian privileges again "</string> <string name="continuative_guardian_privilege2">"Now renew and enjoy guardian privileges again "</string>
<string name="renewal_guardian">Renewal Guardian</string> <string name="renewal_guardian">Renewal Guardian</string>
<string name="guard_buy_tips_2">You will spend %s diamonds to renew the anchor</string>
<string name="participate">Participate</string> <string name="participate">Participate</string>
<string name="send_benefits">Send benefits</string> <string name="send_benefits">Send benefits</string>
</resources> </resources>

View File

@ -1490,6 +1490,7 @@
<string name="due_in_guard">天到期</string> <string name="due_in_guard">天到期</string>
<string name="continuative_guardian_privilege2">保留守護等級 重享守護特權</string> <string name="continuative_guardian_privilege2">保留守護等級 重享守護特權</string>
<string name="renewal_guardian">續費守護</string> <string name="renewal_guardian">續費守護</string>
<string name="guard_buy_tips_2">您將花費%s鑽石為主播續費</string>
<string name="participate">點擊參加</string> <string name="participate">點擊參加</string>
<string name="send_benefits">發放福利</string> <string name="send_benefits">發放福利</string>
</resources> </resources>

View File

@ -1489,6 +1489,7 @@
<string name="due_in_guard">天到期</string> <string name="due_in_guard">天到期</string>
<string name="continuative_guardian_privilege2">保留守護等級 重享守護特權</string> <string name="continuative_guardian_privilege2">保留守護等級 重享守護特權</string>
<string name="renewal_guardian">續費守護</string> <string name="renewal_guardian">續費守護</string>
<string name="guard_buy_tips_2">您將花費%s鑽石為主播續費</string>
<string name="participate">點擊參加</string> <string name="participate">點擊參加</string>
<string name="send_benefits">發放福利</string> <string name="send_benefits">發放福利</string>

View File

@ -1486,6 +1486,7 @@
<string name="due_in_guard">天到期</string> <string name="due_in_guard">天到期</string>
<string name="continuative_guardian_privilege2">保留守護等級 重享守護特權</string> <string name="continuative_guardian_privilege2">保留守護等級 重享守護特權</string>
<string name="renewal_guardian">續費守護</string> <string name="renewal_guardian">續費守護</string>
<string name="guard_buy_tips_2">您將花費%s鑽石為主播續費</string>
<string name="participate">點擊參加</string> <string name="participate">點擊參加</string>
<string name="send_benefits">發放福利</string> <string name="send_benefits">發放福利</string>

View File

@ -1495,6 +1495,7 @@ Limited ride And limited avatar frame</string>
<string name="due_in_guard">Expired</string> <string name="due_in_guard">Expired</string>
<string name="renewal_guardian">Renewal Guardian</string> <string name="renewal_guardian">Renewal Guardian</string>
<string name="guard_buy_tips_1">You will spend %s diamonds for the anchor</string> <string name="guard_buy_tips_1">You will spend %s diamonds for the anchor</string>
<string name="guard_buy_tips_2">You will spend %s diamonds to renew the anchor</string>
<string name="participate">Participate</string> <string name="participate">Participate</string>
<string name="send_benefits">Send benefits</string> <string name="send_benefits">Send benefits</string>

View File

@ -21,10 +21,10 @@ ext {
baiduAppSecretKey: "nEVSgmuGpU0pjPr6VleEGGAl0hzGW52S", baiduAppSecretKey: "nEVSgmuGpU0pjPr6VleEGGAl0hzGW52S",
// true表示谷歌支付 false 0 1 2 3 samsung包 // true表示谷歌支付 false 0 1 2 3 samsung包
isGooglePlay : 1, isGooglePlay : 0,
// //
isUploadLog : true, isUploadLog : true,
// //
isPluginModel : true, isPluginModel : false,
] ]
} }

View File

@ -1275,7 +1275,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
Log.e("getGuardList", list.toString()); Log.e("getGuardList", list.toString());
if (list.isEmpty()) { if (list.isEmpty()) {
// openNewBuyGuardWindow(true); // openNewBuyGuardWindow(true);
new LiveGuardDialog(mContext, true,mLiveUid).showDialog(); new LiveGuardDialog(mContext, true,mLiveUid,mStream).showDialog();
} else { } else {
// LiveNewGuardDialogFragment fragment = new LiveNewGuardDialogFragment(); // LiveNewGuardDialogFragment fragment = new LiveNewGuardDialogFragment();
// fragment.setList(list); // fragment.setList(list);
@ -1286,7 +1286,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
// bundle.putBoolean("showBuyView", !showBuyView); // bundle.putBoolean("showBuyView", !showBuyView);
// fragment.setArguments(bundle); // fragment.setArguments(bundle);
// fragment.show(getSupportFragmentManager(), "LiveGuardDialogFragment"); // fragment.show(getSupportFragmentManager(), "LiveGuardDialogFragment");
new LiveGuardDialog(mContext, false,mLiveUid).showDialog(); new LiveGuardDialog(mContext, false,mLiveUid,mStream).showDialog();
} }
} }
}); });

View File

@ -111,6 +111,7 @@ import com.yunbao.live.adapter.VerticalPagerAdapter;
import com.yunbao.live.bean.ImUserBean; import com.yunbao.live.bean.ImUserBean;
import com.yunbao.live.bean.LiveChatBean; import com.yunbao.live.bean.LiveChatBean;
import com.yunbao.live.bean.LiveGuardInfo; import com.yunbao.live.bean.LiveGuardInfo;
import com.yunbao.live.bean.NewAllServerNotifyGuardEvent;
import com.yunbao.live.dialog.DragonExpirePopup; import com.yunbao.live.dialog.DragonExpirePopup;
import com.yunbao.live.dialog.LiveFansFragment; import com.yunbao.live.dialog.LiveFansFragment;
import com.yunbao.live.dialog.LiveGameDialogFragment; import com.yunbao.live.dialog.LiveGameDialogFragment;
@ -1925,7 +1926,7 @@ public class LiveAudienceActivity extends LiveActivity {
@Override @Override
public void run() { public void run() {
new XPopup.Builder(mContext) new XPopup.Builder(mContext)
.asCustom(new DragonExpirePopup(mContext, mLiveUid, maturityDateRemindModel)) .asCustom(new DragonExpirePopup(mContext, mLiveUid, maturityDateRemindModel,mStream))
.show(); .show();
} }
}, 3000); }, 3000);
@ -1943,6 +1944,13 @@ public class LiveAudienceActivity extends LiveActivity {
} }
@Subscribe(threadMode = ThreadMode.MAIN)
public void onNewAllServerNotifyGuardEvent(NewAllServerNotifyGuardEvent event) {
if (manager != null) {
manager.buyGuardNew(event);
}
}
@Subscribe(threadMode = ThreadMode.MAIN) @Subscribe(threadMode = ThreadMode.MAIN)
public void onSendMoneyLongEndEvent(SendMoneyLongEndEvent sendMoneyLongModel) { public void onSendMoneyLongEndEvent(SendMoneyLongEndEvent sendMoneyLongModel) {
Log.e("DateRemindModel", sendMoneyLongModel.toString()); Log.e("DateRemindModel", sendMoneyLongModel.toString());

View File

@ -0,0 +1,120 @@
package com.yunbao.live.bean;
import com.google.gson.annotations.SerializedName;
import com.yunbao.common.bean.BaseModel;
public class NewAllServerNotifyGuardEvent extends BaseModel {
/**
* {
* "_method_": "AllServerNotify",
* "action": "90",
* "guard_type": "1", // 守护类型
* "uid": "98888", // 用户ID
* "uname": "周末暴打小朋友", // 用户昵称
* "avatar": "https://downs.yaoulive.com/mannine.png", // 用户头像链接
* "liveuid": "98889", // 主播ID
* "msg_cn": "周末暴打小朋友在接化发直播間開通【星之守護】",
* "msg_en": "周末暴打小朋友opened 【星之守護】 in 接化发 live broadcast room"
* }
*/
@SerializedName("_method_")
private String method;
@SerializedName("action")
private String action;
@SerializedName("guard_type")
private String guardType;
@SerializedName("uid")
private String uid;
@SerializedName("uname")
private String uname;
@SerializedName("avatar")
private String avatar;
@SerializedName("liveuid")
private String liveuid;
@SerializedName("msg_cn")
private String msgCn;
@SerializedName("msg_en")
private String msgEn;
public String getMethod() {
return method;
}
public NewAllServerNotifyGuardEvent setMethod(String method) {
this.method = method;
return this;
}
public String getAction() {
return action;
}
public NewAllServerNotifyGuardEvent setAction(String action) {
this.action = action;
return this;
}
public String getGuardType() {
return guardType;
}
public NewAllServerNotifyGuardEvent setGuardType(String guardType) {
this.guardType = guardType;
return this;
}
public String getUid() {
return uid;
}
public NewAllServerNotifyGuardEvent setUid(String uid) {
this.uid = uid;
return this;
}
public String getUname() {
return uname;
}
public NewAllServerNotifyGuardEvent setUname(String uname) {
this.uname = uname;
return this;
}
public String getAvatar() {
return avatar;
}
public NewAllServerNotifyGuardEvent setAvatar(String avatar) {
this.avatar = avatar;
return this;
}
public String getLiveuid() {
return liveuid;
}
public NewAllServerNotifyGuardEvent setLiveuid(String liveuid) {
this.liveuid = liveuid;
return this;
}
public String getMsgCn() {
return msgCn;
}
public NewAllServerNotifyGuardEvent setMsgCn(String msgCn) {
this.msgCn = msgCn;
return this;
}
public String getMsgEn() {
return msgEn;
}
public NewAllServerNotifyGuardEvent setMsgEn(String msgEn) {
this.msgEn = msgEn;
return this;
}
}

View File

@ -17,6 +17,7 @@ import com.yunbao.live.R;
public class DragonExpirePopup extends CenterPopupView { public class DragonExpirePopup extends CenterPopupView {
FragmentActivity activity; FragmentActivity activity;
String mLiveUid; String mLiveUid;
String mStream;
RoundedImageView liveAvatar; RoundedImageView liveAvatar;
RoundedImageView userAvatar; RoundedImageView userAvatar;
@ -28,11 +29,12 @@ public class DragonExpirePopup extends CenterPopupView {
TextView dueInGuard2; TextView dueInGuard2;
GuardMaturityDateRemindModel maturityDateRemindModel; GuardMaturityDateRemindModel maturityDateRemindModel;
public DragonExpirePopup(@NonNull Context context, String liveUid, GuardMaturityDateRemindModel maturityDateRemindModel) { public DragonExpirePopup(@NonNull Context context, String liveUid, GuardMaturityDateRemindModel maturityDateRemindModel, String stream) {
super(context); super(context);
activity = (FragmentActivity) context; activity = (FragmentActivity) context;
mLiveUid = liveUid; mLiveUid = liveUid;
this.maturityDateRemindModel = maturityDateRemindModel; this.maturityDateRemindModel = maturityDateRemindModel;
mStream = stream;
} }
// 返回自定义弹窗的布局 // 返回自定义弹窗的布局
@ -105,7 +107,7 @@ public class DragonExpirePopup extends CenterPopupView {
@Override @Override
public void onViewClicks() { public void onViewClicks() {
dismiss(); dismiss();
new LiveBuyGuardDialog(activity, mLiveUid).showDialog(); new LiveBuyGuardDialog(activity, mLiveUid,mStream).showDialog();
} }
}); });
} }

View File

@ -65,6 +65,7 @@ public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
ImageView guardArrow; ImageView guardArrow;
TextView guardMonth; TextView guardMonth;
String mLiveUid; String mLiveUid;
String mStream;
List<GuardDataTipModel> guardDataTipModels; List<GuardDataTipModel> guardDataTipModels;
List<GuardPriceModel> price = new ArrayList<>(); List<GuardPriceModel> price = new ArrayList<>();
TextView discountPrice, discount; TextView discountPrice, discount;
@ -74,10 +75,11 @@ public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
List<String> guardPrivilegeStrings = new ArrayList<>(); List<String> guardPrivilegeStrings = new ArrayList<>();
GuardDataTipModel dataTipModel; GuardDataTipModel dataTipModel;
public LiveBuyGuardDialog(@NonNull Context context, String liveUid) { public LiveBuyGuardDialog(@NonNull Context context, String liveUid, String stream) {
super(context); super(context);
activity = (FragmentActivity) context; activity = (FragmentActivity) context;
mLiveUid = liveUid; mLiveUid = liveUid;
mStream = stream;
} }
@Override @Override
@ -310,10 +312,11 @@ public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
break; break;
} }
GuardBuyTipsDialog GuardBuyTipsDialog
.showBuyOrRenewDialog(mContext, .showBuyOrRenewDialog(mContext,
discountPrice.getText().toString(), discountPrice.getText().toString(),
dataTipModel.getGuardName(), new DialogUitl.SimpleCallback2() { dataTipModel.getGuardName(), dataTipModel.isOpen(),new DialogUitl.SimpleCallback2() {
@Override @Override
public void onCancelClick() { public void onCancelClick() {
dismiss(); dismiss();
@ -325,7 +328,7 @@ public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
LiveNetManager.get(activity) LiveNetManager.get(activity)
.openGuard(mLiveUid, .openGuard(mLiveUid,
String.valueOf(dataTipModel.getGuardType()), String.valueOf(dataTipModel.getGuardType()),
String.valueOf(guardPriceModel.getPriceKey()), new HttpCallback<String>() { String.valueOf(guardPriceModel.getPriceKey()), mStream, new HttpCallback<String>() {
@Override @Override
public void onSuccess(String data) { public void onSuccess(String data) {
ToastUtil.show(data); ToastUtil.show(data);

View File

@ -49,6 +49,7 @@ public class LiveGuardDialog extends AbsDialogPopupWindow {
CommonRefreshView mRefreshView; CommonRefreshView mRefreshView;
String mLiveUid; String mLiveUid;
String mStream;
List<GuardUserModel> guardUserModels = new ArrayList<>(); List<GuardUserModel> guardUserModels = new ArrayList<>();
TextView userNickname, weekContribution, guardLevel; TextView userNickname, weekContribution, guardLevel;
@ -57,11 +58,12 @@ public class LiveGuardDialog extends AbsDialogPopupWindow {
SVGAImageView giftSvga; SVGAImageView giftSvga;
TextView btnGuardOpen; TextView btnGuardOpen;
public LiveGuardDialog(@NonNull Context context, boolean isEmpty, String liveUid) { public LiveGuardDialog(@NonNull Context context, boolean isEmpty, String liveUid, String stream) {
super(context); super(context);
activity = (FragmentActivity) context; activity = (FragmentActivity) context;
this.isEmpty = isEmpty; this.isEmpty = isEmpty;
mLiveUid = liveUid; mLiveUid = liveUid;
mStream = stream;
} }
@Override @Override
@ -86,7 +88,7 @@ public class LiveGuardDialog extends AbsDialogPopupWindow {
mRefreshView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false)); mRefreshView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false));
newGuardAdapter = new NewGuardAdapter(mContext); newGuardAdapter = new NewGuardAdapter(mContext);
mRefreshView.setRecyclerViewAdapter(newGuardAdapter); mRefreshView.setRecyclerViewAdapter(newGuardAdapter);
mRefreshView.setEmptyLayoutId(R.layout.view_no_data_admin_room); mRefreshView.setEmptyLayoutId(R.layout.view_no_data_admin_room2);
userNickname = findViewById(R.id.user_nickname); userNickname = findViewById(R.id.user_nickname);
weekContribution = findViewById(R.id.week_contribution); weekContribution = findViewById(R.id.week_contribution);
guardLevel = findViewById(R.id.guard_level); guardLevel = findViewById(R.id.guard_level);
@ -155,7 +157,7 @@ public class LiveGuardDialog extends AbsDialogPopupWindow {
public void onViewClicks() { public void onViewClicks() {
MobclickAgent.onEvent(mContext, "guardian_renew_btn", "守护席开通守护/续费守护按钮点击次数及人数"); MobclickAgent.onEvent(mContext, "guardian_renew_btn", "守护席开通守护/续费守护按钮点击次数及人数");
dismiss(); dismiss();
new LiveBuyGuardDialog(mContext, mLiveUid).showDialog(); new LiveBuyGuardDialog(mContext, mLiveUid, mStream).showDialog();
} }
}); });
//神龙送财 //神龙送财

View File

@ -5,6 +5,7 @@ import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator; import android.animation.ObjectAnimator;
import android.animation.ValueAnimator; import android.animation.ValueAnimator;
import android.content.Context; import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.CountDownTimer; import android.os.CountDownTimer;
import android.os.Handler; import android.os.Handler;
@ -39,10 +40,12 @@ import com.yunbao.common.HtmlConfig;
import com.yunbao.common.activity.WebViewActivity; import com.yunbao.common.activity.WebViewActivity;
import com.yunbao.common.bean.LiveBean; import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.event.AllServerNotifyEvent; import com.yunbao.common.event.AllServerNotifyEvent;
import com.yunbao.common.event.LiveRoomChangeEvent;
import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.CommonHttpConsts; import com.yunbao.common.http.CommonHttpConsts;
import com.yunbao.common.http.CommonHttpUtil; import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.http.HttpCallback; import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.common.interfaces.CommonCallback; import com.yunbao.common.interfaces.CommonCallback;
import com.yunbao.common.manager.IMLoginManager; import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.Bus; import com.yunbao.common.utils.Bus;
@ -54,14 +57,14 @@ import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
import com.yunbao.common.utils.MicStatusManager; import com.yunbao.common.utils.MicStatusManager;
import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil; import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.live.R; import com.yunbao.live.R;
import com.yunbao.live.bean.LiveGiftPrizePoolWinBean; import com.yunbao.live.bean.LiveGiftPrizePoolWinBean;
import com.yunbao.live.bean.LiveLuckGiftWinBean; import com.yunbao.live.bean.LiveLuckGiftWinBean;
import com.yunbao.live.bean.LiveReceiveGiftBean; import com.yunbao.live.bean.LiveReceiveGiftBean;
import com.yunbao.live.bean.NewAllServerNotifyGuardEvent;
import com.yunbao.live.custom.FrameImageView; import com.yunbao.live.custom.FrameImageView;
import com.yunbao.live.event.LiveAudienceEvent; import com.yunbao.live.event.LiveAudienceEvent;
import com.yunbao.common.event.LiveRoomChangeEvent;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.live.utils.AllMsgTextRender; import com.yunbao.live.utils.AllMsgTextRender;
import com.yunbao.live.utils.LiveIconUtil; import com.yunbao.live.utils.LiveIconUtil;
import com.yunbao.live.views.LiveGiftLuckTopViewHolder; import com.yunbao.live.views.LiveGiftLuckTopViewHolder;
@ -123,7 +126,9 @@ public class LiveGiftAnimPresenter {
private ObjectAnimator mGifGiftTipShowAnimatorAllServer; private ObjectAnimator mGifGiftTipShowAnimatorAllServer;
private ObjectAnimator mGifGiftTipHideAnimatorAllServer; private ObjectAnimator mGifGiftTipHideAnimatorAllServer;
private ObjectAnimator mGifGiftTipShowAnimatorBuyGuard; private ObjectAnimator mGifGiftTipShowAnimatorBuyGuard;
private ObjectAnimator mGifGiftTipShowAnimatorBuyGuardNew;
private ObjectAnimator mGifGiftTipHideAnimatorBuyGuard; private ObjectAnimator mGifGiftTipHideAnimatorBuyGuard;
private ObjectAnimator mGifGiftTipHideAnimatorBuyGuardNew;
private ObjectAnimator mGifGiftTipShowAnimatorBuyZuoji; private ObjectAnimator mGifGiftTipShowAnimatorBuyZuoji;
private ObjectAnimator mGifGiftTipHideAnimatorBuyZuoji; private ObjectAnimator mGifGiftTipHideAnimatorBuyZuoji;
@ -160,7 +165,8 @@ public class LiveGiftAnimPresenter {
private static final int WHAT_BUY_LIANG_NAME_2 = -12; private static final int WHAT_BUY_LIANG_NAME_2 = -12;
private static final int WHAT_BUY_VIP_1 = -13; private static final int WHAT_BUY_VIP_1 = -13;
private static final int WHAT_BUY_VIP_2 = -14; private static final int WHAT_BUY_VIP_2 = -14;
private static final int WHAT_BUY_GUARD_NEW_1 = -15;
private static final int WHAT_BUY_GUARD_NEW_2 = -16;
private boolean mShowGif; private boolean mShowGif;
private boolean mShowBuyGuard; private boolean mShowBuyGuard;
private boolean mShowAllServer; private boolean mShowAllServer;
@ -227,6 +233,7 @@ public class LiveGiftAnimPresenter {
superNotice = v.findViewById(R.id.super_notice); superNotice = v.findViewById(R.id.super_notice);
bgAllServer = v.findViewById(R.id.bg_all_server); bgAllServer = v.findViewById(R.id.bg_all_server);
mIvLookBuyGuard = v.findViewById(R.id.iv_look_buy_guard); mIvLookBuyGuard = v.findViewById(R.id.iv_look_buy_guard);
mIvLookBuyGuardNew = v.findViewById(R.id.iv_look_buy_guard_new);
svgaImageViewCallback(); svgaImageViewCallback();
@ -235,7 +242,10 @@ public class LiveGiftAnimPresenter {
mGifGiftTip = (TextView) v.findViewById(R.id.gif_gift_tip); mGifGiftTip = (TextView) v.findViewById(R.id.gif_gift_tip);
mGifGiftTipAllServer = (TextView) v.findViewById(R.id.gif_gift_tip_all_server); mGifGiftTipAllServer = (TextView) v.findViewById(R.id.gif_gift_tip_all_server);
mGifGiftTipGroupBuyGuard = v.findViewById(R.id.gif_gift_tip_group_buy_guard); mGifGiftTipGroupBuyGuard = v.findViewById(R.id.gif_gift_tip_group_buy_guard);
mGifGiftTipGroupBuyGuardNew = v.findViewById(R.id.gif_gift_tip_group_buy_guard_new);
guardAllServerNotifyBg = v.findViewById(R.id.guard_all_server_notify_bg);
mGifGiftTipBuyGuard = (TextView) v.findViewById(R.id.gif_gift_tip_buy_guard); mGifGiftTipBuyGuard = (TextView) v.findViewById(R.id.gif_gift_tip_buy_guard);
mGifGiftTipBuyGuardNew = (TextView) v.findViewById(R.id.gif_gift_tip_buy_guard_new);
mGifGiftTipGroupBuyZuoji = v.findViewById(R.id.gif_gift_tip_group_buy_zuoji); mGifGiftTipGroupBuyZuoji = v.findViewById(R.id.gif_gift_tip_group_buy_zuoji);
mGifGiftTipBuyZuoji = (TextView) v.findViewById(R.id.gif_gift_tip_buy_zuoji); mGifGiftTipBuyZuoji = (TextView) v.findViewById(R.id.gif_gift_tip_buy_zuoji);
@ -253,14 +263,14 @@ public class LiveGiftAnimPresenter {
mIvLookBuyZuojiClick(); mIvLookBuyZuojiClick();
mIvLookBuyLiangNameClick(); mIvLookBuyLiangNameClick();
mIvLookBuyVipClick(); mIvLookBuyVipClick();
onmIvLookBuyGuardNew();
setGitTipAnimator1(); setGitTipAnimator1();
setGitTipAnimatorAllServer(); setGitTipAnimatorAllServer();
setGitTipAnimatorBuyGuard(); setGitTipAnimatorBuyGuard();
setGitTipAnimatorBuyZuoji(); setGitTipAnimatorBuyZuoji();
setGitTipAnimatorBuyLiangName(); setGitTipAnimatorBuyLiangName();
setGitTipAnimatorBuyVip(); setGitTipAnimatorBuyVip();
setGitTipAnimatorBuyGuardNew();
mSendString = "送了"; mSendString = "送了";
mLiveGiftViewHolders = new LiveGiftViewHolder[2]; mLiveGiftViewHolders = new LiveGiftViewHolder[2];
@ -507,6 +517,38 @@ public class LiveGiftAnimPresenter {
}); });
} }
private void setGitTipAnimatorBuyGuardNew() {
mDp500 = DpUtil.dp2px(500);
mGifGiftTipShowAnimatorBuyGuardNew = ObjectAnimator.ofFloat(mGifGiftTipGroupBuyGuardNew, "translationX", mDp500, 0);
mGifGiftTipShowAnimatorBuyGuardNew.setDuration(2000);
mGifGiftTipShowAnimatorBuyGuardNew.setInterpolator(new LinearInterpolator());
mGifGiftTipShowAnimatorBuyGuardNew.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
if (mHandler != null) {
mHandler.sendEmptyMessageDelayed(WHAT_BUY_GUARD_NEW_1, 5000);
}
}
});
mDp10 = DpUtil.dp2px(10);
mGifGiftTipHideAnimatorBuyGuardNew = ObjectAnimator.ofFloat(mGifGiftTipGroupBuyGuardNew, "translationX", 0);
mGifGiftTipHideAnimatorBuyGuardNew.setDuration(3000);
mGifGiftTipHideAnimatorBuyGuardNew.setInterpolator(new AccelerateDecelerateInterpolator());
mGifGiftTipHideAnimatorBuyGuardNew.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
mGifGiftTipGroupBuyGuardNew.setAlpha(1 - animation.getAnimatedFraction());
}
});
mGifGiftTipHideAnimatorBuyGuardNew.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
if (mHandler != null) {
mHandler.sendEmptyMessageDelayed(WHAT_BUY_GUARD_NEW_2, 100);
}
}
});
}
private void setGitTipAnimatorBuyZuoji() { private void setGitTipAnimatorBuyZuoji() {
mDp500 = DpUtil.dp2px(500); mDp500 = DpUtil.dp2px(500);
@ -721,6 +763,9 @@ public class LiveGiftAnimPresenter {
} else if (msg.what == WHAT_BUY_GUARD_1) { } else if (msg.what == WHAT_BUY_GUARD_1) {
mGifGiftTipHideAnimatorBuyGuard.setFloatValues(0, -mDp10 - mGifGiftTipGroupBuyGuard.getWidth()); mGifGiftTipHideAnimatorBuyGuard.setFloatValues(0, -mDp10 - mGifGiftTipGroupBuyGuard.getWidth());
mGifGiftTipHideAnimatorBuyGuard.start(); mGifGiftTipHideAnimatorBuyGuard.start();
} else if (msg.what == WHAT_BUY_GUARD_NEW_1) {
mGifGiftTipHideAnimatorBuyGuardNew.setFloatValues(0, -mDp10 - mGifGiftTipGroupBuyGuardNew.getWidth());
mGifGiftTipHideAnimatorBuyGuardNew.start();
} else if (msg.what == WHAT_BUY_GUARD_2) { } else if (msg.what == WHAT_BUY_GUARD_2) {
mShowAllServer = false; mShowAllServer = false;
heightOffsetArr[index4Guard] = 0; heightOffsetArr[index4Guard] = 0;
@ -728,6 +773,13 @@ public class LiveGiftAnimPresenter {
if (bean != null) { if (bean != null) {
chooseInto(bean); chooseInto(bean);
} }
} else if (msg.what == WHAT_BUY_GUARD_NEW_2) {
mShowAllServer = false;
heightOffsetArr[index4Guard] = 0;
LiveReceiveGiftBean bean = mGifAll.poll();
if (bean != null) {
chooseInto(bean);
}
} else if (msg.what == WHAT_BUY_ZUOJI_1) { } else if (msg.what == WHAT_BUY_ZUOJI_1) {
mGifGiftTipHideAnimatorBuyZuoji.setFloatValues(0, -mDp10 - mGifGiftTipGroupBuyZuoji.getWidth()); mGifGiftTipHideAnimatorBuyZuoji.setFloatValues(0, -mDp10 - mGifGiftTipGroupBuyZuoji.getWidth());
mGifGiftTipHideAnimatorBuyZuoji.start(); mGifGiftTipHideAnimatorBuyZuoji.start();
@ -785,6 +837,8 @@ public class LiveGiftAnimPresenter {
showBuyVipGiftAnim(bean); showBuyVipGiftAnim(bean);
} else if (action == 71) { } else if (action == 71) {
showSystAnim(bean); showSystAnim(bean);
} else if (action == 90) {
showBuyGuardGiftAnimNew(notifyGuardEvent);
} }
} }
@ -970,6 +1024,87 @@ public class LiveGiftAnimPresenter {
} }
} }
View mGifGiftTipGroupBuyGuardNew;
LinearLayout guardAllServerNotifyBg;
TextView mGifGiftTipBuyGuardNew;
View mIvLookBuyGuardNew;
NewAllServerNotifyGuardEvent notifyGuardEvent;
public void showBuyGuardGiftAnimNew(NewAllServerNotifyGuardEvent event) {
notifyGuardEvent = event;
if (mShowAllServer) {
if (mGifAll != null) {
LiveReceiveGiftBean bean = new LiveReceiveGiftBean();
bean.setSendtype(90);
mGifAll.offer(bean);
}
} else {
mShowAllServer = true;
index4Guard = getFirstIndexOfValue(heightOffsetArr, 0);
if (index4Guard >= 0) {
heightOffsetArr[index4Guard] = 1;
int y;
y = index4Guard * 60;
FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) mGifGiftTipGroupBuyGuardNew.getLayoutParams();
params.topMargin = DpUtil.dp2px(y);
mGifGiftTipGroupBuyGuardNew.setLayoutParams(params);
}
mGifGiftTipGroupBuyGuardNew.setAlpha(1f);
mGifGiftTipGroupBuyGuardNew.setVisibility(View.VISIBLE);
switch (event.getGuardType()) {
case "1":
guardAllServerNotifyBg.setBackgroundResource(WordUtil.isNewZh() ?
R.mipmap.background_all_server_notify_star_zh :
R.mipmap.background_all_server_notify_star_en);
mGifGiftTipBuyGuardNew.setTextColor(Color.parseColor("#072A93"));
mIvLookBuyGuardNew.setBackgroundResource(R.mipmap.btn_star_guard_onlookers);
break;
case "2":
guardAllServerNotifyBg.setBackgroundResource(WordUtil.isNewZh() ?
R.mipmap.background_all_server_notify_king_zh :
R.mipmap.background_all_server_notify_king_en);
mGifGiftTipBuyGuardNew.setTextColor(Color.parseColor("#BF0B0A"));
mIvLookBuyGuardNew.setBackgroundResource(R.mipmap.btn_king_guard_onlookers);
break;
case "3":
guardAllServerNotifyBg.setBackgroundResource(WordUtil.isNewZh() ?
R.mipmap.background_all_server_notify_god_zh :
R.mipmap.background_all_server_notify_sgod_en);
mGifGiftTipBuyGuardNew.setTextColor(Color.parseColor("#41057E"));
mIvLookBuyGuardNew.setBackgroundResource(R.mipmap.btn_god_guard_onlookers);
break;
}
if (TextUtils.equals(mLiveUid, event.getLiveuid())) {
mIvLookBuyGuardNew.setVisibility(View.GONE);
} else {
mIvLookBuyGuardNew.setVisibility(View.VISIBLE);
}
mGifGiftTipShowAnimatorBuyGuardNew.start();
mGifGiftTipBuyGuardNew.postDelayed(new Runnable() {
@Override
public void run() {
if (mGifGiftTipBuyGuardNew != null) {
mGifGiftTipBuyGuardNew.setSelected(true);
mGifGiftTipBuyGuardNew.setText(WordUtil.isNewZh() ? event.getMsgCn() : event.getMsgEn());
}
}
}, 500);
}
}
private void onmIvLookBuyGuardNew() {
ViewClicksAntiShake.clicksAntiShake(mIvLookBuyGuardNew, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
changeLiveRoom();
}
});
}
//购买守护 全服通知 //购买守护 全服通知
public void showBuyGuardGiftAnim(LiveReceiveGiftBean bean) { public void showBuyGuardGiftAnim(LiveReceiveGiftBean bean) {

View File

@ -66,6 +66,7 @@ import com.yunbao.live.bean.LiveGiftPrizePoolWinBean;
import com.yunbao.live.bean.LiveLuckGiftWinBean; import com.yunbao.live.bean.LiveLuckGiftWinBean;
import com.yunbao.live.bean.LivePKUserListBean; import com.yunbao.live.bean.LivePKUserListBean;
import com.yunbao.live.bean.LiveReceiveGiftBean; import com.yunbao.live.bean.LiveReceiveGiftBean;
import com.yunbao.live.bean.NewAllServerNotifyGuardEvent;
import com.yunbao.live.bean.SendQuickGiftModel; import com.yunbao.live.bean.SendQuickGiftModel;
import com.yunbao.live.event.LiveAnchorEvent; import com.yunbao.live.event.LiveAnchorEvent;
import com.yunbao.live.event.LiveAudienceEvent; import com.yunbao.live.event.LiveAudienceEvent;
@ -439,6 +440,9 @@ public class SocketRyClient {
Bus.get().post(new LiveAudienceEvent() Bus.get().post(new LiveAudienceEvent()
.setType(LiveAudienceEvent.LiveAudienceType.BLIND_BOX) .setType(LiveAudienceEvent.LiveAudienceType.BLIND_BOX)
.setAllServerNotifyEvent(allServerNotifyEvent)); .setAllServerNotifyEvent(allServerNotifyEvent));
} else if (action2 == 90) {
NewAllServerNotifyGuardEvent notifyGuardEvent = GsonUtils.fromJson(map.toString(), NewAllServerNotifyGuardEvent.class);
Bus.get().post(notifyGuardEvent);
} }
break; break;
case Constants.SOCKET_SEND_BARRAGE://发弹幕 case Constants.SOCKET_SEND_BARRAGE://发弹幕

View File

@ -160,6 +160,7 @@ import com.yunbao.live.bean.LiveLuckGiftWinBean;
import com.yunbao.live.bean.LivePKUserListBean; import com.yunbao.live.bean.LivePKUserListBean;
import com.yunbao.live.bean.LiveReceiveGiftBean; import com.yunbao.live.bean.LiveReceiveGiftBean;
import com.yunbao.live.bean.LiveWishlistBean; import com.yunbao.live.bean.LiveWishlistBean;
import com.yunbao.live.bean.NewAllServerNotifyGuardEvent;
import com.yunbao.live.bean.WishlistItemModel; import com.yunbao.live.bean.WishlistItemModel;
import com.yunbao.live.custom.LiveLightView; import com.yunbao.live.custom.LiveLightView;
import com.yunbao.live.custom.RightGradual; import com.yunbao.live.custom.RightGradual;
@ -1596,6 +1597,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
dragonImmediateParticipation = (LinearLayout) findViewById(R.id.dragon_immediate_participation); dragonImmediateParticipation = (LinearLayout) findViewById(R.id.dragon_immediate_participation);
dragonImmediateParticipationTime = (LinearLayout) findViewById(R.id.dragon_immediate_participation_time); dragonImmediateParticipationTime = (LinearLayout) findViewById(R.id.dragon_immediate_participation_time);
participation_time = (TextView) findViewById(R.id.participation_time); participation_time = (TextView) findViewById(R.id.participation_time);
ViewClicksAntiShake.clicksAntiShake(dragonImmediateParticipation, new ViewClicksAntiShake.ViewClicksCallBack() { ViewClicksAntiShake.clicksAntiShake(dragonImmediateParticipation, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override @Override
public void onViewClicks() { public void onViewClicks() {
@ -1603,6 +1605,13 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
// new XPopup.Builder(mContext) // new XPopup.Builder(mContext)
// .asCustom(new GuardUpgradePopup(mContext, mLiveUid)) // .asCustom(new GuardUpgradePopup(mContext, mLiveUid))
// .show(); // .show();
// ttttttype = ttttttype + 1;
// buyGuardNew(new NewAllServerNotifyGuardEvent()
// .setAction("90")
// .setGuardType(String.valueOf(ttttttype))
// .setMsgCn("周末暴打小朋友在接化发直播間開通【星之守護】")
// .setMsgEn("周末暴打小朋友opened 【星之守護】 in 接化发 live broadcast room")
// .setLiveuid("98915"));
} }
}); });
ViewClicksAntiShake.clicksAntiShake(dragonImmediateParticipationTime, new ViewClicksAntiShake.ViewClicksCallBack() { ViewClicksAntiShake.clicksAntiShake(dragonImmediateParticipationTime, new ViewClicksAntiShake.ViewClicksCallBack() {
@ -1617,6 +1626,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
// dragonImmediateParticipation.setVisibility(View.GONE); // dragonImmediateParticipation.setVisibility(View.GONE);
} }
int ttttttype = 0;
private LinearLayout dragonImmediateParticipation, dragonImmediateParticipationTime; private LinearLayout dragonImmediateParticipation, dragonImmediateParticipationTime;
private FrameLayout redPacket; private FrameLayout redPacket;
private TextView redPacketCountdown, redSchedule, openRedPacket, participation_time; private TextView redPacketCountdown, redSchedule, openRedPacket, participation_time;
@ -3918,6 +3928,16 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
setHotData(bean.getHot_num()); setHotData(bean.getHot_num());
} }
//新版购买守护
public void buyGuardNew(NewAllServerNotifyGuardEvent event) {
if (mLiveGiftAnimPresenter == null) {
mLiveGiftAnimPresenter = new LiveGiftAnimPresenter(mContext, mContentView, mGifImageView, mSVGAImageView, mLiveGiftPrizePoolContainer, windowManager);
}
mLiveGiftAnimPresenter.setLiveUidStream(mLiveUid, mStream);
mLiveGiftAnimPresenter.showBuyGuardGiftAnimNew(event);
}
//全服通知 购买坐骑 //全服通知 购买坐骑
public void showBuyZuojiMessage(LiveReceiveGiftBean bean) { public void showBuyZuojiMessage(LiveReceiveGiftBean bean) {
if (mLiveGiftAnimPresenter == null) { if (mLiveGiftAnimPresenter == null) {

View File

@ -92,6 +92,7 @@ import com.yunbao.live.bean.LiveGuardInfo;
import com.yunbao.live.bean.LiveLuckGiftWinBean; import com.yunbao.live.bean.LiveLuckGiftWinBean;
import com.yunbao.live.bean.LivePKUserListBean; import com.yunbao.live.bean.LivePKUserListBean;
import com.yunbao.live.bean.LiveReceiveGiftBean; import com.yunbao.live.bean.LiveReceiveGiftBean;
import com.yunbao.live.bean.NewAllServerNotifyGuardEvent;
import com.yunbao.live.bean.OpenParametersModel; import com.yunbao.live.bean.OpenParametersModel;
import com.yunbao.live.dialog.BlowkissDialog; import com.yunbao.live.dialog.BlowkissDialog;
import com.yunbao.live.dialog.NewUserDialog; import com.yunbao.live.dialog.NewUserDialog;
@ -1291,6 +1292,12 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
} }
} }
public void buyGuardNew(NewAllServerNotifyGuardEvent event) {
if (mLiveRoomViewHolder != null) {
mLiveRoomViewHolder.buyGuardNew(event);
}
}
@Override @Override
public void onBuyZuoji(LiveReceiveGiftBean bean) { public void onBuyZuoji(LiveReceiveGiftBean bean) {
if (mLiveRoomViewHolder != null) { if (mLiveRoomViewHolder != null) {

View File

@ -1154,6 +1154,58 @@
</FrameLayout> </FrameLayout>
<FrameLayout
android:id="@+id/gif_gift_tip_group_buy_guard_new"
android:layout_width="match_parent"
android:layout_height="51dp"
android:translationX="500dp"
android:visibility="invisible">
<LinearLayout
android:id="@+id/guard_all_server_notify_bg"
android:layout_width="match_parent"
android:layout_height="51dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="9dp"
android:layout_marginRight="9dp"
android:background="@mipmap/background_all_server_notify_star_zh"
android:gravity="center|left"
android:orientation="horizontal">
<com.yunbao.common.views.weight.MarqueeTextView
android:id="@+id/gif_gift_tip_buy_guard_new"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_weight="1"
android:focusable="true"
android:gravity="center"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:paddingStart="100dp"
android:paddingEnd="6dp"
android:scrollHorizontally="true"
android:singleLine="true"
android:textColor="#072A93"
android:textSize="13sp" />
<TextView
android:id="@+id/iv_look_buy_guard_new"
android:layout_width="32dp"
android:layout_height="20dp"
android:layout_marginEnd="20dp"
android:background="@mipmap/btn_king_guard_onlookers"
android:gravity="center"
android:text="@string/onlookers"
android:textColor="@color/white"
android:textSize="12sp" />
</LinearLayout>
</FrameLayout>
<FrameLayout <FrameLayout
android:id="@+id/gif_gift_tip_group_buy_zuoji" android:id="@+id/gif_gift_tip_group_buy_zuoji"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -1353,7 +1405,8 @@
layout="@layout/sim_live_room_vote" layout="@layout/sim_live_room_vote"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" /> android:layout_alignParentEnd="true"
android:visibility="gone" />
<ImageView <ImageView
android:id="@+id/icon_pk_top" android:id="@+id/icon_pk_top"
@ -2550,11 +2603,11 @@
android:id="@+id/dragon_immediate_participation" android:id="@+id/dragon_immediate_participation"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="gone"
android:layout_marginStart="10dp" android:layout_marginStart="10dp"
android:layout_marginTop="180dp" android:layout_marginTop="180dp"
android:gravity="center" android:gravity="center"
android:orientation="vertical"> android:orientation="vertical"
android:visibility="gone">
<ImageView <ImageView
android:layout_width="36dp" android:layout_width="36dp"
@ -2580,8 +2633,8 @@
android:layout_marginStart="10dp" android:layout_marginStart="10dp"
android:layout_marginTop="120dp" android:layout_marginTop="120dp"
android:gravity="center" android:gravity="center"
android:visibility="gone" android:orientation="vertical"
android:orientation="vertical"> android:visibility="gone">
<ImageView <ImageView
android:layout_width="36dp" android:layout_width="36dp"

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:textColor="@color/gray1"
android:textSize="14sp"
android:layout_centerInParent="true"
/>