diff --git a/common/build.gradle b/common/build.gradle index ee2940bd3..6af4cf4c7 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -191,7 +191,7 @@ dependencies { api 'com.github.princekin-f:EasyFloat:2.0.4' api files('libs/Msc.jar') - api 'com.github.li-xiaojun:XPopup:2.9.1' + api 'com.github.li-xiaojun:XPopup:2.10.0' api 'com.github.shenbengit:PagerGridLayoutManager:1.1.7' //选择器 diff --git a/common/src/main/java/com/yunbao/common/bean/BattlePassPoints.java b/common/src/main/java/com/yunbao/common/bean/BattlePassPoints.java new file mode 100644 index 000000000..add65fdb2 --- /dev/null +++ b/common/src/main/java/com/yunbao/common/bean/BattlePassPoints.java @@ -0,0 +1,175 @@ +package com.yunbao.common.bean; + +import com.google.gson.annotations.SerializedName; + +public class BattlePassPoints extends BaseModel{ + private int id; + private int type; + @SerializedName("rewards_name") + private String rewardsName; + @SerializedName("rewards_id") + private int rewardsId; + @SerializedName("image_url") + private String imageUrl; + @SerializedName("points_threshold") + private String pointsThreshold; + @SerializedName("points_threshold_text") + private String pointsThresholdText; + @SerializedName("rewards_value") + private String rewardsValue; + @SerializedName("battle_pass_level") + private int battlePassLevel; + @SerializedName("exchange_quantity") + private int exchangeQuantity; + @SerializedName("live_battle_pass_type_id") + private int liveBattlePassTypeId; + private String description; + @SerializedName("restrict_time") + private int restrictTime; + private int sort; + @SerializedName("exchange_status") + private int exchangeStatus; + @SerializedName("user_quinty_count") + private int userQuintyCount; + @SerializedName("exchange_status_remark") + private String exchangeMark; + + public BattlePassPoints() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + + public String getRewardsName() { + return rewardsName; + } + + public void setRewardsName(String rewardsName) { + this.rewardsName = rewardsName; + } + + public int getRewardsId() { + return rewardsId; + } + + public void setRewardsId(int rewardsId) { + this.rewardsId = rewardsId; + } + + public String getImageUrl() { + return imageUrl; + } + + public void setImageUrl(String imageUrl) { + this.imageUrl = imageUrl; + } + + public String getPointsThreshold() { + return pointsThreshold; + } + + public void setPointsThreshold(String pointsThreshold) { + this.pointsThreshold = pointsThreshold; + } + + public String getRewardsValue() { + return rewardsValue; + } + + public void setRewardsValue(String rewardsValue) { + this.rewardsValue = rewardsValue; + } + + public int getBattlePassLevel() { + return battlePassLevel; + } + + public void setBattlePassLevel(int battlePassLevel) { + this.battlePassLevel = battlePassLevel; + } + + public int getExchangeQuantity() { + return exchangeQuantity; + } + + public void setExchangeQuantity(int exchangeQuantity) { + this.exchangeQuantity = exchangeQuantity; + } + + public int getLiveBattlePassTypeId() { + return liveBattlePassTypeId; + } + + public void setLiveBattlePassTypeId(int liveBattlePassTypeId) { + this.liveBattlePassTypeId = liveBattlePassTypeId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public int getRestrictTime() { + return restrictTime; + } + + public void setRestrictTime(int restrictTime) { + this.restrictTime = restrictTime; + } + + public int getSort() { + return sort; + } + + public void setSort(int sort) { + this.sort = sort; + } + + public int getExchangeStatus() { + return exchangeStatus; + } + + public void setExchangeStatus(int exchangeStatus) { + this.exchangeStatus = exchangeStatus; + } + + public int getUserQuintyCount() { + return userQuintyCount; + } + + public void setUserQuintyCount(int userQuintyCount) { + this.userQuintyCount = userQuintyCount; + } + + public String getExchangeMark() { + return exchangeMark; + } + + public void setExchangeMark(String exchangeMark) { + this.exchangeMark = exchangeMark; + } + + public String getPointsThresholdText() { + return pointsThresholdText; + } + + public void setPointsThresholdText(String pointsThresholdText) { + this.pointsThresholdText = pointsThresholdText; + } +} diff --git a/common/src/main/java/com/yunbao/common/bean/BattlePassTask.java b/common/src/main/java/com/yunbao/common/bean/BattlePassTask.java new file mode 100644 index 000000000..ae19dfe6c --- /dev/null +++ b/common/src/main/java/com/yunbao/common/bean/BattlePassTask.java @@ -0,0 +1,157 @@ +package com.yunbao.common.bean; + +import android.content.Context; + +import com.google.gson.annotations.SerializedName; +import com.yunbao.common.utils.WordUtil; + +import java.util.List; + +public class BattlePassTask extends BaseModel { + private List daily;// 每日任务 + private List season;// 每期任务 + + public BattlePassTask() { + } + + public List getDaily() { + return daily; + } + + public void setDaily(List daily) { + this.daily = daily; + } + + public List getSeason() { + return season; + } + + public void setSeason(List season) { + this.season = season; + } + + public static class Task { + private int id;// 任务ID + private String type;// 任务类型 + @SerializedName("task_success") + private int taskSuccess;// 任务可以重复的次数 + @SerializedName("name_en") + private String nameEn;// 任务名称英文 + @SerializedName("remark_en") + private String remarkEn;// 任务备注英文 + private String name;// 任务名称中文 + private String remark; // 任务备注中文 + @SerializedName("image_path") + private String imagePath;// 图标path + @SerializedName("user_task_success") + private int userTaskSuccess;// 用户完成的任务次数 + @SerializedName("received_task") + private int receivedTask;// 用户已经领取的任务数量 + @SerializedName("not_received_task") + private int notReceivedTask; // 用户未领取的任务数量 + public boolean isBuy(){ + return taskSuccess==0; + } + public String getNameText(){ + return WordUtil.isNewZh()?name:nameEn; + } + public String getRemarkText(){ + return WordUtil.isNewZh()?remark:remarkEn; + } + + public Task() { + } + + public Task(int id) { + this.id = id; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getTaskSuccess() { + return taskSuccess; + } + + public void setTaskSuccess(int taskSuccess) { + this.taskSuccess = taskSuccess; + } + + public String getNameEn() { + return nameEn; + } + + public void setNameEn(String nameEn) { + this.nameEn = nameEn; + } + + public String getRemarkEn() { + return remarkEn; + } + + public void setRemarkEn(String remarkEn) { + this.remarkEn = remarkEn; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getImagePath() { + return imagePath; + } + + public void setImagePath(String imagePath) { + this.imagePath = imagePath; + } + + public int getUserTaskSuccess() { + return userTaskSuccess; + } + + public void setUserTaskSuccess(int userTaskSuccess) { + this.userTaskSuccess = userTaskSuccess; + } + + public int getReceivedTask() { + return receivedTask; + } + + public void setReceivedTask(int receivedTask) { + this.receivedTask = receivedTask; + } + + public int getNotReceivedTask() { + return notReceivedTask; + } + + public void setNotReceivedTask(int notReceivedTask) { + this.notReceivedTask = notReceivedTask; + } + } +} diff --git a/common/src/main/java/com/yunbao/common/bean/BattlePassUserInfoBean.java b/common/src/main/java/com/yunbao/common/bean/BattlePassUserInfoBean.java new file mode 100644 index 000000000..b305ea6e2 --- /dev/null +++ b/common/src/main/java/com/yunbao/common/bean/BattlePassUserInfoBean.java @@ -0,0 +1,156 @@ +package com.yunbao.common.bean; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +public class BattlePassUserInfoBean extends BaseModel{ + private String uid; + private int points; + @SerializedName("battle_pass_exp") + private int battlePassExp; + @SerializedName("battle_pass_user_records_1") + private int battlePassUserRecords1; + @SerializedName("battle_pass_user_records_2") + private int battlePassUserRecords2; + @SerializedName("battle_pass_user_records_3") + private int battlePassUserRecords3; + private int level; + @SerializedName("last_level_exp") + private int lastLevelExp; + @SerializedName("next_level_exp") + private int nextLevelExp; + private String id; + @SerializedName("battle_pass_name") + private String battlePassName; + @SerializedName("start_time") + private String startTime; + @SerializedName("end_time") + private String endTime; + @SerializedName("battle_pass_status") + private boolean battlePassStatus; + + private List live_battle_pass_type; + + public BattlePassUserInfoBean() { + } + public List getLive_battle_pass_type() { + return live_battle_pass_type; + } + + public void setLive_battle_pass_type(List live_battle_pass_type) { + this.live_battle_pass_type = live_battle_pass_type; + } + + public String getUid() { + return uid; + } + + public void setUid(String uid) { + this.uid = uid; + } + + public int getPoints() { + return points; + } + + public void setPoints(int points) { + this.points = points; + } + + public int getBattlePassExp() { + return battlePassExp; + } + + public void setBattlePassExp(int battlePassExp) { + this.battlePassExp = battlePassExp; + } + + public int getBattlePassUserRecords1() { + return battlePassUserRecords1; + } + + public void setBattlePassUserRecords1(int battlePassUserRecords1) { + this.battlePassUserRecords1 = battlePassUserRecords1; + } + + public int getBattlePassUserRecords2() { + return battlePassUserRecords2; + } + + public void setBattlePassUserRecords2(int battlePassUserRecords2) { + this.battlePassUserRecords2 = battlePassUserRecords2; + } + + public int getBattlePassUserRecords3() { + return battlePassUserRecords3; + } + + public void setBattlePassUserRecords3(int battlePassUserRecords3) { + this.battlePassUserRecords3 = battlePassUserRecords3; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public int getLastLevelExp() { + return lastLevelExp; + } + + public void setLastLevelExp(int lastLevelExp) { + this.lastLevelExp = lastLevelExp; + } + + public int getNextLevelExp() { + return nextLevelExp; + } + + public void setNextLevelExp(int nextLevelExp) { + this.nextLevelExp = nextLevelExp; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getBattlePassName() { + return battlePassName; + } + + public void setBattlePassName(String battlePassName) { + this.battlePassName = battlePassName; + } + + public String getStartTime() { + return startTime; + } + + public void setStartTime(String startTime) { + this.startTime = startTime; + } + + public String getEndTime() { + return endTime; + } + + public void setEndTime(String endTime) { + this.endTime = endTime; + } + + public boolean isBattlePassStatus() { + return battlePassStatus; + } + + public void setBattlePassStatus(boolean battlePassStatus) { + this.battlePassStatus = battlePassStatus; + } +} diff --git a/common/src/main/java/com/yunbao/common/bean/LiveBattlePassRewardsBean.java b/common/src/main/java/com/yunbao/common/bean/LiveBattlePassRewardsBean.java new file mode 100644 index 000000000..942e5d34d --- /dev/null +++ b/common/src/main/java/com/yunbao/common/bean/LiveBattlePassRewardsBean.java @@ -0,0 +1,162 @@ +package com.yunbao.common.bean; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; +import java.util.Map; + +public class LiveBattlePassRewardsBean extends BaseModel{ + private int level; + private List live_battle_pass_type; + private Map> live_battle_pass_rewards; + + public LiveBattlePassRewardsBean() { + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public List getLive_battle_pass_type() { + return live_battle_pass_type; + } + + public void setLive_battle_pass_type(List live_battle_pass_type) { + this.live_battle_pass_type = live_battle_pass_type; + } + + public Map> getLive_battle_pass_rewards() { + return live_battle_pass_rewards; + } + + public void setLive_battle_pass_rewards(Map> live_battle_pass_rewards) { + this.live_battle_pass_rewards = live_battle_pass_rewards; + } + + public static class BattlePassType extends BaseModel{ + private int id; + private String battle_pass_name; + private int sort; + private int diamond_value; + private int lock; + + public BattlePassType() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getBattle_pass_name() { + return battle_pass_name; + } + + public void setBattle_pass_name(String battle_pass_name) { + this.battle_pass_name = battle_pass_name; + } + + public int getSort() { + return sort; + } + + public void setSort(int sort) { + this.sort = sort; + } + + public int getDiamond_value() { + return diamond_value; + } + + public void setDiamond_value(int diamond_value) { + this.diamond_value = diamond_value; + } + + public int getLock() { + return lock; + } + + public void setLock(int lock) { + this.lock = lock; + } + } + public static class LiveBattlePassReward extends BaseModel{ + private int id; + @SerializedName("live_battle_pass_level") + private int liveBattlePassLevel; + @SerializedName("live_battle_pass_type_id") + private int liveBattlePassTypeId; + @SerializedName("reward_name") + private String rewardName; + @SerializedName("image_url") + private String imageUrl; + private int lock; + private int received; + + public LiveBattlePassReward() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getLiveBattlePassLevel() { + return liveBattlePassLevel; + } + + public void setLiveBattlePassLevel(int liveBattlePassLevel) { + this.liveBattlePassLevel = liveBattlePassLevel; + } + + public int getLiveBattlePassTypeId() { + return liveBattlePassTypeId; + } + + public void setLiveBattlePassTypeId(int liveBattlePassTypeId) { + this.liveBattlePassTypeId = liveBattlePassTypeId; + } + + public String getRewardName() { + return rewardName; + } + + public void setRewardName(String rewardName) { + this.rewardName = rewardName; + } + + public String getImageUrl() { + return imageUrl; + } + + public void setImageUrl(String imageUrl) { + this.imageUrl = imageUrl; + } + + public int getLock() { + return lock; + } + + public void setLock(int lock) { + this.lock = lock; + } + + public int getReceived() { + return received; + } + + public void setReceived(int received) { + this.received = received; + } + } +} diff --git a/common/src/main/java/com/yunbao/common/dialog/ActivateEliteBattleOrderPopupWindow.java b/common/src/main/java/com/yunbao/common/dialog/ActivateEliteBattleOrderPopupWindow.java index efe82b89d..5c96f8984 100644 --- a/common/src/main/java/com/yunbao/common/dialog/ActivateEliteBattleOrderPopupWindow.java +++ b/common/src/main/java/com/yunbao/common/dialog/ActivateEliteBattleOrderPopupWindow.java @@ -3,6 +3,7 @@ package com.yunbao.common.dialog; import android.app.Activity; import android.content.Context; import android.widget.Button; +import android.widget.TextView; import androidx.annotation.NonNull; @@ -11,6 +12,7 @@ import com.lxj.xpopup.core.CenterPopupView; import com.yunbao.common.R; import com.yunbao.common.utils.DeviceUtils; import com.yunbao.common.utils.DpUtil; +import com.yunbao.common.utils.WordUtil; import com.yunbao.common.views.weight.ViewClicksAntiShake; public class ActivateEliteBattleOrderPopupWindow extends CenterPopupView { @@ -45,12 +47,16 @@ public class ActivateEliteBattleOrderPopupWindow extends CenterPopupView { findViewById(R.id.gift_overvalue).setVisibility(VISIBLE); findViewById(R.id.gift_overvalue3).setVisibility(GONE); findViewById(R.id.enjoy_image).setVisibility(GONE); + findViewById(R.id.elites_image).setVisibility(VISIBLE); findViewById(R.id.gift_overvalue).setVisibility(VISIBLE); + ((TextView)findViewById(R.id.gift3_text)).setText(WordUtil.getNewString(R.string.gift_overvalue)); } else { findViewById(R.id.gift_overvalue).setVisibility(GONE); findViewById(R.id.gift_overvalue3).setVisibility(VISIBLE); findViewById(R.id.enjoy_image).setVisibility(VISIBLE); + findViewById(R.id.elites_image).setVisibility(GONE); findViewById(R.id.gift_overvalue).setVisibility(GONE); + ((TextView)findViewById(R.id.gift3_text)).setText(WordUtil.getNewString(R.string.gift_overvalue3)); } ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.war_order_close), new ViewClicksAntiShake.ViewClicksCallBack() { @Override @@ -61,7 +67,7 @@ public class ActivateEliteBattleOrderPopupWindow extends CenterPopupView { //中文按钮文字 StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append(spendMoney) - .append("鑽開通"); + .append(WordUtil.isNewZh()?"鑽開通":"Activate "); buttonWarOrder.setText(stringBuffer.toString()); ViewClicksAntiShake.clicksAntiShake(buttonWarOrder, new ViewClicksAntiShake.ViewClicksCallBack() { diff --git a/common/src/main/java/com/yunbao/common/dialog/LiberalBattlePassPopupWindow.java b/common/src/main/java/com/yunbao/common/dialog/LiberalBattlePassPopupWindow.java index b2767f518..dd57c1503 100644 --- a/common/src/main/java/com/yunbao/common/dialog/LiberalBattlePassPopupWindow.java +++ b/common/src/main/java/com/yunbao/common/dialog/LiberalBattlePassPopupWindow.java @@ -14,6 +14,7 @@ import com.yunbao.common.R; import com.yunbao.common.http.ResponseModel; import com.yunbao.common.http.base.HttpCallback; import com.yunbao.common.http.live.LiveNetManager; +import com.yunbao.common.utils.WordUtil; import com.yunbao.common.views.weight.ViewClicksAntiShake; public class LiberalBattlePassPopupWindow extends CenterPopupView { @@ -42,8 +43,10 @@ public class LiberalBattlePassPopupWindow extends CenterPopupView { liberalBattlePass = findViewById(R.id.liberal_battle_pass); //中文版 StringBuffer liberalBattlePassHint = new StringBuffer(); - liberalBattlePassHint.append("是否花費"); - liberalBattlePassHint.append(spendMoney).append(mElites ? "鑽石開通精英戰令!" : "鑽石開通尊享戰令!"); + liberalBattlePassHint.append(WordUtil.isNewZh()?"是否花費":"Did you spend "); + liberalBattlePassHint.append(spendMoney).append(mElites ? + WordUtil.isNewZh()?"鑽石開通精英戰令!":"diamonds to activate the Elite BattlePass": + WordUtil.isNewZh()?"鑽石開通尊享戰令!":"diamonds to activate the Luxury BattlePass"); //英文版 //设置样式 diff --git a/common/src/main/java/com/yunbao/common/dialog/RuleOfWarPopupWindow.java b/common/src/main/java/com/yunbao/common/dialog/RuleOfWarPopupWindow.java index fcf545bd6..9adbd3f05 100644 --- a/common/src/main/java/com/yunbao/common/dialog/RuleOfWarPopupWindow.java +++ b/common/src/main/java/com/yunbao/common/dialog/RuleOfWarPopupWindow.java @@ -1,16 +1,20 @@ package com.yunbao.common.dialog; import android.content.Context; +import android.widget.TextView; import androidx.annotation.NonNull; import com.lxj.xpopup.core.CenterPopupView; import com.yunbao.common.R; +import com.yunbao.common.http.base.HttpCallback; +import com.yunbao.common.http.live.LiveNetManager; public class RuleOfWarPopupWindow extends CenterPopupView { public RuleOfWarPopupWindow(@NonNull Context context) { super(context); } + private TextView rule; @Override protected int getImplLayoutId() { return R.layout.rule_of_war_popup; @@ -20,5 +24,21 @@ public class RuleOfWarPopupWindow extends CenterPopupView { @Override protected void onCreate() { super.onCreate(); + rule=findViewById(R.id.rule); + initData(); + } + private void initData(){ + LiveNetManager.get(getContext()) + .getBattlePassRule(new HttpCallback() { + @Override + public void onSuccess(String data) { + rule.setText(data); + } + + @Override + public void onError(String error) { + + } + }); } } diff --git a/common/src/main/java/com/yunbao/common/dialog/WarOrderExchangeDetailsPopupWindow.java b/common/src/main/java/com/yunbao/common/dialog/WarOrderExchangeDetailsPopupWindow.java index 88a410505..610c57a7c 100644 --- a/common/src/main/java/com/yunbao/common/dialog/WarOrderExchangeDetailsPopupWindow.java +++ b/common/src/main/java/com/yunbao/common/dialog/WarOrderExchangeDetailsPopupWindow.java @@ -63,7 +63,7 @@ public class WarOrderExchangeDetailsPopupWindow extends CenterPopupView { pointExchange = findViewById(R.id.point_exchange); orderLevel.setText(buyExp); BigDecimal needExpBigDecimal = new BigDecimal(buyExp).multiply(new BigDecimal(mScale)); - pointExchange.setText(String.format(WordUtil.getString(R.string.point_exchange), needExpBigDecimal.toString())); + pointExchange.setText(String.format("%s",needExpBigDecimal)); ImgLoader.display(getContext(), mImageUrl, exchangeParticulars); findViewById(R.id.sub).setOnClickListener(new OnClickListener() { @Override @@ -74,7 +74,7 @@ public class WarOrderExchangeDetailsPopupWindow extends CenterPopupView { buyExp = String.valueOf(buyExpBigDecimal.intValue()); orderLevel.setText(buyExp); BigDecimal needExpBigDecimal = buyExpBigDecimal.multiply(new BigDecimal(mScale)); - pointExchange.setText(String.format(WordUtil.getString(R.string.point_exchange), needExpBigDecimal.toString())); + pointExchange.setText(String.format("%s",needExpBigDecimal)); } } }); @@ -88,10 +88,16 @@ public class WarOrderExchangeDetailsPopupWindow extends CenterPopupView { buyExp = String.valueOf(buyExpBigDecimal.intValue()); orderLevel.setText(buyExp); BigDecimal needExpBigDecimal = buyExpBigDecimal.multiply(new BigDecimal(mScale)); - pointExchange.setText(String.format(WordUtil.getString(R.string.point_exchange), needExpBigDecimal.toString())); + pointExchange.setText(String.format("%s",needExpBigDecimal)); } } }); + findViewById(R.id.war_order_close).setOnClickListener(new OnClickListener() { + @Override + public void onClick(View view) { + dismiss(); + } + }); ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.point_exchange_linear), new ViewClicksAntiShake.ViewClicksCallBack() { @Override public void onViewClicks() { diff --git a/common/src/main/java/com/yunbao/common/fragment/BaseFragment.java b/common/src/main/java/com/yunbao/common/fragment/BaseFragment.java index f2fefa3eb..63e419780 100644 --- a/common/src/main/java/com/yunbao/common/fragment/BaseFragment.java +++ b/common/src/main/java/com/yunbao/common/fragment/BaseFragment.java @@ -70,6 +70,13 @@ public abstract class BaseFragment extends Fragment { * 请求数据 */ protected abstract void loadData(); + public void updateData(){ + + } + + protected T findViewById(int id){ + return contentView.findViewById(id); + } @Override public void onDestroy() { 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 01af5c38a..3b09f2fcb 100644 --- a/common/src/main/java/com/yunbao/common/http/PDLiveApi.java +++ b/common/src/main/java/com/yunbao/common/http/PDLiveApi.java @@ -5,6 +5,9 @@ import com.yunbao.common.bean.ActiveModel; import com.yunbao.common.bean.AnchorRecommendItemModel; import com.yunbao.common.bean.AnchorRecommendModel; import com.yunbao.common.bean.BaseModel; +import com.yunbao.common.bean.BattlePassPoints; +import com.yunbao.common.bean.BattlePassTask; +import com.yunbao.common.bean.BattlePassUserInfoBean; import com.yunbao.common.bean.BlindBoxInfoModel; import com.yunbao.common.bean.CheckLiveModel; import com.yunbao.common.bean.CheckRemainingBalance; @@ -31,6 +34,7 @@ import com.yunbao.common.bean.ListInfoMessageModel; import com.yunbao.common.bean.LiveAiRobotBean; import com.yunbao.common.bean.LiveAnchorCallMeModel; import com.yunbao.common.bean.LiveAnchorSayModel; +import com.yunbao.common.bean.LiveBattlePassRewardsBean; import com.yunbao.common.bean.LiveDataInfoModel; import com.yunbao.common.bean.LiveInfoModel; import com.yunbao.common.bean.LiveRoomActivityBanner; @@ -555,7 +559,7 @@ public interface PDLiveApi { /** * 机器人删除话术 */ - @GET("/api/public/?service=Live.delAiAutomaticSpeech ") + @GET("/api/public/?service=Live.delAiAutomaticSpeech") Observable>> delAiAutomaticSpeech( @Query("type") String type, @Query("id") String id @@ -1106,7 +1110,25 @@ public interface PDLiveApi { */ @GET("/api/public/?service=Livebattlepass.pointsExchange") Observable> pointsExchange( - @Query("battle_pass_points_id ") String battlePassPointsId, - @Query("count ") String count + @Query("battle_pass_points_id") String battlePassPointsId, + @Query("count") String count ); + @GET("/api/public/?service=Livebattlepass.getBattlePassUserInfo") + Observable> getBattlePassUserInfo(); + + @GET("/api/public/?service=Livebattlepass.getLiveBattlePassRewards") + Observable> getLiveBattlePassRewards(); + @GET("/api/public/?service=Livebattlepass.getRewards") + Observable>> getRewards( + @Query("live_battle_pass_level_id")String rewardLevelId, + @Query("live_battle_pass_rewards_id")String rewardId + ); + @GET("/api/public/?service=Livebattlepass.getBattlePassTask") + Observable> getBattlePassTask(); + @GET("/api/public/?service=Livebattlepass.getTask") + Observable>> getTask(@Query("task_id")String taskId); + @GET("/api/public/?service=Livebattlepass.getBattlePassPoints") + Observable>> getBattlePassPoints(); + @GET("/api/public/?service=Livebattlepass.battlePassRule") + Observable> battlePassRule(); } 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 41f0eb708..5d3cf9a68 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,9 @@ 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.BattlePassPoints; +import com.yunbao.common.bean.BattlePassTask; +import com.yunbao.common.bean.BattlePassUserInfoBean; import com.yunbao.common.bean.BlindBoxInfoModel; import com.yunbao.common.bean.CheckLiveModel; import com.yunbao.common.bean.CheckRemainingBalance; @@ -31,6 +34,7 @@ import com.yunbao.common.bean.ListInfoMessageModel; import com.yunbao.common.bean.LiveAiRobotBean; import com.yunbao.common.bean.LiveAnchorCallMeModel; import com.yunbao.common.bean.LiveAnchorSayModel; +import com.yunbao.common.bean.LiveBattlePassRewardsBean; import com.yunbao.common.bean.LiveDataInfoModel; import com.yunbao.common.bean.LiveInfoModel; import com.yunbao.common.bean.LiveRoomActivityBanner; @@ -2615,6 +2619,144 @@ public class LiveNetManager { } }).isDisposed(); } + public void getBattlePassUserInfo(HttpCallback callback) { + API.get().pdLiveApi(mContext) + .getBattlePassUserInfo() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(checkRemainingBalanceResponseModel -> { + if (callback != null) { + callback.onSuccess(checkRemainingBalanceResponseModel.getData().getInfo()); + } + }, new Consumer() { + @Override + public void accept(Throwable throwable) throws Exception { + throwable.printStackTrace(); + if (callback != null) { + callback.onError(mContext.getString(R.string.net_error)); + } + } + }).isDisposed(); + } + public void getLiveBattlePassRewards(HttpCallback callback) { + API.get().pdLiveApi(mContext) + .getLiveBattlePassRewards() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(checkRemainingBalanceResponseModel -> { + if (callback != null) { + callback.onSuccess(checkRemainingBalanceResponseModel.getData().getInfo()); + } + }, new Consumer() { + @Override + public void accept(Throwable throwable) throws Exception { + throwable.printStackTrace(); + if (callback != null) { + callback.onError(mContext.getString(R.string.net_error)); + } + } + }).isDisposed(); + } + + public void getRewards(String rewardLevelId,String rewardId,HttpCallback callback) { + API.get().pdLiveApi(mContext) + .getRewards(rewardLevelId, rewardId) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(responseModel -> { + if (callback != null) { + if (callback != null) { + callback.onSuccess(new HttpCallbackModel(responseModel.getData().getCode(), responseModel.getData().getMsg())); + } + } + }, new Consumer() { + @Override + public void accept(Throwable throwable) throws Exception { + throwable.printStackTrace(); + if (callback != null) { + callback.onError(mContext.getString(R.string.net_error)); + } + } + }).isDisposed(); + } + public void getBattlePassTask(HttpCallback callback) { + API.get().pdLiveApi(mContext) + .getBattlePassTask() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(checkRemainingBalanceResponseModel -> { + if (callback != null) { + callback.onSuccess(checkRemainingBalanceResponseModel.getData().getInfo()); + } + }, new Consumer() { + @Override + public void accept(Throwable throwable) throws Exception { + throwable.printStackTrace(); + if (callback != null) { + callback.onError(mContext.getString(R.string.net_error)); + } + } + }).isDisposed(); + } + public void getBattlePassTaskOver(String taskId,HttpCallback callback) { + API.get().pdLiveApi(mContext) + .getTask(taskId) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(responseModel -> { + if (callback != null) { + if (callback != null) { + callback.onSuccess(new HttpCallbackModel(responseModel.getData().getCode(), responseModel.getData().getMsg())); + } + } + }, new Consumer() { + @Override + public void accept(Throwable throwable) throws Exception { + throwable.printStackTrace(); + if (callback != null) { + callback.onError(mContext.getString(R.string.net_error)); + } + } + }).isDisposed(); + } + public void getBattlePassPoints(HttpCallback> callback) { + API.get().pdLiveApi(mContext) + .getBattlePassPoints() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(checkRemainingBalanceResponseModel -> { + if (callback != null) { + callback.onSuccess(checkRemainingBalanceResponseModel.getData().getInfo()); + } + }, new Consumer() { + @Override + public void accept(Throwable throwable) throws Exception { + throwable.printStackTrace(); + if (callback != null) { + callback.onError(mContext.getString(R.string.net_error)); + } + } + }).isDisposed(); + } + public void getBattlePassRule(HttpCallback callback) { + API.get().pdLiveApi(mContext) + .battlePassRule() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(checkRemainingBalanceResponseModel -> { + if (callback != null) { + callback.onSuccess(checkRemainingBalanceResponseModel.getData().getInfo()); + } + }, new Consumer() { + @Override + public void accept(Throwable throwable) throws Exception { + throwable.printStackTrace(); + if (callback != null) { + callback.onError(mContext.getString(R.string.net_error)); + } + } + }).isDisposed(); + } /** * 直播间取消网络请求 diff --git a/common/src/main/java/com/yunbao/common/utils/RouteUtil.java b/common/src/main/java/com/yunbao/common/utils/RouteUtil.java index 203f2448a..014623583 100644 --- a/common/src/main/java/com/yunbao/common/utils/RouteUtil.java +++ b/common/src/main/java/com/yunbao/common/utils/RouteUtil.java @@ -45,6 +45,7 @@ public class RouteUtil { public static final String PATH_RED_PACKET_INFO = "/main/RedPacketInfoActivity"; public static final String PATH_RED_PACKET_USER = "/main/RedPacketUsersActivity"; public static final String PATH_SELECT_AVATAR="/main/UserAvatarSelectActivity"; + public static final String PATH_BattlePassActivity="/main/BattlePassActivity"; public static void forwardFansActivity(String uid) { ARouter.getInstance().build(PATH_FANSACTIVITY) @@ -315,4 +316,12 @@ public class RouteUtil { ARouter.getInstance().build(PATH_SELECT_AVATAR) .navigation(); } + + /** + * 战令 + */ + public static void forwardBattlePass(){ + ARouter.getInstance().build(PATH_BattlePassActivity) + .navigation(); + } } 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 2c48546a4..52f651070 100644 --- a/common/src/main/java/com/yunbao/common/utils/WordUtil.java +++ b/common/src/main/java/com/yunbao/common/utils/WordUtil.java @@ -34,7 +34,8 @@ public class WordUtil { } public static boolean isNewZh() { - return IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE; + return IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE + || IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.TRADITIONAL_CHINESE ; } public static String getNewString(int res) { diff --git a/common/src/main/res/layout/activate_elite_battle_order_popup.xml b/common/src/main/res/layout/activate_elite_battle_order_popup.xml index 63cac1100..8eccea3fd 100644 --- a/common/src/main/res/layout/activate_elite_battle_order_popup.xml +++ b/common/src/main/res/layout/activate_elite_battle_order_popup.xml @@ -38,7 +38,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="15dp" - android:layout_marginTop="28dp" + android:layout_marginTop="20dp" android:layout_marginEnd="15dp"> + android:layout_marginTop="25dp">