對接開通接口神龍送財的im消息
@@ -21,6 +21,7 @@ import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.blankj.utilcode.util.GsonUtils;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
@@ -1266,6 +1267,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
||||
if (uid == null) {
|
||||
uid = mLiveUid;
|
||||
}
|
||||
MobclickAgent.onEvent(mContext, "guardian_people", "守护席点击次数及人数");
|
||||
LiveHttpUtil.getGuardList(uid, 1, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
|
||||
@@ -45,6 +45,7 @@ import com.yunbao.common.bean.AnchorRecommendItemModel;
|
||||
import com.yunbao.common.bean.AnchorRecommendModel;
|
||||
import com.yunbao.common.bean.CrashSaveBean;
|
||||
import com.yunbao.common.bean.CustomSidebarChildModel;
|
||||
import com.yunbao.common.bean.GuardMaturityDateRemindModel;
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
import com.yunbao.common.bean.LinkMicUserBean;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
@@ -108,6 +109,7 @@ import com.yunbao.live.adapter.VerticalPagerAdapter;
|
||||
import com.yunbao.live.bean.ImUserBean;
|
||||
import com.yunbao.live.bean.LiveChatBean;
|
||||
import com.yunbao.live.bean.LiveGuardInfo;
|
||||
import com.yunbao.live.dialog.DragonExpirePopup;
|
||||
import com.yunbao.live.dialog.LiveFansFragment;
|
||||
import com.yunbao.live.dialog.LiveGameDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveGiftPopup;
|
||||
@@ -865,7 +867,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
if (!TextUtils.isEmpty(event.getMethod())) {
|
||||
if (TextUtils.equals(event.getMethod(), "closeLiveRoom")) {
|
||||
onBackPressed();
|
||||
}else if (TextUtils.equals(event.getMethod(), "androidtoCommunityVideo")) {
|
||||
} else if (TextUtils.equals(event.getMethod(), "androidtoCommunityVideo")) {
|
||||
RouteUtil.forwardCommunityActivity();
|
||||
}
|
||||
}
|
||||
@@ -1476,6 +1478,11 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
manager.showXydComplete(event.getXydCompleteModel(), event.getLiveReceiveGiftBean());
|
||||
}
|
||||
break;
|
||||
case GuardSpecialEffect:
|
||||
if (manager != null) {
|
||||
manager.guardSpecialEffect(event.getLiveReceiveGiftBean());
|
||||
}
|
||||
break;
|
||||
case VOTE_CREATE:
|
||||
case VOTE_UPDATE:
|
||||
LiveRoomVoteModel voteModel = new LiveRoomVoteModel();
|
||||
@@ -1909,6 +1916,21 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onGuardMaturityDateRemind(GuardMaturityDateRemindModel maturityDateRemindModel) {
|
||||
Log.e("DateRemindModel", maturityDateRemindModel.toString());
|
||||
new Handler().postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
new XPopup.Builder(mContext)
|
||||
.asCustom(new DragonExpirePopup(mContext, mLiveUid, maturityDateRemindModel))
|
||||
.show();
|
||||
}
|
||||
}, 3000);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查消息,有未读就要显示红点
|
||||
*/
|
||||
|
||||
@@ -62,6 +62,46 @@ public class LiveReceiveGiftBean extends BaseModel {
|
||||
private String namingUserAvatar;
|
||||
private String namingStatus;
|
||||
private String namingCoin;
|
||||
private String medal_name;
|
||||
private String msg;
|
||||
private String msg_en;
|
||||
private String guard_type;
|
||||
|
||||
public String getMsg() {
|
||||
return msg;
|
||||
}
|
||||
|
||||
public LiveReceiveGiftBean setMsg(String msg) {
|
||||
this.msg = msg;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getMsg_en() {
|
||||
return msg_en;
|
||||
}
|
||||
|
||||
public LiveReceiveGiftBean setMsg_en(String msg_en) {
|
||||
this.msg_en = msg_en;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getGuard_type() {
|
||||
return guard_type;
|
||||
}
|
||||
|
||||
public LiveReceiveGiftBean setGuard_type(String guard_type) {
|
||||
this.guard_type = guard_type;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getMedal_name() {
|
||||
return medal_name;
|
||||
}
|
||||
|
||||
public LiveReceiveGiftBean setMedal_name(String medal_name) {
|
||||
this.medal_name = medal_name;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getNamingLiveuid() {
|
||||
return namingLiveuid;
|
||||
|
||||
112
live/src/main/java/com/yunbao/live/dialog/DragonExpirePopup.java
Normal file
@@ -0,0 +1,112 @@
|
||||
package com.yunbao.live.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import com.lxj.xpopup.core.CenterPopupView;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.yunbao.common.bean.GuardMaturityDateRemindModel;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.R;
|
||||
|
||||
public class DragonExpirePopup extends CenterPopupView {
|
||||
FragmentActivity activity;
|
||||
String mLiveUid;
|
||||
RoundedImageView liveAvatar;
|
||||
RoundedImageView userAvatar;
|
||||
|
||||
TextView guardTitleTop;
|
||||
TextView dueInGuard;
|
||||
TextView userName;
|
||||
TextView guardianPrivilege;
|
||||
TextView dueIn;
|
||||
TextView dueInGuard2;
|
||||
GuardMaturityDateRemindModel maturityDateRemindModel;
|
||||
|
||||
public DragonExpirePopup(@NonNull Context context, String liveUid, GuardMaturityDateRemindModel maturityDateRemindModel) {
|
||||
super(context);
|
||||
activity = (FragmentActivity) context;
|
||||
mLiveUid = liveUid;
|
||||
this.maturityDateRemindModel = maturityDateRemindModel;
|
||||
}
|
||||
|
||||
// 返回自定义弹窗的布局
|
||||
@Override
|
||||
protected int getImplLayoutId() {
|
||||
return R.layout.dragon_expire_popup;
|
||||
}
|
||||
|
||||
// 执行初始化操作,比如:findView,设置点击,或者任何你弹窗内的业务逻辑
|
||||
@Override
|
||||
protected void onCreate() {
|
||||
super.onCreate();
|
||||
liveAvatar = findViewById(R.id.live_avatar);
|
||||
userAvatar = findViewById(R.id.user_avatar);
|
||||
guardTitleTop = findViewById(R.id.guard_title_top);
|
||||
dueInGuard = findViewById(R.id.due_in_guard);
|
||||
userName = findViewById(R.id.user_name);
|
||||
guardianPrivilege = findViewById(R.id.guardian_privilege);
|
||||
dueInGuard2 = findViewById(R.id.due_in_guard2);
|
||||
dueIn = findViewById(R.id.due_in);
|
||||
|
||||
|
||||
ImgLoader.display(getContext(), maturityDateRemindModel.getUserAvatar(), userAvatar);
|
||||
ImgLoader.display(getContext(), maturityDateRemindModel.getLiveAvatar(), liveAvatar);
|
||||
|
||||
|
||||
String guardName = WordUtil.isNewZh() ? "星之守護" : "Star Guardian";
|
||||
switch (maturityDateRemindModel.getGuardType()) {
|
||||
case "1":
|
||||
guardName = WordUtil.isNewZh() ? "星之守護" : "Star Guardian";
|
||||
break;
|
||||
case "2":
|
||||
guardName = WordUtil.isNewZh() ? "王之守護" : "King Guardian";
|
||||
break;
|
||||
default:
|
||||
guardName = WordUtil.isNewZh() ? "神之守護" : "God Guardian";
|
||||
break;
|
||||
}
|
||||
StringBuffer guardTitleTopBuffer = new StringBuffer();
|
||||
if (WordUtil.isNewZh()) {
|
||||
guardTitleTopBuffer.append("您的")
|
||||
.append(guardName);
|
||||
} else {
|
||||
guardTitleTopBuffer.append("Your")
|
||||
.append(guardName);
|
||||
}
|
||||
if (maturityDateRemindModel.getIsOverdue() == 0) {
|
||||
guardianPrivilege.setText(WordUtil.getNewString(R.string.continuative_guardian_privilege));
|
||||
dueIn.setText(WordUtil.isNewZh() ? "還有" : "Due in ");
|
||||
dueInGuard2.setText(WordUtil.isNewZh() ? "天到期" : " days ");
|
||||
} else {
|
||||
guardianPrivilege.setText(WordUtil.getNewString(R.string.continuative_guardian_privilege2));
|
||||
dueIn.setText(WordUtil.isNewZh() ? "已到期" : "Expired ");
|
||||
dueInGuard2.setText(WordUtil.isNewZh() ? "天" : " days ");
|
||||
}
|
||||
dueInGuard.setText(String.valueOf(maturityDateRemindModel.getDays()));
|
||||
guardTitleTop.setText(guardTitleTopBuffer.toString());
|
||||
StringBuffer userNameBuffer = new StringBuffer();
|
||||
userNameBuffer.append(maturityDateRemindModel.getLiveNicename())
|
||||
.append("&")
|
||||
.append(maturityDateRemindModel.getUserNicename());
|
||||
userName.setText(userNameBuffer.toString());
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.dragon_close), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
dismiss();
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.travel_renewal), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
dismiss();
|
||||
new LiveBuyGuardDialog(activity, mLiveUid).showDialog();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.yunbao.live.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.dialog.AbsDialogPopupWindow;
|
||||
import com.yunbao.live.R;
|
||||
|
||||
public class DragonSendMoneyListPopup extends AbsDialogPopupWindow {
|
||||
FragmentActivity activity;
|
||||
String mLiveUid;
|
||||
|
||||
public DragonSendMoneyListPopup(@NonNull Context context, String liveUid) {
|
||||
super(context);
|
||||
activity = (FragmentActivity) context;
|
||||
mLiveUid = liveUid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void buildDialog(XPopup.Builder builder) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int bindLayoutId() {
|
||||
return R.layout.dialog_dragon_send_money_list;
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import com.blankj.utilcode.util.GsonUtils;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
@@ -23,9 +24,13 @@ public class DragonSendsMoneyPopup extends CenterPopupView {
|
||||
TextView my_gold_coin;
|
||||
long goldMoney;
|
||||
EditText dragon_money;
|
||||
String mLiveUid;
|
||||
FragmentActivity activity;
|
||||
|
||||
public DragonSendsMoneyPopup(@NonNull Context context) {
|
||||
public DragonSendsMoneyPopup(@NonNull Context context, String liveUid) {
|
||||
super(context);
|
||||
activity = (FragmentActivity) context;
|
||||
mLiveUid = liveUid;
|
||||
}
|
||||
|
||||
// 返回自定义弹窗的布局
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.yunbao.live.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import com.lxj.xpopup.core.CenterPopupView;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.R;
|
||||
|
||||
public class GuardUpgradePopup extends CenterPopupView {
|
||||
FragmentActivity activity;
|
||||
String mLiveUid;
|
||||
|
||||
public GuardUpgradePopup(@NonNull Context context, String liveUid) {
|
||||
super(context);
|
||||
activity = (FragmentActivity) context;
|
||||
mLiveUid = liveUid;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getImplLayoutId() {
|
||||
return R.layout.guard_upgrade_popup;
|
||||
}
|
||||
|
||||
// 执行初始化操作,比如:findView,设置点击,或者任何你弹窗内的业务逻辑
|
||||
@Override
|
||||
protected void onCreate() {
|
||||
super.onCreate();
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.confirm), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
dismiss();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -26,24 +26,20 @@ import com.lxj.xpopup.XPopup;
|
||||
import com.lxj.xpopup.enums.PopupPosition;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.stx.xhb.androidx.XBanner;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.adapter.LiveBuyGuardPrivilegeAdapter;
|
||||
import com.yunbao.common.bean.GuardDataTipModel;
|
||||
import com.yunbao.common.bean.GuardGetGuardOpenInfoModel;
|
||||
import com.yunbao.common.bean.GuardPriceModel;
|
||||
import com.yunbao.common.bean.HttpCallbackModel;
|
||||
import com.yunbao.common.bean.LiveAiRobotBean;
|
||||
import com.yunbao.common.dialog.AbsDialogPopupWindow;
|
||||
import com.yunbao.common.dialog.GuardBuyTipsDialog;
|
||||
import com.yunbao.common.dialog.LiveBuyGuardSelectPopup;
|
||||
import com.yunbao.common.event.LiveRobotSayHelloEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.InputCustomPopup;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.bean.BuyGuardBannerModel;
|
||||
@@ -75,6 +71,7 @@ public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
|
||||
LiveBuyGuardPrivilegeAdapter buyGuardPrivilegeAdapter;
|
||||
List<String> guardPrivilegeStrings = new ArrayList<>();
|
||||
GuardDataTipModel dataTipModel;
|
||||
|
||||
public LiveBuyGuardDialog(@NonNull Context context, String liveUid) {
|
||||
super(context);
|
||||
activity = (FragmentActivity) context;
|
||||
@@ -129,15 +126,15 @@ public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
|
||||
if (guardDataTipModel.getGuardType() == 1) {
|
||||
guardBannerModel.setGradientColors(gradientColorsStart)
|
||||
.setGuardOpen(R.mipmap.icon_bg_star_guard_open)
|
||||
.setGuardImage(R.mipmap.bg_star_guard);
|
||||
.setGuardImage(WordUtil.isNewZh()?R.mipmap.bg_star_guard:R.mipmap.bg_star_guard_en);
|
||||
} else if (guardDataTipModel.getGuardType() == 2) {
|
||||
guardBannerModel.setGuardOpen(R.mipmap.icon_bg_king_guard_open)
|
||||
.setGradientColors(gradientColorsKing)
|
||||
.setGuardImage(R.mipmap.bg_king_guard);
|
||||
.setGuardImage(WordUtil.isNewZh()?R.mipmap.bg_king_guard:R.mipmap.bg_king_guard_en);
|
||||
} else {
|
||||
guardBannerModel.setGuardOpen(R.mipmap.icon_god_guard_open)
|
||||
.setGradientColors(gradientColorsGod)
|
||||
.setGuardImage(R.mipmap.bg_god_guard);
|
||||
.setGuardImage(WordUtil.isNewZh()?R.mipmap.bg_god_guard:R.mipmap.bg_god_guard_en);
|
||||
}
|
||||
buyGuardBannerModels.add(guardBannerModel);
|
||||
}
|
||||
@@ -188,20 +185,23 @@ public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
|
||||
price = dataTipModel.getPrice();
|
||||
Log.e("LiveBuyGuardDialog", "name = " + guardBannerModel.getName() + " position=" + position);
|
||||
if (position == 0) {
|
||||
MobclickAgent.onEvent(mContext, "star_guardian_people", "星之守护页面观看次数及人数");
|
||||
bottomPanel.setBackgroundResource(R.drawable.bg_star_guard_bottom_panel);
|
||||
ImgLoader.display(getContext(), R.mipmap.btn_star_guard, btnGuard);
|
||||
openTheGuard.setText(dataTipModel.isOpen() ? WordUtil.getNewString(R.string.renew_the_start_guard)
|
||||
openTheGuard.setText(dataTipModel.isOpen() ? WordUtil.getNewString(R.string.renewal_guardian)
|
||||
: WordUtil.getNewString(R.string.open_the_start_guard));
|
||||
|
||||
} else if (position == 1) {
|
||||
MobclickAgent.onEvent(mContext, "king_guardian_people", "王之守护页面观看次数及人数");
|
||||
bottomPanel.setBackgroundResource(R.drawable.bg_king_guard_bottom_panel);
|
||||
ImgLoader.display(getContext(), R.mipmap.btn_king_guard, btnGuard);
|
||||
openTheGuard.setText(dataTipModel.isOpen() ? WordUtil.getNewString(R.string.renew_the_kings_guard)
|
||||
openTheGuard.setText(dataTipModel.isOpen() ? WordUtil.getNewString(R.string.renewal_guardian)
|
||||
: WordUtil.getNewString(R.string.open_the_kings_guard));
|
||||
} else if (position == 2) {
|
||||
MobclickAgent.onEvent(mContext, "god_guardian_people", "神之守护页面观看次数及人数");
|
||||
bottomPanel.setBackgroundResource(R.drawable.bg_god_guard_bottom_panel);
|
||||
ImgLoader.display(getContext(), R.mipmap.btn_god_guard, btnGuard);
|
||||
openTheGuard.setText(dataTipModel.isOpen() ? WordUtil.getNewString(R.string.renew_the_god_guard)
|
||||
openTheGuard.setText(dataTipModel.isOpen() ? WordUtil.getNewString(R.string.renewal_guardian)
|
||||
: WordUtil.getNewString(R.string.open_the_god_guard));
|
||||
}
|
||||
guardPriceModel = price.get(0);
|
||||
@@ -213,12 +213,23 @@ public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
|
||||
originalPrice.setVisibility(VISIBLE);
|
||||
discount.setVisibility(VISIBLE);
|
||||
discountPrice.setText(String.valueOf(guardPriceModel.getDiscountPrice()));
|
||||
originalPrice.setText(String.valueOf(guardPriceModel.getOriginalPrice()));
|
||||
discount.setText(String.valueOf(guardPriceModel.getDiscount()));
|
||||
originalPrice.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
// SpannableString spannableString = new SpannableString(String.valueOf(guardPriceModel.getOriginalPrice()));
|
||||
// StrikethroughSpan strikethroughSpan = new StrikethroughSpan();
|
||||
// spannableString.setSpan(strikethroughSpan, 0, spannableString.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
|
||||
originalPrice.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
|
||||
originalPrice.setText(String.valueOf(guardPriceModel.getOriginalPrice()));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
guardMonth.setText(guardPriceModel.getOpeningTime());
|
||||
guardPrivilegeStrings = dataTipModel.getGuardPrivilege();
|
||||
if (buyGuardPrivilegeAdapter != null){
|
||||
if (buyGuardPrivilegeAdapter != null) {
|
||||
buyGuardPrivilegeAdapter.setGuardPrivilege(guardPrivilegeStrings);
|
||||
|
||||
}
|
||||
@@ -244,29 +255,40 @@ public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
|
||||
.isLightStatusBar(false)
|
||||
.popupPosition(PopupPosition.Top)
|
||||
.asCustom(new LiveBuyGuardSelectPopup(getContext(), price)
|
||||
.setOnDismissListener(new DialogInterface.OnDismissListener() {
|
||||
@Override
|
||||
public void onDismiss(DialogInterface dialog) {
|
||||
closeAnimSudGameListEvent(guardArrow);
|
||||
}
|
||||
}).setBuyGuardSelectListener(new LiveBuyGuardSelectPopup.LiveBuyGuardSelectListener() {
|
||||
@Override
|
||||
public void onLiveBuyGuardSelectListener(GuardPriceModel model) {
|
||||
guardPriceModel = model;
|
||||
if (TextUtils.isEmpty(guardPriceModel.getDiscountPrice())) {
|
||||
discountPrice.setText(String.valueOf(guardPriceModel.getOriginalPrice()));
|
||||
originalPrice.setVisibility(GONE);
|
||||
discount.setVisibility(GONE);
|
||||
} else {
|
||||
originalPrice.setVisibility(VISIBLE);
|
||||
discount.setVisibility(VISIBLE);
|
||||
discountPrice.setText(String.valueOf(guardPriceModel.getDiscountPrice()));
|
||||
originalPrice.setText(String.valueOf(guardPriceModel.getOriginalPrice()));
|
||||
discount.setText(String.valueOf(guardPriceModel.getDiscount()));
|
||||
}
|
||||
guardMonth.setText(guardPriceModel.getOpeningTime());
|
||||
}
|
||||
})
|
||||
.setOnDismissListener(new DialogInterface.OnDismissListener() {
|
||||
@Override
|
||||
public void onDismiss(DialogInterface dialog) {
|
||||
closeAnimSudGameListEvent(guardArrow);
|
||||
}
|
||||
}).setBuyGuardSelectListener(new LiveBuyGuardSelectPopup.LiveBuyGuardSelectListener() {
|
||||
@Override
|
||||
public void onLiveBuyGuardSelectListener(GuardPriceModel model) {
|
||||
guardPriceModel = model;
|
||||
if (TextUtils.isEmpty(guardPriceModel.getDiscountPrice())) {
|
||||
discountPrice.setText(String.valueOf(guardPriceModel.getOriginalPrice()));
|
||||
originalPrice.setVisibility(GONE);
|
||||
discount.setVisibility(GONE);
|
||||
} else {
|
||||
originalPrice.setVisibility(VISIBLE);
|
||||
discount.setVisibility(VISIBLE);
|
||||
discountPrice.setText(String.valueOf(guardPriceModel.getDiscountPrice()));
|
||||
discount.setText(String.valueOf(guardPriceModel.getDiscount()));
|
||||
originalPrice.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
// SpannableString spannableString = new SpannableString(String.valueOf(guardPriceModel.getOriginalPrice()));
|
||||
// StrikethroughSpan strikethroughSpan = new StrikethroughSpan();
|
||||
// spannableString.setSpan(strikethroughSpan, 0, spannableString.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
|
||||
// originalPrice.setText(spannableString);
|
||||
originalPrice.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
|
||||
originalPrice.setText(String.valueOf(guardPriceModel.getOriginalPrice()));
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
guardMonth.setText(guardPriceModel.getOpeningTime());
|
||||
}
|
||||
})
|
||||
)
|
||||
.show();
|
||||
}
|
||||
@@ -274,23 +296,50 @@ public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
|
||||
ViewClicksAntiShake.clicksAntiShake(openTheGuard, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
// GuardBuyTipsDialog
|
||||
// .showBuyOrRenewDialog(mContext,
|
||||
// discountPrice.getText().toString(),
|
||||
// dataTipModel.getGuardName(), new DialogUitl.SimpleCallback2() {
|
||||
// @Override
|
||||
// public void onCancelClick() {
|
||||
//
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onConfirmClick(Dialog dialog, String content) {
|
||||
// dismiss();
|
||||
// }
|
||||
// });
|
||||
new XPopup.Builder(mContext)
|
||||
.asCustom(new DragonSendsMoneyPopup(mContext))
|
||||
.show();
|
||||
switch (dataTipModel.getGuardType()) {
|
||||
case 1:
|
||||
MobclickAgent.onEvent(mContext, "star_guardian_renew_btn", "星之守护开通/续费按钮点击次数及人数");
|
||||
break;
|
||||
case 2:
|
||||
MobclickAgent.onEvent(mContext, "king_guardian_renew_btn", "王之守护开通/续费按钮点击次数及人数");
|
||||
break;
|
||||
case 3:
|
||||
MobclickAgent.onEvent(mContext, "god_guardian_renew_btn", "神之守护开通/续费按钮点击次数及人数");
|
||||
break;
|
||||
|
||||
}
|
||||
GuardBuyTipsDialog
|
||||
.showBuyOrRenewDialog(mContext,
|
||||
discountPrice.getText().toString(),
|
||||
dataTipModel.getGuardName(), new DialogUitl.SimpleCallback2() {
|
||||
@Override
|
||||
public void onCancelClick() {
|
||||
dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
|
||||
LiveNetManager.get(activity)
|
||||
.openGuard(mLiveUid,
|
||||
String.valueOf(dataTipModel.getGuardType()),
|
||||
String.valueOf(guardPriceModel.getPriceKey()), new HttpCallback<String>() {
|
||||
@Override
|
||||
public void onSuccess(String data) {
|
||||
ToastUtil.show(data);
|
||||
dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(error);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
// new XPopup.Builder(mContext)
|
||||
// .asCustom(new DragonSendsMoneyPopup(mContext))
|
||||
// .show();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.yunbao.live.dialog;
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
@@ -15,6 +14,7 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.opensource.svgaplayer.SVGAImageView;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.adapter.RefreshAdapter;
|
||||
import com.yunbao.common.bean.GuardGetGuardUserInfoModel;
|
||||
import com.yunbao.common.custom.CommonRefreshView;
|
||||
@@ -52,7 +52,7 @@ public class LiveGuardDialog extends AbsDialogPopupWindow {
|
||||
ImageView userSex, tagKing;
|
||||
RoundedImageView guardIcon;
|
||||
SVGAImageView giftSvga;
|
||||
ImageView btnGuardOpen;
|
||||
TextView btnGuardOpen;
|
||||
|
||||
public LiveGuardDialog(@NonNull Context context, boolean isEmpty, String liveUid) {
|
||||
super(context);
|
||||
@@ -144,11 +144,13 @@ public class LiveGuardDialog extends AbsDialogPopupWindow {
|
||||
guardingTheAnchor.setVisibility(VISIBLE);
|
||||
} else {
|
||||
|
||||
|
||||
guardingTheAnchor.setVisibility(GONE);
|
||||
}
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.btn_guard_open), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
MobclickAgent.onEvent(mContext, "guardian_renew_btn", "守护席开通守护/续费守护按钮点击次数及人数");
|
||||
dismiss();
|
||||
new LiveBuyGuardDialog(mContext, mLiveUid).showDialog();
|
||||
}
|
||||
@@ -167,12 +169,11 @@ public class LiveGuardDialog extends AbsDialogPopupWindow {
|
||||
if (data.getGuardType() == 0) {
|
||||
guardianTask.setVisibility(GONE);
|
||||
myGraudGrade.setVisibility(GONE);
|
||||
|
||||
ImgLoader.display(mContext,R.mipmap.btn_guard_open,btnGuardOpen);
|
||||
btnGuardOpen.setText(WordUtil.isNewZh() ? "開通守護" : "Open Guard");
|
||||
} else {
|
||||
guardianTask.setVisibility(VISIBLE);
|
||||
myGraudGrade.setVisibility(VISIBLE);
|
||||
ImgLoader.display(mContext,R.mipmap.btn_renewal_guard,btnGuardOpen);//续费守护
|
||||
btnGuardOpen.setText(WordUtil.isNewZh() ? "續費守護" : "Renewal Guard");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -182,7 +183,7 @@ public class LiveGuardDialog extends AbsDialogPopupWindow {
|
||||
ToastUtil.show(error);
|
||||
guardianTask.setVisibility(GONE);
|
||||
myGraudGrade.setVisibility(GONE);
|
||||
ImgLoader.display(mContext,R.mipmap.btn_guard_open,btnGuardOpen);
|
||||
btnGuardOpen.setText(WordUtil.isNewZh() ? "開通守護" : "Open Guard");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -488,7 +488,8 @@ public class LiveAudienceEvent extends BaseModel {
|
||||
GIFT_WALL(73, "礼物墙"),
|
||||
UPDATE_FANS_TASK_STATUS(74, "更新粉丝任务状态"),
|
||||
SUD_GAME_CREATE_ROOM(75, "主播创建sud游戏"),
|
||||
PK_RANK_START(76, "PK排位赛开始");
|
||||
PK_RANK_START(76, "PK排位赛开始"),
|
||||
GuardSpecialEffect(77, "PK排位赛开始");
|
||||
|
||||
private int type;
|
||||
private String name;
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.yunbao.common.CommonAppContext;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.AiAutomaticSpeechModel;
|
||||
import com.yunbao.common.bean.FansModel;
|
||||
import com.yunbao.common.bean.GuardMaturityDateRemindModel;
|
||||
import com.yunbao.common.bean.LinkMicUserBean;
|
||||
import com.yunbao.common.bean.LiveUserGiftBean;
|
||||
import com.yunbao.common.bean.MsgModel;
|
||||
@@ -680,6 +681,7 @@ public class SocketRyClient {
|
||||
.setCustomFullServiceNotifyEvent(customFullServiceNotifyEvent));
|
||||
break;
|
||||
case Constants.XYD_COMPLETE:
|
||||
|
||||
// xydComplete(map);
|
||||
XydCompleteModel xydCompleteModel = GsonUtils.fromJson(map.toString(), XydCompleteModel.class);
|
||||
EventBus.getDefault().post(new LiveAudienceEvent()
|
||||
@@ -687,6 +689,13 @@ public class SocketRyClient {
|
||||
.setXydCompleteModel(xydCompleteModel)
|
||||
.setLiveReceiveGiftBean(JSON.parseObject(map.toString(), LiveReceiveGiftBean.class)));
|
||||
break;
|
||||
case "GuardSpecialEffect":
|
||||
LiveReceiveGiftBean giftBean= JSON.parseObject(map.toString(), LiveReceiveGiftBean.class);
|
||||
giftBean.setMedal_name(map.getString("medal_name"));
|
||||
EventBus.getDefault().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.GuardSpecialEffect)
|
||||
.setLiveReceiveGiftBean(giftBean));
|
||||
break;
|
||||
case Constants.WISH_LIST_PROGRESS:
|
||||
StringBuffer conString = new StringBuffer();
|
||||
conString.append(WordUtil.isNewZh() ? map.getString("msg") : map.getString("msg_en"));
|
||||
@@ -782,13 +791,17 @@ public class SocketRyClient {
|
||||
item.getString("pkuid_win_continuity");
|
||||
pkRankBean = new PkRankBean();
|
||||
pkRankBean.setBlueVal(item.getString("pkuid_win_continuity"));
|
||||
pkRankBean.setRedVal( item.getString("uid_win_continuity"));
|
||||
pkRankBean.setRedVal(item.getString("uid_win_continuity"));
|
||||
pkRankBean.setPkTopImgUrl(item.getString("pktt_img"));
|
||||
|
||||
EventBus.getDefault().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.PK_RANK_START)
|
||||
.setObject(pkRankBean));
|
||||
break;
|
||||
case "guardMaturityDateRemind":
|
||||
GuardMaturityDateRemindModel maturityDateRemindModel = GsonUtils.fromJson(map.toString(), GuardMaturityDateRemindModel.class);
|
||||
Bus.get().post(maturityDateRemindModel);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,7 +161,9 @@ import com.yunbao.live.bean.LiveWishlistBean;
|
||||
import com.yunbao.live.bean.WishlistItemModel;
|
||||
import com.yunbao.live.custom.LiveLightView;
|
||||
import com.yunbao.live.custom.RightGradual;
|
||||
import com.yunbao.live.dialog.DragonSendsMoneyPopup;
|
||||
import com.yunbao.live.dialog.GiftWallDialog;
|
||||
import com.yunbao.live.dialog.GuardUpgradePopup;
|
||||
import com.yunbao.live.dialog.LiveContactDetailsSendGiftDialog;
|
||||
import com.yunbao.live.dialog.LiveFaceUnityDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveFansMedalDialogFragment;
|
||||
@@ -617,6 +619,27 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
}
|
||||
}
|
||||
|
||||
public void guardSpecialEffect(LiveReceiveGiftBean liveReceiveGiftBean) {
|
||||
LiveChatBean chatBean = new LiveChatBean();
|
||||
chatBean.setContent(
|
||||
(WordUtil.isNewZh() ? liveReceiveGiftBean.getMsg() : liveReceiveGiftBean.getMsg_en()));
|
||||
chatBean.setType(LiveChatBean.SYSTEM);
|
||||
mLiveChatAdapter.insertItem(chatBean);
|
||||
Log.e("guardSpecialEffect", "msg" + liveReceiveGiftBean.getMsg() + "msg-en" + liveReceiveGiftBean.getMsg_en() + "guard_type" + liveReceiveGiftBean.getGuard_type());
|
||||
if (mLiveGiftAnimPresenter == null) {
|
||||
mLiveGiftAnimPresenter = new LiveGiftAnimPresenter(mContext, mContentView, mGifImageView, mSVGAImageView, mLiveGiftPrizePoolContainer, windowManager);
|
||||
}
|
||||
liveReceiveGiftBean.setGiftId(liveReceiveGiftBean.getGiftName());
|
||||
mLiveGiftAnimPresenter.showGifGift(liveReceiveGiftBean);
|
||||
|
||||
// if (TextUtils.equals(String.valueOf(IMLoginManager.get(mContext).getUserInfo().getId()), liveReceiveGiftBean.getUid())
|
||||
// && TextUtils.equals(liveReceiveGiftBean.getGuard_type(), "3")) {
|
||||
new XPopup.Builder(mContext)
|
||||
.asCustom(new DragonSendsMoneyPopup(mContext, mLiveUid))
|
||||
.show();
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
List<XydCompleteModel> xydCompleteModels = new ArrayList<>();
|
||||
|
||||
@@ -1568,8 +1591,19 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
pa_pao_layout.setVisibility(View.GONE);
|
||||
combo_layout.setVisibility(View.GONE);
|
||||
|
||||
dragonImmediateParticipation = (LinearLayout) findViewById(R.id.dragon_immediate_participation);
|
||||
ViewClicksAntiShake.clicksAntiShake(dragonImmediateParticipation, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
// new DragonSendMoneyListPopup(mContext, mLiveUid).showDialog();
|
||||
new XPopup.Builder(mContext)
|
||||
.asCustom(new GuardUpgradePopup(mContext, mLiveUid))
|
||||
.show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private LinearLayout dragonImmediateParticipation;
|
||||
private FrameLayout redPacket;
|
||||
private TextView redPacketCountdown, redSchedule, openRedPacket;
|
||||
private LinearLayout redPacketQueue;
|
||||
|
||||
@@ -449,7 +449,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
||||
public void run() {
|
||||
//加入房间发送Im消息
|
||||
LiveNetManager.get(mContext).userJoinRoomNew(mLiveBean.getStream(), mLiveBean.getUid());
|
||||
Log.e("观看时长","userJoinRoomNew-----------------------"+mLiveBean.getUid());
|
||||
Log.e("观看时长", "userJoinRoomNew-----------------------" + mLiveBean.getUid());
|
||||
}
|
||||
};
|
||||
|
||||
@@ -462,7 +462,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
||||
.enterRoomNew(mLiveBean.getStream(), mLiveBean.getUid(), mLiveBean.getCity(), new com.yunbao.common.http.base.HttpCallback<EnterRoomNewModel>() {
|
||||
@Override
|
||||
public void onSuccess(EnterRoomNewModel data) {
|
||||
Log.e("观看时长","enterRoomNew-----------------------"+ mLiveBean.getUid());
|
||||
Log.e("观看时长", "enterRoomNew-----------------------" + mLiveBean.getUid());
|
||||
isEnterRoom = true;
|
||||
if (TextUtils.isEmpty(leaveStream)) {
|
||||
leaveStream = mLiveBean.getStream();
|
||||
@@ -624,7 +624,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
||||
if (pkInfo != null && pkInfo.getIntValue("drpk_status") != 1) {
|
||||
String pkUid = pkInfo.getString("pkuid");
|
||||
//初始化天梯赛信息
|
||||
mLiveRoomViewHolder.initRankPKInfo(String.valueOf(data.getLiveInfo().getUid()),pkUid);
|
||||
mLiveRoomViewHolder.initRankPKInfo(String.valueOf(data.getLiveInfo().getUid()), pkUid);
|
||||
anyway = "1";
|
||||
if (!TextUtils.isEmpty(pkUid) && !"0".equals(pkUid) && anyway.equals("0")) {
|
||||
if (mLiveSDK != Constants.LIVE_SDK_TX) {
|
||||
@@ -817,7 +817,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
||||
Log.e("直播间接口调用排查", "onRemove---------------");
|
||||
LiveNetManager.get(mContext).cancelLive();
|
||||
liveHandler.removeCallbacks(sendFIm);
|
||||
pkInfo=null;
|
||||
pkInfo = null;
|
||||
linkMicPkStartHandler.removeCallbacks(linkMicPkStartRunnable);
|
||||
LiveHttpUtil.cancel(LiveHttpConsts.CHECK_LIVE);
|
||||
LiveHttpUtil.cancel(LiveHttpConsts.ENTER_ROOM);
|
||||
@@ -2171,6 +2171,12 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
||||
}
|
||||
}
|
||||
|
||||
public void guardSpecialEffect(LiveReceiveGiftBean liveReceiveGiftBean) {
|
||||
if (mLiveRoomViewHolder != null) {
|
||||
mLiveRoomViewHolder.guardSpecialEffect(liveReceiveGiftBean);
|
||||
}
|
||||
}
|
||||
|
||||
public void blindBoxAllServerNotify(AllServerNotifyEvent event) {
|
||||
if (mLiveRoomViewHolder != null) {
|
||||
mLiveRoomViewHolder.blindBoxAllServerNotify(event);
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners
|
||||
android:topLeftRadius="12dp"
|
||||
android:topRightRadius="12dp" />
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:endColor="#1B1814"
|
||||
android:startColor="#2D2720" />
|
||||
|
||||
</shape>
|
||||
@@ -19,6 +19,9 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="11dp"
|
||||
android:layout_marginTop="60dp"
|
||||
android:maxWidth="200dp"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:text="@string/be_their_exclusive_guardian"
|
||||
android:textColor="#FAE3B9"
|
||||
android:textSize="12sp" />
|
||||
@@ -52,7 +55,7 @@
|
||||
android:layout_gravity="center"
|
||||
android:letterSpacing="0.1"
|
||||
android:text="@string/not_yet_open"
|
||||
android:textSize="16sp"
|
||||
android:textSize="12sp"
|
||||
android:visibility="visible"
|
||||
app:gradient_angle="45"
|
||||
app:gradient_endColor="#FFF2D7"
|
||||
@@ -95,6 +98,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:maxWidth="150dp"
|
||||
android:text="@string/tas_guardian_group"
|
||||
android:textColor="#FDECCB"
|
||||
android:textSize="12sp" />
|
||||
|
||||
43
live/src/main/res/layout/dialog_dragon_send_money_list.xml
Normal file
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="450dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="@drawable/backgroud_dragon_send_money_list"
|
||||
android:orientation="vertical">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginEnd="15dp">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:src="@mipmap/icon_live_dragon_money_back" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/dragon_rule"
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:layout_gravity="end"
|
||||
android:src="@mipmap/icon_dragon_rule" />
|
||||
|
||||
<com.flyjingfish.gradienttextviewlib.GradientTextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:letterSpacing="0.1"
|
||||
android:text="@string/dragon_sends_money"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
app:gradient_angle="45"
|
||||
app:gradient_endColor="#F9D78F"
|
||||
app:gradient_startColor="#E59F1F" />
|
||||
</FrameLayout>
|
||||
|
||||
</LinearLayout>
|
||||
@@ -58,8 +58,8 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="9dp"
|
||||
android:layout_marginBottom="73dp"
|
||||
android:paddingEnd="9dp"
|
||||
android:overScrollMode="never"
|
||||
android:paddingEnd="9dp"
|
||||
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
|
||||
app:spanCount="4"
|
||||
tools:itemCount="10"
|
||||
@@ -111,13 +111,21 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/original_price"
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="564000"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp" />
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/original_price"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="564000"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp" />
|
||||
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/discount"
|
||||
|
||||
@@ -77,6 +77,7 @@
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/guardian_task"
|
||||
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="14dp"
|
||||
@@ -91,9 +92,9 @@
|
||||
android:textSize="12sp" />
|
||||
|
||||
<View
|
||||
android:layout_width="48dp"
|
||||
android:layout_width="53dp"
|
||||
android:layout_height="1dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_gravity="bottom|center_horizontal"
|
||||
android:background="#E8C7F9" />
|
||||
</FrameLayout>
|
||||
|
||||
@@ -186,28 +187,35 @@
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<FrameLayout
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="71dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="@drawable/background_live_guard3">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="18dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:text="@string/guardian_for_your_favorite_anchor"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<ImageView
|
||||
<TextView
|
||||
android:id="@+id/btn_guard_open"
|
||||
android:layout_width="124dp"
|
||||
android:layout_height="42dp"
|
||||
android:gravity="center"
|
||||
android:textSize="16sp"
|
||||
android:textColor="@color/white"
|
||||
android:textStyle="bold"
|
||||
android:layout_gravity="center_vertical|end"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:text="續費守護"
|
||||
android:background="@mipmap/btn_guard_open" />
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
144
live/src/main/res/layout/dragon_expire_popup.xml
Normal file
@@ -0,0 +1,144 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/guard_title_top"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="您的神之守護"
|
||||
android:textColor="#FEECDC"
|
||||
android:textSize="25sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/due_in"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/due_in"
|
||||
android:textColor="#FEECDC"
|
||||
android:textSize="25sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/due_in_guard"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:text="2"
|
||||
android:textColor="#F9AB71"
|
||||
android:textSize="35sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/due_in_guard2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/due_in_guard"
|
||||
android:textColor="#FEECDC"
|
||||
android:textSize="25sp"
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="9dp">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="262dp"
|
||||
android:layout_height="202dp"
|
||||
android:src="@mipmap/bg_dragon_expire" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="23dp">
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/user_avatar"
|
||||
android:layout_width="35dp"
|
||||
android:layout_height="35dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="25dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@mipmap/icon_male_default"
|
||||
app:riv_oval="true" />
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/live_avatar"
|
||||
android:layout_width="35dp"
|
||||
android:layout_height="35dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@mipmap/icon_male_default"
|
||||
app:riv_oval="true" />
|
||||
</FrameLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/user_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="9dp"
|
||||
android:text="主播昵稱&用戶昵稱"
|
||||
android:textColor="#FFE0BF"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/guardian_privilege"
|
||||
android:layout_width="220dp"
|
||||
android:layout_height="35dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:gravity="center"
|
||||
android:paddingStart="15dp"
|
||||
android:paddingEnd="15dp"
|
||||
android:text="@string/continuative_guardian_privilege"
|
||||
android:textColor="#FFE0BF"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/travel_renewal"
|
||||
android:layout_width="203dp"
|
||||
android:layout_height="37dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:background="@drawable/button_dragon_expire"
|
||||
android:gravity="center"
|
||||
android:text="@string/travel_renewal"
|
||||
android:textColor="#F3D0B7"
|
||||
android:textSize="15sp" />
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/dragon_close"
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_gravity="center_horizontal|bottom"
|
||||
android:layout_marginTop="30dp"
|
||||
android:src="@mipmap/icon_dragon_close" />
|
||||
</LinearLayout>
|
||||
@@ -98,6 +98,8 @@
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/please_enter_the_number_of_gold_beans_hint"
|
||||
android:textColor="#333333"
|
||||
|
||||
148
live/src/main/res/layout/guard_upgrade_popup.xml
Normal file
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.flyjingfish.gradienttextviewlib.GradientTextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:letterSpacing="0.1"
|
||||
android:text="@string/congratulations_on_the_promotion"
|
||||
android:textSize="30sp"
|
||||
android:textStyle="bold"
|
||||
app:gradient_angle="45"
|
||||
app:gradient_endColor="@color/white"
|
||||
app:gradient_startColor="@color/white"
|
||||
app:gradient_stroke_endColor="#F86A01"
|
||||
app:gradient_stroke_startColor="#F9CB22"
|
||||
app:gradient_stroke_strokeWidth="5dp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="14dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/guard_level_has_been_reached"
|
||||
android:textColor="#FFE0BF"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="258dp"
|
||||
android:layout_height="174dp"
|
||||
android:layout_marginTop="52dp"
|
||||
android:src="@mipmap/background_guard_upgrade" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="13dp"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="80dp"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@mipmap/tequan_1" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="6dp"
|
||||
android:gravity="center"
|
||||
android:text="獎勵名稱"
|
||||
android:textColor="#FF8503"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="12dp"
|
||||
android:layout_marginTop="32dp"
|
||||
android:layout_marginEnd="12dp"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="80dp"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@mipmap/tequan_1" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="6dp"
|
||||
android:gravity="center"
|
||||
android:text="獎勵名稱"
|
||||
android:textColor="#FF8503"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="13dp"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="80dp"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@mipmap/tequan_1" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="6dp"
|
||||
android:gravity="center"
|
||||
android:text="獎勵名稱"
|
||||
android:textColor="#FF8503"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginStart="13dp"
|
||||
android:layout_marginEnd="13dp"
|
||||
android:layout_marginBottom="38dp">
|
||||
|
||||
<Button
|
||||
android:layout_width="94dp"
|
||||
android:layout_height="36dp"
|
||||
android:background="@drawable/button_guard_upgrade"
|
||||
android:text="@string/view_grade"
|
||||
android:textColor="#893D0D"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/confirm"
|
||||
android:layout_width="94dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_gravity="end"
|
||||
android:background="@drawable/button_guard_upgrade"
|
||||
android:text="@string/confirm"
|
||||
android:textColor="#893D0D"
|
||||
android:textSize="14sp" />
|
||||
</FrameLayout>
|
||||
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
@@ -43,9 +43,9 @@
|
||||
android:id="@+id/level_anchor"
|
||||
android:layout_width="13dp"
|
||||
android:layout_height="13dp"
|
||||
android:visibility="gone"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentBottom="true" />
|
||||
android:layout_alignParentBottom="true"
|
||||
android:visibility="gone" />
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout
|
||||
@@ -2545,4 +2545,57 @@
|
||||
android:layout_marginEnd="125dp"
|
||||
android:src="@mipmap/background_quick_gift_reminder"
|
||||
android:visibility="gone" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/dragon_immediate_participation"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="180dp"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="39dp"
|
||||
android:src="@mipmap/icon_live_dragon_money" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="-5dp"
|
||||
android:background="@drawable/background_dragon_immediate_participation"
|
||||
android:padding="1dp"
|
||||
android:text="@string/dragon_immediate_participation"
|
||||
android:textColor="#F9BA03"
|
||||
android:textSize="10sp"
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/dragon_immediate_participation_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="120dp"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="39dp"
|
||||
android:src="@mipmap/icon_live_dragon_money" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="45dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="-5dp"
|
||||
android:background="@drawable/background_dragon_immediate_participation"
|
||||
android:gravity="center"
|
||||
android:padding="1dp"
|
||||
android:text="00:00"
|
||||
android:textColor="#F9BA03"
|
||||
android:textSize="10sp"
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
BIN
live/src/main/res/mipmap-xhdpi/bg_god_guard_en.png
Normal file
|
After Width: | Height: | Size: 390 KiB |
BIN
live/src/main/res/mipmap-xhdpi/bg_king_guard_en.png
Normal file
|
After Width: | Height: | Size: 393 KiB |
BIN
live/src/main/res/mipmap-xhdpi/bg_star_guard_en.png
Normal file
|
After Width: | Height: | Size: 401 KiB |
BIN
live/src/main/res/mipmap-xxxhdpi/bg_dragon_expire.png
Normal file
|
After Width: | Height: | Size: 269 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 41 KiB |
BIN
live/src/main/res/mipmap-xxxhdpi/icon_guard_me.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
live/src/main/res/mipmap-xxxhdpi/icon_live_dragon_money_back.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 33 KiB |