diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3fedf332c..6c7ae6eb1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -86,6 +86,7 @@ + 3){ + return 3; + }else { + return child.size(); + } + } public void updateData(List mChild) { child.clear(); child.addAll(mChild); +// for (CustomSidebarChildModel childModel : mChild) { +// if (TextUtils.equals("1", childModel.getIsShow())) { +// child.add(childModel); +// } +// } notifyDataSetChanged(); } } diff --git a/common/src/main/java/com/yunbao/common/bean/BlindBoxInfoModel.java b/common/src/main/java/com/yunbao/common/bean/BlindBoxInfoModel.java new file mode 100644 index 000000000..b80c81c4c --- /dev/null +++ b/common/src/main/java/com/yunbao/common/bean/BlindBoxInfoModel.java @@ -0,0 +1,99 @@ +package com.yunbao.common.bean; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +public class BlindBoxInfoModel extends BaseModel { + /** + * "info":[{"item_name":["麒麟勛章饰品","麒麟頭像框饰品","麒麟坐騎饰品","水晶项链礼物","夢幻水晶球礼物","心動泡泡礼物","蝴蝶少女礼物","金色唱片礼物","鑽石禮盒礼物","紙花船礼物"],"threshold_value":268,"threshold_dress_name":"麒麟坐騎","dress_threshold_value":0,"blind_box_type":1,"blind_box_id":1636},{"item_name":["金鳳勛章饰品","金鳳頭像框饰品","金鳳坐騎饰品","浪漫氣球礼物","捕夢網礼物","仙女棒礼物","藍寶石鈴鐺礼物","榮耀星礼物","童話屋礼物","夢幻許願池礼物"],"threshold_value":198,"threshold_dress_name":"金鳳坐騎","dress_threshold_value":0,"blind_box_type":2,"blind_box_id":1637},{"item_name":["神龍勛章饰品","神龍頭像框饰品","神龍坐騎饰品","水晶玫瑰礼物","sweet香水礼物","甜蜜熱氣球礼物","風鈴舞動礼物","音樂噴泉礼物","星空列車礼物","漂洋過海來看你礼物"],"threshold_value":128,"threshold_dress_name":"神龍坐騎","dress_threshold_value":0,"blind_box_type":3,"blind_box_id":1638}] + */ + @SerializedName("item_name") + private List itemName; + @SerializedName("threshold_value") + private String thresholdValue = "0"; + @SerializedName("threshold_dress_name") + private String thresholdDressName; + @SerializedName("dress_threshold_value") + private String dressThresholdValue; + @SerializedName("blind_box_type") + private String blindBoxType; + @SerializedName("blind_box_id") + private String blindBoxId; + @SerializedName("blind_box_swf") + private String blindBoxSwf; + @SerializedName("threshold_effect_src") + private String thresholdEffectSrc; + + public String getThresholdEffectSrc() { + return thresholdEffectSrc; + } + + public BlindBoxInfoModel setThresholdEffectSrc(String thresholdEffectSrc) { + this.thresholdEffectSrc = thresholdEffectSrc; + return this; + } + + public String getBlindBoxSwf() { + return blindBoxSwf; + } + + public BlindBoxInfoModel setBlindBoxSwf(String blindBoxSwf) { + this.blindBoxSwf = blindBoxSwf; + return this; + } + + public List getItemName() { + return itemName; + } + + public BlindBoxInfoModel setItemName(List itemName) { + this.itemName = itemName; + return this; + } + + public String getThresholdValue() { + return thresholdValue; + } + + public BlindBoxInfoModel setThresholdValue(String thresholdValue) { + this.thresholdValue = thresholdValue; + return this; + } + + public String getThresholdDressName() { + return thresholdDressName; + } + + public BlindBoxInfoModel setThresholdDressName(String thresholdDressName) { + this.thresholdDressName = thresholdDressName; + return this; + } + + public String getDressThresholdValue() { + return dressThresholdValue; + } + + public BlindBoxInfoModel setDressThresholdValue(String dressThresholdValue) { + this.dressThresholdValue = dressThresholdValue; + return this; + } + + public String getBlindBoxType() { + return blindBoxType; + } + + public BlindBoxInfoModel setBlindBoxType(String blindBoxType) { + this.blindBoxType = blindBoxType; + return this; + } + + public String getBlindBoxId() { + return blindBoxId; + } + + public BlindBoxInfoModel setBlindBoxId(String blindBoxId) { + this.blindBoxId = blindBoxId; + return this; + } +} diff --git a/common/src/main/java/com/yunbao/common/bean/CustomSidebarChildModel.java b/common/src/main/java/com/yunbao/common/bean/CustomSidebarChildModel.java index e4cb4fc15..481f17600 100644 --- a/common/src/main/java/com/yunbao/common/bean/CustomSidebarChildModel.java +++ b/common/src/main/java/com/yunbao/common/bean/CustomSidebarChildModel.java @@ -31,7 +31,18 @@ public class CustomSidebarChildModel extends BaseModel { @SerializedName("activity_id") private String activityId; @SerializedName("flag") - private String flag; + private String flag = ""; + @SerializedName("is_show") + private String isShow; + + public String getIsShow() { + return isShow; + } + + public CustomSidebarChildModel setIsShow(String isShow) { + this.isShow = isShow; + return this; + } public String getFlag() { return flag; diff --git a/common/src/main/java/com/yunbao/common/bean/EnterRoomInfoModel.java b/common/src/main/java/com/yunbao/common/bean/EnterRoomInfoModel.java index 1a6af9aa9..a87e09e64 100644 --- a/common/src/main/java/com/yunbao/common/bean/EnterRoomInfoModel.java +++ b/common/src/main/java/com/yunbao/common/bean/EnterRoomInfoModel.java @@ -104,12 +104,22 @@ public class EnterRoomInfoModel extends BaseModel { private String anchorGoodnum; @SerializedName("jackpot_level") private String jackpotLevel="-1"; + @SerializedName("live_vote") + private LiveRoomVoteModel voteModel; public String getJackpotLevel() { return jackpotLevel; } + public LiveRoomVoteModel getVoteModel() { + return voteModel; + } + + public void setVoteModel(LiveRoomVoteModel voteModel) { + this.voteModel = voteModel; + } + public EnterRoomInfoModel setJackpotLevel(String jackpotLevel) { this.jackpotLevel = jackpotLevel; return this; @@ -488,6 +498,9 @@ public class EnterRoomInfoModel extends BaseModel { } public String getIsleave() { + if(StringUtil.isEmpty(isleave)){ + isleave="0"; + } return isleave; } diff --git a/common/src/main/java/com/yunbao/common/bean/LiveGiftBean.java b/common/src/main/java/com/yunbao/common/bean/LiveGiftBean.java index 458f6a9ab..c0777d57e 100644 --- a/common/src/main/java/com/yunbao/common/bean/LiveGiftBean.java +++ b/common/src/main/java/com/yunbao/common/bean/LiveGiftBean.java @@ -18,7 +18,7 @@ public class LiveGiftBean { // public static final int MARK_LUCK = 3; private int id; - private int type;//0 普通礼物 1是豪华礼物 + private int type;//0 普通礼物 1是贵族 2守护 3粉丝团 5盲盒礼物 private int mark;// 0 普通 1热门 2守护 3幸运 private String name; private String price; @@ -34,6 +34,17 @@ public class LiveGiftBean { private String isweek; private String end_time; private String tag; + @JSONField(name = "blind_box_type") + private int blind_box_type = 0; + + public int getBlind_box_type() { + return blind_box_type; + } + + public LiveGiftBean setBlind_box_type(int blind_box_type) { + this.blind_box_type = blind_box_type; + return this; + } public String getTag() { return tag; diff --git a/common/src/main/java/com/yunbao/common/bean/LiveRoomVoteModel.java b/common/src/main/java/com/yunbao/common/bean/LiveRoomVoteModel.java new file mode 100644 index 000000000..15420bbf1 --- /dev/null +++ b/common/src/main/java/com/yunbao/common/bean/LiveRoomVoteModel.java @@ -0,0 +1,193 @@ +package com.yunbao.common.bean; + +import com.google.gson.annotations.SerializedName; +import com.yunbao.common.utils.StringUtil; +import com.yunbao.common.utils.WordUtil; + +import java.util.List; + +/** + * 主播创建投票 + * { + * "live_vote_id": "20", + * "question_content": "123", + * "vote_end_time": 180, + * "option_content_first_num": 0, + * "option_content_second_num": 0, + * "users_id": [] + * } + */ +public class LiveRoomVoteModel extends BaseModel { + @SerializedName("vote_status") + private int status; + @SerializedName("live_vote_id") + private String voteId; + @SerializedName("question_content") + private String content; + @SerializedName("vote_end_time") + private int time; + @SerializedName("option_content_first_num") + private int answer1Num; + @SerializedName("option_content_second_num") + private int answer2Num; + @SerializedName("users_id") + private List userIds; + @SerializedName("option_content_first") + private String answer1; + @SerializedName("option_content_second") + private String answer2; + @SerializedName("result_zh") + private String resultZh; + @SerializedName("result_en") + private String resultEn; + @SerializedName("option_text") + private String optionText; + @SerializedName("option_content_key") + private String vote; + + private String liveUid; + + public String getLiveUid() { + return liveUid; + } + + public void setLiveUid(String liveUid) { + this.liveUid = liveUid; + } + + public String getAnswer1() { + return answer1; + } + + public void setAnswer1(String answer1) { + this.answer1 = answer1; + } + + public String getAnswer2() { + return answer2; + } + + public void setAnswer2(String answer2) { + this.answer2 = answer2; + } + + public String getVoteId() { + return voteId; + } + + public void setVoteId(String voteId) { + this.voteId = voteId; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public int getTime() { + return time; + } + + public void setTime(int time) { + this.time = time; + } + + public int getAnswer1Num() { + return answer1Num; + } + + public void setAnswer1Num(int answer1Num) { + this.answer1Num = answer1Num; + } + + public int getAnswer2Num() { + return answer2Num; + } + + public void setAnswer2Num(int answer2Num) { + this.answer2Num = answer2Num; + } + + public List getUserIds() { + return userIds; + } + + public void setUserIds(List userIds) { + this.userIds = userIds; + } + + public int getStatus() { + return status; + } + + public void setStatus(int status) { + this.status = status; + } + + public String getResult() { + return WordUtil.isNewZh() ? resultZh : resultEn; + } + + public String getResultZh() { + return resultZh; + } + + public void setResultZh(String resultZh) { + this.resultZh = resultZh; + } + + public String getResultEn() { + return resultEn; + } + + public void setResultEn(String resultEn) { + this.resultEn = resultEn; + } + + public String getOptionText() { + return optionText; + } + + public void setOptionText(String optionText) { + this.optionText = optionText; + } + + @Override + public String toString() { + return "LiveRoomVoteModel{" + + "status=" + status + + ", voteId='" + voteId + '\'' + + ", content='" + content + '\'' + + ", time=" + time + + ", answer1Num=" + answer1Num + + ", answer2Num=" + answer2Num + + ", userIds=" + userIds + + ", answer1='" + answer1 + '\'' + + ", answer2='" + answer2 + '\'' + + ", resultZh='" + resultZh + '\'' + + ", resultEn='" + resultEn + '\'' + + ", optionText='" + optionText + '\'' + + ", vote='" + vote + '\'' + + ", liveUid='" + liveUid + '\'' + + '}'; + } + + public String getVote() { + return vote; + } + + public void setVote(String vote) { + this.vote = vote; + } + + public boolean isVoteLeft() { + return vote.equals("option_content_first_num"); + } + + public boolean isVote() { + return !StringUtil.isEmpty(vote); + } +} diff --git a/common/src/main/java/com/yunbao/common/bean/UserBean.java b/common/src/main/java/com/yunbao/common/bean/UserBean.java index 9cdf1814f..0577d6263 100644 --- a/common/src/main/java/com/yunbao/common/bean/UserBean.java +++ b/common/src/main/java/com/yunbao/common/bean/UserBean.java @@ -50,7 +50,7 @@ public class UserBean implements Parcelable { private String fans_pic; private String gifticon; private String department_name; - private String token_rong=""; + private String token_rong = ""; private String noble_end_time; private String slide; private String users_type; @@ -66,6 +66,17 @@ public class UserBean implements Parcelable { private boolean randomPk; //随机天梯排位赛PK img,仅在主播PK时使用 private String mRankPkImgUrl; + //是否填写完整资料 + private int user_info_complete; + + public int getUserInfoComplete() { + return user_info_complete; + } + + public UserBean seUserInfoComplete(int userInfoComplete) { + this.user_info_complete = userInfoComplete; + return this; + } public boolean isRandomPk() { return randomPk; @@ -117,8 +128,8 @@ public class UserBean implements Parcelable { } public String getIs_bind() { - if(StringUtil.isEmpty(is_bind)){ - is_bind="0"; + if (StringUtil.isEmpty(is_bind)) { + is_bind = "0"; } return is_bind; } diff --git a/common/src/main/java/com/yunbao/common/dialog/AbsDialogPopupWindow.java b/common/src/main/java/com/yunbao/common/dialog/AbsDialogPopupWindow.java index 94503aa4b..c74e3ea45 100644 --- a/common/src/main/java/com/yunbao/common/dialog/AbsDialogPopupWindow.java +++ b/common/src/main/java/com/yunbao/common/dialog/AbsDialogPopupWindow.java @@ -16,6 +16,9 @@ public abstract class AbsDialogPopupWindow extends BottomPopupView { this.mContext = context; } + /** + * 参考配置 + */ public abstract void buildDialog(XPopup.Builder builder); public abstract int bindLayoutId(); diff --git a/common/src/main/java/com/yunbao/common/event/AllServerNotifyEvent.java b/common/src/main/java/com/yunbao/common/event/AllServerNotifyEvent.java new file mode 100644 index 000000000..c4baf0d10 --- /dev/null +++ b/common/src/main/java/com/yunbao/common/event/AllServerNotifyEvent.java @@ -0,0 +1,142 @@ +package com.yunbao.common.event; + +import com.google.gson.annotations.SerializedName; +import com.yunbao.common.bean.BaseModel; + +public class AllServerNotifyEvent extends BaseModel { + //礼物图标 + @SerializedName("gifticon") + private String giftIcon; + //用户名 + @SerializedName("userNiceName") + private String userNiceName; + //礼物名称 + @SerializedName("giftname") + private String giftName; + //盲盒名称 + @SerializedName("box_type_name") + private String boxTypeName; + //饰品名称 + @SerializedName("dress_name") + private String dressName; + //区分礼物还是饰品 lw 1 sp 0 + @SerializedName("gift_notification") + private String giftNotification; + //盲盒礼物ID + @SerializedName("blind_box_id") + private String blindBoxId; + //盲盒类型 + @SerializedName("box_type") + private String boxType; + //饰品图片 + @SerializedName("display_src") + private String displaySrc; + //主播名字 + @SerializedName("ancherName") + private String anchorName; + + public String getAnchorName() { + return anchorName; + } + + public AllServerNotifyEvent setAnchorName(String anchorName) { + this.anchorName = anchorName; + return this; + } + + public String getDisplaySrc() { + return displaySrc; + } + + public AllServerNotifyEvent setDisplaySrc(String displaySrc) { + this.displaySrc = displaySrc; + return this; + } + + public String getBoxType() { + return boxType; + } + + public AllServerNotifyEvent setBoxType(String boxType) { + this.boxType = boxType; + return this; + } + + public String getGiftIcon() { + return giftIcon; + } + + public AllServerNotifyEvent setGiftIcon(String giftIcon) { + this.giftIcon = giftIcon; + return this; + } + + public String getUserNiceName() { + return userNiceName; + } + + public AllServerNotifyEvent setUserNiceName(String userNiceName) { + this.userNiceName = userNiceName; + return this; + } + + public String getGiftName() { + return giftName; + } + + public AllServerNotifyEvent setGiftName(String giftName) { + this.giftName = giftName; + return this; + } + + public String getBoxTypeName() { + return boxTypeName; + } + + public AllServerNotifyEvent setBoxTypeName(String boxTypeName) { + this.boxTypeName = boxTypeName; + return this; + } + + public String getDressName() { + return dressName; + } + + public AllServerNotifyEvent setDressName(String dressName) { + this.dressName = dressName; + return this; + } + + public String getGiftNotification() { + return giftNotification; + } + + public AllServerNotifyEvent setGiftNotification(String giftNotification) { + this.giftNotification = giftNotification; + return this; + } + + public String getBlindBoxId() { + return blindBoxId; + } + + public AllServerNotifyEvent setBlindBoxId(String blindBoxId) { + this.blindBoxId = blindBoxId; + return this; + } + + @Override + public String toString() { + return "\n" + "AllServerNotifyEvent{" + "\n" + + "giftIcon='" + giftIcon + '\'' + "\n" + + ", userNiceName='" + userNiceName + '\'' + "\n" + + ", giftName='" + giftName + '\'' + "\n" + + ", boxTypeName='" + boxTypeName + '\'' + "\n" + + ", dressName='" + dressName + '\'' + "\n" + + ", giftNotification='" + giftNotification + '\'' + "\n" + + ", blindBoxId='" + blindBoxId + '\'' + "\n" + + ", boxType='" + boxType + '\'' + "\n" + + ", displaySrc='" + displaySrc + '\'' + "\n" + + '}' + "\n" ; + } +} diff --git a/common/src/main/java/com/yunbao/common/event/CompleteInformationEvent.java b/common/src/main/java/com/yunbao/common/event/CompleteInformationEvent.java new file mode 100644 index 000000000..7a5638e8a --- /dev/null +++ b/common/src/main/java/com/yunbao/common/event/CompleteInformationEvent.java @@ -0,0 +1,16 @@ +package com.yunbao.common.event; + +import com.yunbao.common.bean.BaseModel; + +public class CompleteInformationEvent extends BaseModel { + private boolean completeInformation = false; + + public boolean isCompleteInformation() { + return completeInformation; + } + + public CompleteInformationEvent setCompleteInformation(boolean completeInformation) { + this.completeInformation = completeInformation; + return this; + } +} diff --git a/common/src/main/java/com/yunbao/common/event/SendBlindGiftEvent.java b/common/src/main/java/com/yunbao/common/event/SendBlindGiftEvent.java new file mode 100644 index 000000000..6b0fd0b22 --- /dev/null +++ b/common/src/main/java/com/yunbao/common/event/SendBlindGiftEvent.java @@ -0,0 +1,559 @@ +package com.yunbao.common.event; + +import com.google.gson.annotations.SerializedName; +import com.yunbao.common.bean.BaseModel; + +public class SendBlindGiftEvent extends BaseModel { + + @SerializedName("uid") + private String uid; + @SerializedName("giftid") + private String giftid; + @SerializedName("type") + private String type; + @SerializedName("mark") + private String mark; + @SerializedName("wrap_gift_num") + private String wrapGiftNum; + @SerializedName("giftcount") + private String giftcount; + @SerializedName("totalcoin") + private String totalcoin; + @SerializedName("giftname") + private String giftname; + @SerializedName("giftnameen") + private String giftnameen; + @SerializedName("gifticon") + private String gifticon; + @SerializedName("swftime") + private String swftime; + @SerializedName("swftype") + private String swftype; + @SerializedName("swf") + private String swf; + @SerializedName("level") + private String level; + @SerializedName("medal_name") + private String medalName; + @SerializedName("medal_level") + private String medalLevel; + @SerializedName("coin") + private String coin; + @SerializedName("gold") + private String gold; + @SerializedName("votestotal") + private String votestotal; + @SerializedName("medalRankNum") + private String medalRankNum; + @SerializedName("ispk") + private String ispk; + @SerializedName("pkuid") + private String pkuid; + @SerializedName("pkuid1") + private String pkuid1; + @SerializedName("pkuid2") + private String pkuid2; + @SerializedName("pktotal1") + private String pktotal1; + @SerializedName("pktotal2") + private String pktotal2; + @SerializedName("active_total") + private String activeTotal; + @SerializedName("blind_box_status") + private String blindBoxStatus; + @SerializedName("gift_id") + private String giftId; + @SerializedName("gift_type") + private String giftType; + @SerializedName("needcoin") + private String needcoin; + @SerializedName("gift_msg") + private String giftMsg; + @SerializedName("gift_colour") + private String giftColour; + @SerializedName("box_type") + private String boxType; + @SerializedName("box_type_name") + private String boxTypeName; + @SerializedName("action") + private String action; + @SerializedName("dress_notification") + private String dressNotification; + @SerializedName("dress_type") + private Object dressType; + @SerializedName("dress_id") + private Object dressId; + @SerializedName("dress_name") + private String dressName; + @SerializedName("display_src") + private Object displaySrc; + @SerializedName("effect_src") + private Object effectSrc; + @SerializedName("dress_description") + private Object dressDescription; + @SerializedName("noble_dress") + private Object nobleDress; + @SerializedName("dress_msg") + private String dressMsg; + @SerializedName("dress_colour") + private String dressColour; + @SerializedName("dress_threshold_value") + private String dressThresholdValue; + @SerializedName("threshold_value") + private String thresholdValue; + @SerializedName("live_gift_notify") + private String liveGiftNotify; + @SerializedName("userNiceName") + private String userNiceName; + + public String getUserNiceName() { + return userNiceName; + } + + public String getThresholdValue() { + return thresholdValue; + } + + public SendBlindGiftEvent setThresholdValue(String thresholdValue) { + this.thresholdValue = thresholdValue; + return this; + } + + public SendBlindGiftEvent setUserNiceName(String userNiceName) { + this.userNiceName = userNiceName; + return this; + } + + public String getUid() { + return uid; + } + + public SendBlindGiftEvent setUid(String uid) { + this.uid = uid; + return this; + } + + public String getGiftid() { + return giftid; + } + + public SendBlindGiftEvent setGiftid(String giftid) { + this.giftid = giftid; + return this; + } + + public String getType() { + return type; + } + + public SendBlindGiftEvent setType(String type) { + this.type = type; + return this; + } + + public String getMark() { + return mark; + } + + public SendBlindGiftEvent setMark(String mark) { + this.mark = mark; + return this; + } + + public String getWrapGiftNum() { + return wrapGiftNum; + } + + public SendBlindGiftEvent setWrapGiftNum(String wrapGiftNum) { + this.wrapGiftNum = wrapGiftNum; + return this; + } + + public String getGiftcount() { + return giftcount; + } + + public SendBlindGiftEvent setGiftcount(String giftcount) { + this.giftcount = giftcount; + return this; + } + + public String getTotalcoin() { + return totalcoin; + } + + public SendBlindGiftEvent setTotalcoin(String totalcoin) { + this.totalcoin = totalcoin; + return this; + } + + public String getGiftname() { + return giftname; + } + + public SendBlindGiftEvent setGiftname(String giftname) { + this.giftname = giftname; + return this; + } + + public String getGiftnameen() { + return giftnameen; + } + + public SendBlindGiftEvent setGiftnameen(String giftnameen) { + this.giftnameen = giftnameen; + return this; + } + + public String getGifticon() { + return gifticon; + } + + public SendBlindGiftEvent setGifticon(String gifticon) { + this.gifticon = gifticon; + return this; + } + + public String getSwftime() { + return swftime; + } + + public SendBlindGiftEvent setSwftime(String swftime) { + this.swftime = swftime; + return this; + } + + public String getSwftype() { + return swftype; + } + + public SendBlindGiftEvent setSwftype(String swftype) { + this.swftype = swftype; + return this; + } + + public String getSwf() { + return swf; + } + + public SendBlindGiftEvent setSwf(String swf) { + this.swf = swf; + return this; + } + + public String getLevel() { + return level; + } + + public SendBlindGiftEvent setLevel(String level) { + this.level = level; + return this; + } + + public String getMedalName() { + return medalName; + } + + public SendBlindGiftEvent setMedalName(String medalName) { + this.medalName = medalName; + return this; + } + + public String getMedalLevel() { + return medalLevel; + } + + public SendBlindGiftEvent setMedalLevel(String medalLevel) { + this.medalLevel = medalLevel; + return this; + } + + public String getCoin() { + return coin; + } + + public SendBlindGiftEvent setCoin(String coin) { + this.coin = coin; + return this; + } + + public String getGold() { + return gold; + } + + public SendBlindGiftEvent setGold(String gold) { + this.gold = gold; + return this; + } + + public String getVotestotal() { + return votestotal; + } + + public SendBlindGiftEvent setVotestotal(String votestotal) { + this.votestotal = votestotal; + return this; + } + + public String getMedalRankNum() { + return medalRankNum; + } + + public SendBlindGiftEvent setMedalRankNum(String medalRankNum) { + this.medalRankNum = medalRankNum; + return this; + } + + public String getIspk() { + return ispk; + } + + public SendBlindGiftEvent setIspk(String ispk) { + this.ispk = ispk; + return this; + } + + public String isPkuid() { + return pkuid; + } + + public SendBlindGiftEvent setPkuid(String pkuid) { + this.pkuid = pkuid; + return this; + } + + public String getPkuid1() { + return pkuid1; + } + + public SendBlindGiftEvent setPkuid1(String pkuid1) { + this.pkuid1 = pkuid1; + return this; + } + + public String getPkuid2() { + return pkuid2; + } + + public SendBlindGiftEvent setPkuid2(String pkuid2) { + this.pkuid2 = pkuid2; + return this; + } + + public String getPktotal1() { + return pktotal1; + } + + public SendBlindGiftEvent setPktotal1(String pktotal1) { + this.pktotal1 = pktotal1; + return this; + } + + public String getPktotal2() { + return pktotal2; + } + + public SendBlindGiftEvent setPktotal2(String pktotal2) { + this.pktotal2 = pktotal2; + return this; + } + + public String getActiveTotal() { + return activeTotal; + } + + public SendBlindGiftEvent setActiveTotal(String activeTotal) { + this.activeTotal = activeTotal; + return this; + } + + public String isBlindBoxStatus() { + return blindBoxStatus; + } + + public SendBlindGiftEvent setBlindBoxStatus(String blindBoxStatus) { + this.blindBoxStatus = blindBoxStatus; + return this; + } + + public String getGiftId() { + return giftId; + } + + public SendBlindGiftEvent setGiftId(String giftId) { + this.giftId = giftId; + return this; + } + + public String getGiftType() { + return giftType; + } + + public SendBlindGiftEvent setGiftType(String giftType) { + this.giftType = giftType; + return this; + } + + public String getNeedcoin() { + return needcoin; + } + + public SendBlindGiftEvent setNeedcoin(String needcoin) { + this.needcoin = needcoin; + return this; + } + + public String getGiftMsg() { + return giftMsg; + } + + public SendBlindGiftEvent setGiftMsg(String giftMsg) { + this.giftMsg = giftMsg; + return this; + } + + + public String getGiftColour() { + return giftColour; + } + + public SendBlindGiftEvent setGiftColour(String giftColour) { + this.giftColour = giftColour; + return this; + } + + public String getBoxType() { + return boxType; + } + + public SendBlindGiftEvent setBoxType(String boxType) { + this.boxType = boxType; + return this; + } + + public String getBoxTypeName() { + return boxTypeName; + } + + public SendBlindGiftEvent setBoxTypeName(String boxTypeName) { + this.boxTypeName = boxTypeName; + return this; + } + + public String getAction() { + return action; + } + + public SendBlindGiftEvent setAction(String action) { + this.action = action; + return this; + } + + public String isDressNotification() { + return dressNotification; + } + + public SendBlindGiftEvent setDressNotification(String dressNotification) { + this.dressNotification = dressNotification; + return this; + } + + public Object getDressType() { + return dressType; + } + + public SendBlindGiftEvent setDressType(Object dressType) { + this.dressType = dressType; + return this; + } + + public Object getDressId() { + return dressId; + } + + public SendBlindGiftEvent setDressId(Object dressId) { + this.dressId = dressId; + return this; + } + + public String getDressName() { + return dressName; + } + + public SendBlindGiftEvent setDressName(String dressName) { + this.dressName = dressName; + return this; + } + + public Object getDisplaySrc() { + return displaySrc; + } + + public SendBlindGiftEvent setDisplaySrc(Object displaySrc) { + this.displaySrc = displaySrc; + return this; + } + + public Object getEffectSrc() { + return effectSrc; + } + + public SendBlindGiftEvent setEffectSrc(Object effectSrc) { + this.effectSrc = effectSrc; + return this; + } + + public Object getDressDescription() { + return dressDescription; + } + + public SendBlindGiftEvent setDressDescription(Object dressDescription) { + this.dressDescription = dressDescription; + return this; + } + + public Object getNobleDress() { + return nobleDress; + } + + public SendBlindGiftEvent setNobleDress(Object nobleDress) { + this.nobleDress = nobleDress; + return this; + } + + public String getDressMsg() { + return dressMsg; + } + + public SendBlindGiftEvent setDressMsg(String dressMsg) { + this.dressMsg = dressMsg; + return this; + } + + public String getDressColour() { + return dressColour; + } + + public SendBlindGiftEvent setDressColour(String dressColour) { + this.dressColour = dressColour; + return this; + } + + public String getDressThresholdValue() { + return dressThresholdValue; + } + + public SendBlindGiftEvent setDressThresholdValue(String dressThresholdValue) { + this.dressThresholdValue = dressThresholdValue; + return this; + } + + public String getLiveGiftNotify() { + return liveGiftNotify; + } + + public SendBlindGiftEvent setLiveGiftNotify(String liveGiftNotify) { + this.liveGiftNotify = liveGiftNotify; + return this; + } +} diff --git a/common/src/main/java/com/yunbao/common/http/CommonHttpUtil.java b/common/src/main/java/com/yunbao/common/http/CommonHttpUtil.java index c9d01ec8c..88f66388d 100644 --- a/common/src/main/java/com/yunbao/common/http/CommonHttpUtil.java +++ b/common/src/main/java/com/yunbao/common/http/CommonHttpUtil.java @@ -1,5 +1,6 @@ package com.yunbao.common.http; +import android.app.Dialog; import android.content.Context; import android.os.Build; import android.util.Log; @@ -21,6 +22,8 @@ import com.yunbao.common.manager.APKManager; import com.yunbao.common.manager.IMLoginManager; import com.yunbao.common.manager.LiveClassManager; import com.yunbao.common.manager.NewLevelManager; +import com.yunbao.common.utils.AppManager; +import com.yunbao.common.utils.DialogUitl; import com.yunbao.common.utils.L; import com.yunbao.common.utils.MD5Util; import com.yunbao.common.utils.SpUtil; @@ -224,7 +227,8 @@ public class CommonHttpUtil { } if (obj.containsKey("clarity")) { IMLoginManager.get(context).setClarity(obj.getString("clarity")); - } if (obj.containsKey("defaultBubbleUrl")) { + } + if (obj.containsKey("defaultBubbleUrl")) { IMLoginManager.get(context).setDefaultBubbleUrl(obj.getString("defaultBubbleUrl")); } } catch (Exception e) { @@ -232,6 +236,22 @@ public class CommonHttpUtil { String error = "info[0]:" + info[0] + "\n\n\n" + "Exception:" + e.getClass() + "---message--->" + e.getMessage(); ErrorActivity.forward("GetConfig接口返回数据异常", error); } + } else if (code == 1000) { + new DialogUitl + .Builder(context) + .setContent(msg) + .setCancelable(false) + .setClickCallback3(new DialogUitl.SimpleCallback3() { + @Override + public void onConfirmClick(Dialog dialog) { + AppManager.getInstance().AppExit(); + } + + @Override + public void onCancel() { + AppManager.getInstance().AppExit(); + } + }).build().show(); } } diff --git a/common/src/main/java/com/yunbao/common/http/PDLiveApi.java b/common/src/main/java/com/yunbao/common/http/PDLiveApi.java index 555f0108a..1e1fa32c3 100644 --- a/common/src/main/java/com/yunbao/common/http/PDLiveApi.java +++ b/common/src/main/java/com/yunbao/common/http/PDLiveApi.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import com.yunbao.common.bean.ActiveModel; import com.yunbao.common.bean.AnchorRecommendModel; import com.yunbao.common.bean.BaseModel; +import com.yunbao.common.bean.BlindBoxInfoModel; import com.yunbao.common.bean.CheckLiveModel; import com.yunbao.common.bean.ContributeModel; import com.yunbao.common.bean.CustomSidebarInfoModel; @@ -21,6 +22,7 @@ import com.yunbao.common.bean.LiveAnchorSayModel; import com.yunbao.common.bean.LiveDataInfoModel; import com.yunbao.common.bean.LiveInfoModel; import com.yunbao.common.bean.LiveRoomActivityBanner; +import com.yunbao.common.bean.LiveRoomVoteModel; import com.yunbao.common.bean.LiveStetUpStatusModel; import com.yunbao.common.bean.LiveTaskModel; import com.yunbao.common.bean.LiveUserMailBoxModel; @@ -398,7 +400,7 @@ public interface PDLiveApi { * 自由PK开始后调用接口扣掉次数 */ @GET("/api/public/?service=Livepk.setActivePkNum") - Observable> setFreePkNum(); + Observable>> setFreePkNum(); /** * 随机PK搜索用户 @@ -694,4 +696,38 @@ public interface PDLiveApi { */ @GET("/api/public/?service=User.setLogOff") Observable>> setLogOff(); + + /** + * 领取完善资料奖励 + */ + @GET("/api/public/?service=Task.userInfoTask") + Observable>> userInfoTask(); + + /** + * 创建投票 + */ + @GET("/api/public/?service=Live.createLiveVote") + Observable> createLiveVote(@Query("liveuid") String liveUid, + @Query("question_content") String content, + @Query("option_content_first") String first, + @Query("option_content_second") String second); + + /** + * 更新投票 + */ + @GET("/api/public/?service=Live.setLiveVote") + Observable>> updateLiveVote(@Query("liveuid") String liveUid, + @Query("option_content_key") String key); + + /** + * 主动结束投票 + */ + @GET("/api/public/?service=Live.endLiveVote") + Observable>> endLiveVote(@Query("liveuid") String liveUid); + + /** + * 获取盲盒礼物当前数据 + */ + @GET("/api/public/?service=Live.getBlindBoxInfo") + Observable>> getBlindBoxInfo(); } diff --git a/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java b/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java index 41bfecaaf..50dad56d9 100644 --- a/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java +++ b/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java @@ -8,6 +8,7 @@ import com.yunbao.common.Constants; import com.yunbao.common.R; import com.yunbao.common.bean.ActiveModel; import com.yunbao.common.bean.BaseModel; +import com.yunbao.common.bean.BlindBoxInfoModel; import com.yunbao.common.bean.CheckLiveModel; import com.yunbao.common.bean.CustomSidebarInfoModel; import com.yunbao.common.bean.DiscountsModel; @@ -22,6 +23,7 @@ import com.yunbao.common.bean.LiveAnchorSayModel; import com.yunbao.common.bean.LiveDataInfoModel; import com.yunbao.common.bean.LiveInfoModel; import com.yunbao.common.bean.LiveRoomActivityBanner; +import com.yunbao.common.bean.LiveRoomVoteModel; import com.yunbao.common.bean.LiveStetUpStatusModel; import com.yunbao.common.bean.LiveTaskModel; import com.yunbao.common.bean.LiveUserMailBoxModel; @@ -637,9 +639,9 @@ public class LiveNetManager { .setFreePkNum() .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) - .subscribe(new Consumer>() { + .subscribe(new Consumer>>() { @Override - public void accept(ResponseModel responseModel) throws Exception { + public void accept(ResponseModel> listResponseModel) throws Exception { } }, new Consumer() { @@ -1427,6 +1429,127 @@ public class LiveNetManager { }).isDisposed(); } + public void createLiveVote(String liveUid, String content, String first, String second, HttpCallback callback) { + API.get().pdLiveApi(mContext) + .createLiveVote(liveUid, content, first, second) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Consumer>() { + @Override + public void accept(ResponseModel listResponseModel) throws Exception { + if (callback != null) { + callback.onSuccess(listResponseModel.getData().getInfo()); + } + } + }, new Consumer() { + @Override + public void accept(Throwable throwable) throws Exception { + if (callback != null) { + callback.onError(throwable.getMessage()); + } + } + }).isDisposed(); + } + + public void updateLiveVote(String liveUid, boolean isLeftVote, HttpCallback callback) { + String key; + if (isLeftVote) {//是左边的投票 + key = "option_content_first_num"; + } else { + key = "option_content_second_num"; + } + API.get().pdLiveApi(mContext) + .updateLiveVote(liveUid, key) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Consumer>>() { + @Override + public void accept(ResponseModel> listResponseModel) throws Exception { + if (callback != null) { + callback.onSuccess(""); + } + } + }, new Consumer() { + @Override + public void accept(Throwable throwable) throws Exception { + if (callback != null) { + callback.onError(throwable.getMessage()); + } + } + }).isDisposed(); + } + + public void endLiveVote(String liveUid, HttpCallback callback) { + API.get().pdLiveApi(mContext) + .endLiveVote(liveUid) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Consumer>>() { + @Override + public void accept(ResponseModel> listResponseModel) throws Exception { + if (callback != null) { + callback.onSuccess(listResponseModel.getData().getMsg()); + } + } + }, new Consumer() { + @Override + public void accept(Throwable throwable) throws Exception { + if (callback != null) { + callback.onError(throwable.getMessage()); + } + } + }).isDisposed(); + } + + public void userInfoTask(HttpCallback callback) { + API.get().pdLiveApi(mContext) + .userInfoTask() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Consumer>>() { + @Override + public void accept(ResponseModel> listResponseModel) throws Exception { + if (callback != null) { + callback.onSuccess(listResponseModel.getData().getMsg()); + } + } + }, new Consumer() { + @Override + public void accept(Throwable throwable) throws Exception { + if (callback != null) { + callback.onError(mContext.getString(R.string.net_error)); + } + } + }).isDisposed(); + } + + /** + * 获取盲盒礼物信息 + * + * @param callback + */ + public void getBlindBoxInfo(HttpCallback> callback) { + API.get().pdLiveApi(mContext) + .getBlindBoxInfo() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Consumer>>() { + @Override + public void accept(ResponseModel> listResponseModel) throws Exception { + if (callback != null) { + callback.onSuccess(listResponseModel.getData().getInfo()); + } + } + }, new Consumer() { + @Override + public void accept(Throwable throwable) throws Exception { + if (callback != null) { + callback.onError(mContext.getString(R.string.net_error)); + } + } + }).isDisposed(); + } + /** * 直播间取消网络请求 */ diff --git a/common/src/main/java/com/yunbao/common/utils/AndroidBug5497Workaround.java b/common/src/main/java/com/yunbao/common/utils/AndroidBug5497Workaround.java index cc3f2aec0..a52dc7781 100644 --- a/common/src/main/java/com/yunbao/common/utils/AndroidBug5497Workaround.java +++ b/common/src/main/java/com/yunbao/common/utils/AndroidBug5497Workaround.java @@ -6,6 +6,10 @@ import android.view.View; import android.view.ViewTreeObserver; import android.widget.FrameLayout; +/** + * 修复全屏WebView输入法遮挡输入框的问题 + * GitHub + */ public class AndroidBug5497Workaround { // For more information, see https://issuetracker.google.com/issues/36911528 diff --git a/common/src/main/java/com/yunbao/common/utils/AppManager.java b/common/src/main/java/com/yunbao/common/utils/AppManager.java index 7101d3221..5bda4db57 100644 --- a/common/src/main/java/com/yunbao/common/utils/AppManager.java +++ b/common/src/main/java/com/yunbao/common/utils/AppManager.java @@ -121,7 +121,7 @@ public class AppManager { */ public static void runDebugCode(Runnable runnable) { if (BuildConfig.DEBUG) { - // runnable.run(); + runnable.run(); } } diff --git a/common/src/main/java/com/yunbao/common/utils/DialogUitl.java b/common/src/main/java/com/yunbao/common/utils/DialogUitl.java index 0e40c91ba..347023335 100644 --- a/common/src/main/java/com/yunbao/common/utils/DialogUitl.java +++ b/common/src/main/java/com/yunbao/common/utils/DialogUitl.java @@ -8,7 +8,6 @@ import android.os.Handler; import android.os.Looper; import android.text.InputFilter; import android.text.InputType; -import android.text.Spanned; import android.text.TextUtils; import android.text.format.DateFormat; import android.util.SparseArray; @@ -331,7 +330,7 @@ public class DialogUitl { private Context mContext; private String mTitle; private String mContent; - private String mConfrimString; + private String mConfirmString; private String mCancelString; private boolean mCancelable; private boolean mBackgroundDimEnabled;//显示区域以外是否使用黑色半透明背景 @@ -371,8 +370,8 @@ public class DialogUitl { return this; } - public Builder setConfrimString(String confrimString) { - mConfrimString = confrimString; + public Builder setConfirmString(String confirmString) { + mConfirmString = confirmString; return this; } @@ -460,8 +459,8 @@ public class DialogUitl { content.setFilters(new InputFilter[]{new InputFilter.LengthFilter(mLength)}); } TextView btnConfirm = (TextView) dialog.findViewById(R.id.btn_confirm); - if (!TextUtils.isEmpty(mConfrimString)) { - btnConfirm.setText(mConfrimString); + if (!TextUtils.isEmpty(mConfirmString)) { + btnConfirm.setText(mConfirmString); } TextView btnCancel = (TextView) dialog.findViewById(R.id.btn_cancel); if (!TextUtils.isEmpty(mCancelString)) { diff --git a/common/src/main/java/com/yunbao/common/utils/VersionUtil.java b/common/src/main/java/com/yunbao/common/utils/VersionUtil.java index 6527c7fc4..0bea8f7e9 100644 --- a/common/src/main/java/com/yunbao/common/utils/VersionUtil.java +++ b/common/src/main/java/com/yunbao/common/utils/VersionUtil.java @@ -50,7 +50,7 @@ public class VersionUtil { DialogUitl.Builder builder = new DialogUitl.Builder(context); builder.setTitle(context.getString(R.string.version_update)) .setContent(configBean.getUpdateDes()) - .setConfrimString(context.getString(R.string.version_immediate_use)) + .setConfirmString(context.getString(R.string.version_immediate_use)) .setCancelString(context.getString(R.string.version_not_update)) .setCancelable(false) .setClickCallback(new DialogUitl.SimpleCallback2() { @@ -81,7 +81,7 @@ public class VersionUtil { DialogUitl.Builder builder = new DialogUitl.Builder(context); builder.setTitle(context.getString(R.string.version_update)) .setContent(configBean.getUpdateDes()) - .setConfrimString(context.getString(R.string.version_immediate_use)) + .setConfirmString(context.getString(R.string.version_immediate_use)) .setCancelString(context.getString(R.string.version_not_update)) .setCancelable(false) .setClickCallback(new DialogUitl.SimpleCallback2() { @@ -111,7 +111,7 @@ public class VersionUtil { DialogUitl.Builder builder = new DialogUitl.Builder(context); builder.setTitle(context.getString(R.string.version_update)) .setContent(configBean.getUpdateDes()) - .setConfrimString(context.getString(R.string.version_immediate_use)) + .setConfirmString(context.getString(R.string.version_immediate_use)) .setCancelString(context.getString(R.string.version_not_update)) .setCancelable(false) .setClickCallback(new DialogUitl.SimpleCallback2() { @@ -134,7 +134,7 @@ public class VersionUtil { DialogUitl.Builder builder = new DialogUitl.Builder(context); builder.setTitle(context.getString(R.string.version_update)) .setContent(configBean.getUpdateDes()) - .setConfrimString(context.getString(R.string.version_immediate_use)) + .setConfirmString(context.getString(R.string.version_immediate_use)) .setCancelString(context.getString(R.string.version_not_update)) .setCancelable(false) .setClickCallback(new DialogUitl.SimpleCallback2() { diff --git a/common/src/main/java/com/yunbao/common/utils/WordUtil.java b/common/src/main/java/com/yunbao/common/utils/WordUtil.java index 41c0c83ff..9d58b9973 100644 --- a/common/src/main/java/com/yunbao/common/utils/WordUtil.java +++ b/common/src/main/java/com/yunbao/common/utils/WordUtil.java @@ -3,6 +3,7 @@ package com.yunbao.common.utils; import android.content.res.Resources; import com.yunbao.common.CommonAppContext; +import com.yunbao.common.manager.IMLoginManager; import java.util.Locale; import java.util.regex.Matcher; @@ -30,6 +31,9 @@ public class WordUtil { String language = locale.getLanguage(); return language.endsWith("zh"); } + public static boolean isNewZh(){ + return IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE; + } /** * 是否包含特殊字符 diff --git a/common/src/main/java/com/yunbao/common/views/CompleteInformationPopup.java b/common/src/main/java/com/yunbao/common/views/CompleteInformationPopup.java new file mode 100644 index 000000000..1440bd29f --- /dev/null +++ b/common/src/main/java/com/yunbao/common/views/CompleteInformationPopup.java @@ -0,0 +1,80 @@ +package com.yunbao.common.views; + +import android.content.Context; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.annotation.NonNull; + +import com.lxj.xpopup.core.CenterPopupView; +import com.yunbao.common.R; +import com.yunbao.common.glide.ImgLoader; +import com.yunbao.common.views.weight.ViewClicksAntiShake; + +public class CompleteInformationPopup extends CenterPopupView { + + private TextView completeInformationHint, completeInformation2; + private ImageView iconLive, expression; + private boolean isLeave; + private CompleteInformationCallBack callBack; + + public CompleteInformationPopup(@NonNull Context context, boolean isLeave, CompleteInformationCallBack callBack) { + super(context); + this.isLeave = isLeave; + this.callBack = callBack; + } + + // 返回自定义弹窗的布局离开 + @Override + protected int getImplLayoutId() { + return R.layout.view_complete_information; + } + + // 执行初始化操作,比如:findView,设置点击,或者任何你弹窗内的业务逻辑 + @Override + protected void onCreate() { + super.onCreate(); + initView(); + } + + private void initView() { + completeInformationHint = findViewById(R.id.complete_information_hint); + completeInformation2 = findViewById(R.id.complete_information2); + iconLive = findViewById(R.id.icon_live); + expression = findViewById(R.id.expression); + if (isLeave) { + completeInformationHint.setText(R.string.complete_information_hint3); + completeInformation2.setText(R.string.you_guide_me); + iconLive.setVisibility(GONE); + ImgLoader.display(getContext(), R.mipmap.icon_cry_face, expression); + } else { + ImgLoader.display(getContext(), R.mipmap.icon_smiling_face, expression); + completeInformation2.setText(R.string.complete_information_hint2); + completeInformationHint.setText(R.string.complete_information_hint); + } + ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.live_open_cancel), new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + dismiss(); + if (callBack != null) { + callBack.onCancel(); + } + } + }); + ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.live_open_ok), new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + dismiss(); + if (callBack != null) { + callBack.onSure(); + } + } + }); + } + + public interface CompleteInformationCallBack { + void onCancel(); + + void onSure(); + } +} diff --git a/common/src/main/java/com/yunbao/common/views/DrawerTaskChildViewHolder.java b/common/src/main/java/com/yunbao/common/views/DrawerTaskChildViewHolder.java index 5da6b3b3f..af7e22b5f 100644 --- a/common/src/main/java/com/yunbao/common/views/DrawerTaskChildViewHolder.java +++ b/common/src/main/java/com/yunbao/common/views/DrawerTaskChildViewHolder.java @@ -55,16 +55,22 @@ public class DrawerTaskChildViewHolder extends RecyclerView.ViewHolder { case "illumine": iconImg = R.mipmap.icon_052x; break; + default: + iconImg = R.mipmap.icon_013x; + break; } ImgLoader.display(itemView.getContext(), iconImg, icon); StringBuffer titleBuffer = new StringBuffer(); titleBuffer - .append(model.getTitle()) - .append("(") - .append(model.getNowNum()) - .append("/") - .append(model.getNeedNum()) - .append(")"); + .append(model.getTitle()); + if (!TextUtils.isEmpty(model.getNowNum())) { + titleBuffer.append("(") + .append(model.getNowNum()) + .append("/") + .append(model.getNeedNum()) + .append(")"); + } + title.setText(titleBuffer.toString()); subtitle.setText(model.getSubtitle()); if (TextUtils.equals(model.getStatus(), "0")) { @@ -86,27 +92,34 @@ public class DrawerTaskChildViewHolder extends RecyclerView.ViewHolder { ViewClicksAntiShake.clicksAntiShake(toReceive, new ViewClicksAntiShake.ViewClicksCallBack() { @Override public void onViewClicks() { - - - if (TextUtils.equals(model.getStatus(), "2")) { - LiveNetManager.get(itemView.getContext()) - .sendTaskGift(model.getFlag(), new HttpCallback() { - @Override - public void onSuccess(String data) { - if (listener != null) { - listener.giftSuccess(model, index); - } - } - - @Override - public void onError(String error) { - ToastUtil.show( R.string.net_error); - } - }); - } else { + if (TextUtils.equals(model.getSrc(), "to_me_information")) { Bus.get().post(new CustomDrawerPopupEvent() - .setDisMiss(true)); + .setDisMiss(true) + .setHtmlUrl(model.getSrc()) + .setScreen(TextUtils.equals(model.getShowType(), "2"))); + }else { + if (TextUtils.equals(model.getStatus(), "2")) { + LiveNetManager.get(itemView.getContext()) + .sendTaskGift(model.getFlag(), new HttpCallback() { + @Override + public void onSuccess(String data) { + if (listener != null) { + listener.giftSuccess(model, index); + } + } + + @Override + public void onError(String error) { + ToastUtil.show(R.string.net_error); + } + }); + } else { + Bus.get().post(new CustomDrawerPopupEvent() + .setDisMiss(true)); + } } + + } }); } diff --git a/common/src/main/java/com/yunbao/common/views/DrawerTaskViewHolder.java b/common/src/main/java/com/yunbao/common/views/DrawerTaskViewHolder.java index d34fe9c1e..b0f69758b 100644 --- a/common/src/main/java/com/yunbao/common/views/DrawerTaskViewHolder.java +++ b/common/src/main/java/com/yunbao/common/views/DrawerTaskViewHolder.java @@ -2,7 +2,6 @@ package com.yunbao.common.views; import android.text.TextUtils; import android.view.View; -import android.widget.FrameLayout; import android.widget.TextView; import androidx.annotation.NonNull; @@ -49,27 +48,35 @@ public class DrawerTaskViewHolder extends RecyclerView.ViewHolder { if (TextUtils.isEmpty(model.getSrc())) { ToastUtil.show("SHOWER_ERROR"); } else { - IMLoginModel userInfo = IMLoginManager.get(itemView.getContext()).getUserInfo(); - StringBuffer htmlUrl = new StringBuffer(); - if (model.getSrc().contains("?")) { - htmlUrl.append(CommonAppConfig.HOST).append("/").append(model.getSrc()) - .append("&uid=") - .append(userInfo.getId()) - .append("&token=") - .append(userInfo.getToken()); + if (TextUtils.equals(model.getSrc(), "to_me_information")) { + Bus.get().post(new CustomDrawerPopupEvent() + .setDisMiss(true) + .setHtmlUrl(model.getSrc()) + .setScreen(TextUtils.equals(model.getShowType(), "2"))); } else { - htmlUrl.append(CommonAppConfig.HOST) - .append("/") - .append(model.getSrc()) - .append("?uid=") - .append(userInfo.getId()) - .append("&token=") - .append(userInfo.getToken()); + IMLoginModel userInfo = IMLoginManager.get(itemView.getContext()).getUserInfo(); + StringBuffer htmlUrl = new StringBuffer(); + if (model.getSrc().contains("?")) { + htmlUrl.append(CommonAppConfig.HOST).append("/").append(model.getSrc()) + .append("&uid=") + .append(userInfo.getId()) + .append("&token=") + .append(userInfo.getToken()); + } else { + htmlUrl.append(CommonAppConfig.HOST) + .append("/") + .append(model.getSrc()) + .append("?uid=") + .append(userInfo.getId()) + .append("&token=") + .append(userInfo.getToken()); + }//资料 + Bus.get().post(new CustomDrawerPopupEvent() + .setDisMiss(true) + .setHtmlUrl(htmlUrl.toString()) + .setScreen(TextUtils.equals(model.getShowType(), "2"))); } - Bus.get().post(new CustomDrawerPopupEvent() - .setDisMiss(true) - .setHtmlUrl(htmlUrl.toString()) - .setScreen(TextUtils.equals(model.getShowType(), "2"))); + } diff --git a/common/src/main/java/com/yunbao/common/views/HintCustomPopup.java b/common/src/main/java/com/yunbao/common/views/HintCustomPopup.java index 59ec74044..ffa3fc62d 100644 --- a/common/src/main/java/com/yunbao/common/views/HintCustomPopup.java +++ b/common/src/main/java/com/yunbao/common/views/HintCustomPopup.java @@ -11,7 +11,7 @@ import com.yunbao.common.R; import com.yunbao.common.views.weight.ViewClicksAntiShake; public class HintCustomPopup extends CenterPopupView { - private String title, contest,openCancel,openOk; + private String title, contest, openCancel, openOk; private TextView liveOpenCancel, liveOpenOk; public HintCustomPopup(@NonNull Context context, String title, String contest) { @@ -30,7 +30,7 @@ public class HintCustomPopup extends CenterPopupView { } public HintCustomPopup setLiveOpenOk(String openOk) { - this.openOk = openOk; + this.openOk = openOk; return this; } @@ -48,8 +48,13 @@ public class HintCustomPopup extends CenterPopupView { TextView contestText = findViewById(R.id.contest); liveOpenCancel = findViewById(R.id.live_open_cancel); liveOpenOk = findViewById(R.id.live_open_ok); - liveOpenOk.setText(openOk); - liveOpenCancel.setText(openCancel); + if (!TextUtils.isEmpty(openOk)) { + liveOpenOk.setText(openOk); + } + if (!TextUtils.isEmpty(openCancel)) { + liveOpenCancel.setText(openCancel); + } + if (!TextUtils.isEmpty(title)) { titleText.setText(title); } diff --git a/common/src/main/java/com/yunbao/common/views/InputCustomPopup.java b/common/src/main/java/com/yunbao/common/views/InputCustomPopup.java index 25a8e22da..bfffdb1d5 100644 --- a/common/src/main/java/com/yunbao/common/views/InputCustomPopup.java +++ b/common/src/main/java/com/yunbao/common/views/InputCustomPopup.java @@ -12,6 +12,7 @@ import com.lxj.xpopup.animator.PopupAnimator; import com.lxj.xpopup.core.CenterPopupView; import com.yunbao.common.R; import com.yunbao.common.utils.ToastUtil; +import com.yunbao.common.views.weight.ViewClicksAntiShake; /** * 输入弹窗 @@ -54,15 +55,21 @@ public class InputCustomPopup extends CenterPopupView { findViewById(R.id.btn_confirm).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { - String textContent = content.getText().toString(); - if (TextUtils.isEmpty(textContent)) { - ToastUtil.show("输入内容不可为空"); - return; - } - if (listener != null) { - listener.onConfirm(textContent); - } - dismiss(); // 关闭弹窗 + ViewClicksAntiShake.clicksAntiShake(v, new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + String textContent = content.getText().toString(); + if (TextUtils.isEmpty(textContent)) { + ToastUtil.show("输入内容不可为空"); + return; + } + if (listener != null) { + listener.onConfirm(textContent); + } + dismiss(); // 关闭弹窗 + } + }); + } }); } diff --git a/common/src/main/java/com/yunbao/common/views/LiveRobotSayHelloCustomPopup.java b/common/src/main/java/com/yunbao/common/views/LiveRobotSayHelloCustomPopup.java index a04d91c13..eeef5348b 100644 --- a/common/src/main/java/com/yunbao/common/views/LiveRobotSayHelloCustomPopup.java +++ b/common/src/main/java/com/yunbao/common/views/LiveRobotSayHelloCustomPopup.java @@ -81,6 +81,10 @@ public class LiveRobotSayHelloCustomPopup extends BottomPopupView { findViewById(R.id.robot_add_content).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + if(robotMessageAdapter.getItemCount()>=20){ + ToastUtil.show(getContext().getString(R.string.rebot_config_auto_say_max)); + return; + } new XPopup.Builder(getContext()) .asCustom(new InputCustomPopup(getContext(), R.string.automatic_greeting_setting).setListener(new InputCustomPopup.InputCustomListener() { @Override diff --git a/common/src/main/java/com/yunbao/common/views/UpdateSexPopup.java b/common/src/main/java/com/yunbao/common/views/UpdateSexPopup.java new file mode 100644 index 000000000..ae8f1a7a9 --- /dev/null +++ b/common/src/main/java/com/yunbao/common/views/UpdateSexPopup.java @@ -0,0 +1,88 @@ +package com.yunbao.common.views; + +import android.content.Context; +import android.graphics.Color; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.annotation.NonNull; + +import com.lxj.xpopup.core.BottomPopupView; +import com.yunbao.common.R; +import com.yunbao.common.glide.ImgLoader; +import com.yunbao.common.views.weight.ViewClicksAntiShake; + +public class UpdateSexPopup extends BottomPopupView { + private int sex; + private LinearLayout linearMan, linearGirl; + private ImageView imageMan, imageGirl; + private TextView textMan, textGirl; + private UpdateSexCallBack callBack; + + public UpdateSexPopup(@NonNull Context context, int sex, UpdateSexCallBack callBack) { + super(context); + this.sex = sex; + this.callBack = callBack; + } + + // 返回自定义弹窗的布局 + @Override + protected int getImplLayoutId() { + return R.layout.view_update_sex_popup; + } + + // 执行初始化操作,比如:findView,设置点击,或者任何你弹窗内的业务逻辑 + @Override + protected void onCreate() { + super.onCreate(); + initView(); + } + + private void initView() { + linearMan = findViewById(R.id.linear_man); + imageMan = findViewById(R.id.image_man); + textMan = findViewById(R.id.text_man); + linearGirl = findViewById(R.id.linear_girl); + imageGirl = findViewById(R.id.image_girl); + textGirl = findViewById(R.id.text_girl); + if (sex == 0) { + ImgLoader.display(getContext(), R.mipmap.icon_male_default, imageMan); + ImgLoader.display(getContext(), R.mipmap.icon_female_default, imageGirl); + textMan.setTextColor(Color.parseColor("#999999")); + textGirl.setTextColor(Color.parseColor("#999999")); + } else if (sex == 1) { + ImgLoader.display(getContext(), R.mipmap.icon_male_highlighted, imageMan); + ImgLoader.display(getContext(), R.mipmap.icon_female_default, imageGirl); + textMan.setTextColor(Color.parseColor("#333333")); + textGirl.setTextColor(Color.parseColor("#999999")); + } else if (sex == 2) { + ImgLoader.display(getContext(), R.mipmap.icon_male_default, imageMan); + ImgLoader.display(getContext(), R.mipmap.icon_female_highlight, imageGirl); + textMan.setTextColor(Color.parseColor("#999999")); + textGirl.setTextColor(Color.parseColor("#333333")); + } + ViewClicksAntiShake.clicksAntiShake(linearMan, new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + dismiss(); + if (callBack != null) { + callBack.onSex(1); + } + } + }); + ViewClicksAntiShake.clicksAntiShake(linearGirl, new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + dismiss(); + if (callBack != null) { + callBack.onSex(2); + } + } + }); + } + + public interface UpdateSexCallBack { + void onSex(int sex); + } +} diff --git a/common/src/main/res/drawable/bg_blind_progres.xml b/common/src/main/res/drawable/bg_blind_progres.xml new file mode 100644 index 000000000..6b71da1c7 --- /dev/null +++ b/common/src/main/res/drawable/bg_blind_progres.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/src/main/res/drawable/bg_blind_progress.xml b/common/src/main/res/drawable/bg_blind_progress.xml new file mode 100644 index 000000000..7ae0982da --- /dev/null +++ b/common/src/main/res/drawable/bg_blind_progress.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/src/main/res/drawable/bg_blind_progress1.xml b/common/src/main/res/drawable/bg_blind_progress1.xml new file mode 100644 index 000000000..294f2eb04 --- /dev/null +++ b/common/src/main/res/drawable/bg_blind_progress1.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/src/main/res/layout/dialog_live_new_function.xml b/common/src/main/res/layout/dialog_live_new_function.xml index 7a444507f..8a1234d84 100644 --- a/common/src/main/res/layout/dialog_live_new_function.xml +++ b/common/src/main/res/layout/dialog_live_new_function.xml @@ -246,140 +246,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/src/main/res/layout/view_complete_information.xml b/common/src/main/res/layout/view_complete_information.xml new file mode 100644 index 000000000..287b6d288 --- /dev/null +++ b/common/src/main/res/layout/view_complete_information.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/src/main/res/layout/view_tsak_center_child.xml b/common/src/main/res/layout/view_tsak_center_child.xml index cec5c9451..987063fdb 100644 --- a/common/src/main/res/layout/view_tsak_center_child.xml +++ b/common/src/main/res/layout/view_tsak_center_child.xml @@ -2,7 +2,7 @@ @@ -27,17 +27,6 @@ android:textColor="#FFFFFF" android:textSize="14sp" /> - + \ No newline at end of file diff --git a/common/src/main/res/layout/view_update_sex_popup.xml b/common/src/main/res/layout/view_update_sex_popup.xml new file mode 100644 index 000000000..e4cabf867 --- /dev/null +++ b/common/src/main/res/layout/view_update_sex_popup.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/src/main/res/mipmap-mdpi/icon_live_qa.png b/common/src/main/res/mipmap-mdpi/icon_live_qa.png new file mode 100644 index 000000000..64ea87bed Binary files /dev/null and b/common/src/main/res/mipmap-mdpi/icon_live_qa.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/bg_gift_completely.png b/common/src/main/res/mipmap-xxhdpi/bg_gift_completely.png new file mode 100644 index 000000000..12a28ee25 Binary files /dev/null and b/common/src/main/res/mipmap-xxhdpi/bg_gift_completely.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_013x.png b/common/src/main/res/mipmap-xxhdpi/icon_013x.png new file mode 100644 index 000000000..cf6594873 Binary files /dev/null and b/common/src/main/res/mipmap-xxhdpi/icon_013x.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_cry_face.png b/common/src/main/res/mipmap-xxhdpi/icon_cry_face.png new file mode 100644 index 000000000..9a5279b2e Binary files /dev/null and b/common/src/main/res/mipmap-xxhdpi/icon_cry_face.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_female_default.png b/common/src/main/res/mipmap-xxhdpi/icon_female_default.png new file mode 100644 index 000000000..2a00a4293 Binary files /dev/null and b/common/src/main/res/mipmap-xxhdpi/icon_female_default.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_female_highlight.png b/common/src/main/res/mipmap-xxhdpi/icon_female_highlight.png new file mode 100644 index 000000000..36a708034 Binary files /dev/null and b/common/src/main/res/mipmap-xxhdpi/icon_female_highlight.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_live.png b/common/src/main/res/mipmap-xxhdpi/icon_live.png new file mode 100644 index 000000000..50a91c24e Binary files /dev/null and b/common/src/main/res/mipmap-xxhdpi/icon_live.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_male_default.png b/common/src/main/res/mipmap-xxhdpi/icon_male_default.png new file mode 100644 index 000000000..2d78ab3cf Binary files /dev/null and b/common/src/main/res/mipmap-xxhdpi/icon_male_default.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_male_highlighted.png b/common/src/main/res/mipmap-xxhdpi/icon_male_highlighted.png new file mode 100644 index 000000000..b7971d526 Binary files /dev/null and b/common/src/main/res/mipmap-xxhdpi/icon_male_highlighted.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_smiling_face.png b/common/src/main/res/mipmap-xxhdpi/icon_smiling_face.png new file mode 100644 index 000000000..7405dd2bd Binary files /dev/null and b/common/src/main/res/mipmap-xxhdpi/icon_smiling_face.png differ diff --git a/common/src/main/res/values-en-rUS/string.xml b/common/src/main/res/values-en-rUS/string.xml index 240b00fa7..94ecd406a 100644 --- a/common/src/main/res/values-en-rUS/string.xml +++ b/common/src/main/res/values-en-rUS/string.xml @@ -872,6 +872,7 @@ Limited ride And limited avatar frame Activity Basic tools Effect settings + Font settings Shield gift effect Shield car effect You are in the current live room @@ -1125,6 +1126,11 @@ Limited ride And limited avatar frame Where is the host doing badly~\nBrother, are you sure you want to unfollow? follow Heat Add + LOW + DEFAULT + HIGH + Select font size + confirm Private chat prompt A private buoy on the side of the broadcast room Dynamic message @@ -1143,4 +1149,48 @@ Limited ride And limited avatar frame Do you want to delete the account After clicking delete, it will take effect immediately and cannot be restored. Are you sure you want to continue? Confirm deletion + Fill And gift + Fill in the \'*\' option to complete + True love powder\nPhoto Frame(7 days) + 128 Golden Beans + True love powder\nMedal (7 days) + MAN + GIRL + Backpack, please check + Leave without a gift + Love you + Can you guide me + This gift is exclusive to the nobility~ + "This gift is exclusive to guardianship~ " + This gift is exclusive to the fan group~ + VIP + Open Guard + Open Fan group + QA + submit + cancel + question: + answer: + Do you want to end this voting early? + Yes + No + VOTE + %s
box disappears after %s seconds
+ Please complete the form. + Create Vote Error + Blind box + Send%smore must-have%s + Completing a must have + %s has been sent to your personalized dress up + Mini blind box + Collection blind box + PD blind box + Individual dressing + Can be obtained randomly, %s + I got %s %s + Obtained, %s + Participate in + %s is extracted from %s + %S sent to %s + Over the maximum value diff --git a/common/src/main/res/values-zh-rHK/strings.xml b/common/src/main/res/values-zh-rHK/strings.xml index aac081a1b..2250a1b9c 100644 --- a/common/src/main/res/values-zh-rHK/strings.xml +++ b/common/src/main/res/values-zh-rHK/strings.xml @@ -1144,4 +1144,48 @@ 是否刪除賬號 點擊刪除後即刻生效,且不可恢復,您確認要繼續嗎? 確認刪除 + 該禮物是貴族專屬禮物噢~ + 該禮物是守護專屬禮物噢~ + "該禮物是粉絲團專屬禮物噢~ " + 開通貴族 + 開通守護 + 開通粉絲團 + 發啟問答 + 發啟問答 + 取消 + 問題設置: + 答案設置: + 是否提前結束本次投票? + + + 投票中 + %s
問答框%s秒后消失
+ 請完整填寫 + 填寫“*”的選項可完成 + 真愛粉\n頭像框(7天) + 128金豆 + 真愛粉\n勛章(7天) + 男生 + 女生 + 已將獎勵發送至您的背包,請注意查看。 + 離開會讓您失去獎勵,您確認離開嗎? + 愛你,愛你 + 指導下我好嗎 + 完整填寫領大禮 + 投票創建失敗 + 迷你盲盒 + 再送%s个必得%s + 已将%s发送至您的个性装扮 + PD盲盒 + 典藏盲盒 + 个性装扮 + 可随机获得,%s + 已获得,%s,%s + 已获得,%s + 完成必得 + 盲盒榜 + 參與 + %s在%s中抽取到了 + %S送给了%s + 超过最大值 diff --git a/common/src/main/res/values-zh-rTW/strings.xml b/common/src/main/res/values-zh-rTW/strings.xml index d46e5a539..c928ed64d 100644 --- a/common/src/main/res/values-zh-rTW/strings.xml +++ b/common/src/main/res/values-zh-rTW/strings.xml @@ -1143,4 +1143,48 @@ 是否刪除賬號 點擊刪除後即刻生效,且不可恢復,您確認要繼續嗎? 確認刪除 + 該禮物是貴族專屬禮物噢~ + 該禮物是守護專屬禮物噢~ + "該禮物是粉絲團專屬禮物噢~ " + 開通貴族 + 開通守護 + 開通粉絲團 + 發啟問答 + 發啟問答 + 取消 + 問題設置: + 答案設置: + 是否提前結束本次投票? + + + 投票中 + %s
問答框%s秒后消失
+ 請完整填寫 + 填寫“*”的選項可完成 + 真愛粉\n頭像框(7天) + 128金豆 + 真愛粉\n勛章(7天) + 男生 + 女生 + 已將獎勵發送至您的背包,請注意查看。 + 離開會讓您失去獎勵,您確認離開嗎? + 愛你,愛你 + 指導下我好嗎 + 完整填寫領大禮 + 投票創建失敗 + 迷你盲盒 + 再送%s个必得%s + 已将%s发送至您的个性装扮 + PD盲盒 + 典藏盲盒 + 个性装扮 + 可随机获得,%s + 已获得,%s,%s + 已获得,%s + 完成必得 + 盲盒榜 + 參與 + %s在%s中抽取到了 + %S送给了%s + 超过最大值 diff --git a/common/src/main/res/values-zh/strings.xml b/common/src/main/res/values-zh/strings.xml index aac081a1b..d6b8c690f 100644 --- a/common/src/main/res/values-zh/strings.xml +++ b/common/src/main/res/values-zh/strings.xml @@ -1144,4 +1144,48 @@ 是否刪除賬號 點擊刪除後即刻生效,且不可恢復,您確認要繼續嗎? 確認刪除 + 完整填寫領大禮 + 該禮物是貴族專屬禮物噢~ + 該禮物是守護專屬禮物噢~ + "該禮物是粉絲團專屬禮物噢~ " + 開通貴族 + 開通守護 + 開通粉絲團 + 發啟問答 + 發啟問答 + 取消 + 問題設置: + 答案設置: + 是否提前結束本次投票? + + + 投票中 + %s
問答框%s秒后消失
+ 請完整填寫 + 填寫“*”的選項可完成 + 真愛粉\n頭像框(7天) + 128金豆 + 真愛粉\n勛章(7天) + 男生 + 女生 + 已將獎勵發送至您的背包,請注意查看。 + 離開會讓您失去獎勵,您確認離開嗎? + 愛你,愛你 + 指導下我好嗎 + 再送%s个必得%s + 已将%s发送至您的个性装扮 + 迷你盲盒 + 典藏盲盒 + PD盲盒 + 投票創建失敗 + 个性装扮 + 可随机获得,%s + 已获得,%s,%s + 已获得,%s + 完成必得 + 盲盒榜 + 參與 + %s在%s中抽取到了 + %S送给了%s + 超过最大值 diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml index ea893a064..3f0fb1775 100644 --- a/common/src/main/res/values/strings.xml +++ b/common/src/main/res/values/strings.xml @@ -1150,4 +1150,48 @@ Limited ride And limited avatar frame
Do you want to delete the account After clicking delete, it will take effect immediately and cannot be restored. Are you sure you want to continue? Confirm deletion + This gift is exclusive to the nobility~ + This gift is exclusive to guardianship~ + This gift is exclusive to the fan group~ + VIP + Open Guard + Open Fan group + QA + submit + cancel + question: + answer: + Do you want to end this voting early? + Yes + No + VOTE + %s
box disappears after %s seconds
+ Please complete the form. + Fill And gift + Fill in the \'*\' option to complete + True love powder\nPhoto Frame(7 days) + 128 Golden Beans + True love powder\nMedal (7 days) + MAN + GIRL + Backpack, please check + Leave without a gift + Love you + Can you guide me + Send%smore must-have%s + %s has been sent to your personalized dress up + Mini blind box + Collection blind box + PD blind box + Individual dressing + Can be obtained randomly, %s + I got %s %s + Obtained, %s + Completing a must have + Blind box + Participate in + %s is extracted from %s + %S sent to %s + Create Vote Error + Over the maximum value diff --git a/common/src/main/res/values/style.xml b/common/src/main/res/values/style.xml index f58f596c4..c444de78d 100644 --- a/common/src/main/res/values/style.xml +++ b/common/src/main/res/values/style.xml @@ -93,9 +93,10 @@