diff --git a/common/build.gradle b/common/build.gradle index a84333437..50378ae27 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -216,7 +216,7 @@ dependencies { api 'com.yanzhenjie.recyclerview:x:1.3.2' //华为支付插件包 - //api project(':lib_huawei') +// api project(':lib_huawei') //google插件包 api project(':lib_google') diff --git a/common/src/main/java/com/yunbao/common/bean/GuardGetGuardUserInfoModel.java b/common/src/main/java/com/yunbao/common/bean/GuardGetGuardUserInfoModel.java index 7a8fcd48c..b1225176d 100644 --- a/common/src/main/java/com/yunbao/common/bean/GuardGetGuardUserInfoModel.java +++ b/common/src/main/java/com/yunbao/common/bean/GuardGetGuardUserInfoModel.java @@ -38,6 +38,17 @@ public class GuardGetGuardUserInfoModel extends BaseModel { private String userLanguage; @SerializedName("live_language") private String liveLanguage; + @SerializedName("is_open") + private String isOpen; + + public String getIsOpen() { + return isOpen; + } + + public GuardGetGuardUserInfoModel setIsOpen(String isOpen) { + this.isOpen = isOpen; + return this; + } public String getUid() { return uid; diff --git a/common/src/main/java/com/yunbao/common/bean/GuardModel.java b/common/src/main/java/com/yunbao/common/bean/GuardModel.java index c89531dcf..a13949fff 100644 --- a/common/src/main/java/com/yunbao/common/bean/GuardModel.java +++ b/common/src/main/java/com/yunbao/common/bean/GuardModel.java @@ -8,6 +8,17 @@ public class GuardModel extends BaseModel { private String type; @SerializedName("endtime") private String endtime; + @SerializedName("guard_type") + private String guardType; + + public String getGuardType() { + return guardType; + } + + public GuardModel setGuardType(String guardType) { + this.guardType = guardType; + return this; + } public String getType() { return type; diff --git a/common/src/main/java/com/yunbao/common/bean/GuardUserInfoModel.java b/common/src/main/java/com/yunbao/common/bean/GuardUserInfoModel.java index 07f46433f..e339879ca 100644 --- a/common/src/main/java/com/yunbao/common/bean/GuardUserInfoModel.java +++ b/common/src/main/java/com/yunbao/common/bean/GuardUserInfoModel.java @@ -27,7 +27,7 @@ public class GuardUserInfoModel extends BaseModel { @SerializedName("live_avatar") private String liveAvatar; @SerializedName("guard_type") - private String guardType; + private int guardType; @SerializedName("exp") private String exp; @SerializedName("level") @@ -38,6 +38,17 @@ public class GuardUserInfoModel extends BaseModel { private String userLanguage; @SerializedName("live_language") private String liveLanguage; + @SerializedName("is_open") + private String isOpen; + + public String getIsOpen() { + return isOpen; + } + + public GuardUserInfoModel setIsOpen(String isOpen) { + this.isOpen = isOpen; + return this; + } public String getUid() { return uid; @@ -75,11 +86,11 @@ public class GuardUserInfoModel extends BaseModel { return this; } - public String getGuardType() { + public int getGuardType() { return guardType; } - public GuardUserInfoModel setGuardType(String guardType) { + public GuardUserInfoModel setGuardType(int guardType) { this.guardType = guardType; return this; } diff --git a/common/src/main/java/com/yunbao/common/bean/NewGuardLevelModel.java b/common/src/main/java/com/yunbao/common/bean/NewGuardLevelModel.java new file mode 100644 index 000000000..8433114de --- /dev/null +++ b/common/src/main/java/com/yunbao/common/bean/NewGuardLevelModel.java @@ -0,0 +1,37 @@ +package com.yunbao.common.bean; + +import com.google.gson.annotations.SerializedName; + +public class NewGuardLevelModel extends BaseModel{ + + @SerializedName("guard_type") + private int guardType; + @SerializedName("cn") + private String cn; + @SerializedName("en") + private String en; + + public int getGuardType() { + return guardType; + } + + public void setGuardType(int guardType) { + this.guardType = guardType; + } + + public String getCn() { + return cn; + } + + public void setCn(String cn) { + this.cn = cn; + } + + public String getEn() { + return en; + } + + public void setEn(String en) { + this.en = en; + } +} diff --git a/common/src/main/java/com/yunbao/common/dialog/GuardBuyTipsDialog.java b/common/src/main/java/com/yunbao/common/dialog/GuardBuyTipsDialog.java index 27b8e9e19..25a7e4f61 100644 --- a/common/src/main/java/com/yunbao/common/dialog/GuardBuyTipsDialog.java +++ b/common/src/main/java/com/yunbao/common/dialog/GuardBuyTipsDialog.java @@ -5,7 +5,6 @@ import android.app.Dialog; import android.content.Context; import android.text.TextUtils; import android.view.View; -import android.widget.Button; import android.widget.TextView; import com.yunbao.common.R; @@ -43,39 +42,49 @@ public class GuardBuyTipsDialog { contentTextView.setVisibility(View.VISIBLE); buyTypeTextView.setVisibility(View.VISIBLE); content2.setVisibility(View.GONE); - if (!isOpen) { - if (!TextUtils.isEmpty(coin)) { - contentTextView.setText(context.getString(R.string.guard_buy_tips_1, coin)); - } - if (!TextUtils.isEmpty(content)) { - buyTypeTextView.setText("【" + content + "】"); - } + if (TextUtils.isEmpty(coin) && mGuardUserInfoModel == null && !isOpen && guardType == -200) { + content1.setVisibility(View.GONE); + contentTextView.setVisibility(View.VISIBLE); + buyTypeTextView.setVisibility(View.GONE); + content2.setVisibility(View.GONE); + contentTextView.setText(content); } else { - if (!TextUtils.isEmpty(coin)) { - contentTextView.setText(context.getString(R.string.guard_buy_tips_2, coin)); + if (!isOpen) { + if (!TextUtils.isEmpty(coin)) { + contentTextView.setText(context.getString(R.string.guard_buy_tips_1, coin)); + } + if (!TextUtils.isEmpty(content)) { + buyTypeTextView.setText("【" + content + "】"); + } + } else { + if (!TextUtils.isEmpty(coin)) { + contentTextView.setText(context.getString(R.string.guard_buy_tips_2, coin)); + } + if (!TextUtils.isEmpty(content)) { + buyTypeTextView.setText("【" + content + "】"); + } } - if (!TextUtils.isEmpty(content)) { - buyTypeTextView.setText("【" + content + "】"); - } - } - if (mGuardUserInfoModel != null) { - if (mGuardUserInfoModel.getGuardType() != 0) { - if (guardType < mGuardUserInfoModel.getGuardType()) { - content1.setVisibility(View.GONE); - contentTextView.setVisibility(View.GONE); - buyTypeTextView.setVisibility(View.GONE); - content2.setVisibility(View.VISIBLE); + if (mGuardUserInfoModel != null) { + if (mGuardUserInfoModel.getGuardType() != 0) { + if (TextUtils.equals(mGuardUserInfoModel.getIsOpen(), "1") && + guardType < mGuardUserInfoModel.getGuardType()) { + content1.setVisibility(View.GONE); + contentTextView.setVisibility(View.GONE); + buyTypeTextView.setVisibility(View.GONE); + content2.setVisibility(View.VISIBLE); - } else if (guardType==mGuardUserInfoModel.getGuardType()){ + } else if (TextUtils.equals(mGuardUserInfoModel.getIsOpen(), "1") && guardType > mGuardUserInfoModel.getGuardType()) { + content1.setVisibility(View.VISIBLE); + } else { + content1.setVisibility(View.GONE); + } + } else { content1.setVisibility(View.GONE); - }else { - content1.setVisibility(View.VISIBLE); } } else { content1.setVisibility(View.GONE); } - } else { - content1.setVisibility(View.GONE); + } dialog.findViewById(R.id.btn_cancel).setOnClickListener(new View.OnClickListener() { @@ -88,9 +97,9 @@ public class GuardBuyTipsDialog { btn_confirm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - if (content2.getVisibility()==View.VISIBLE){ + if (content2.getVisibility() == View.VISIBLE) { dialog.dismiss(); - }else { + } else { simpleCallback.onConfirmClick(dialog, ""); dialog.dismiss(); } diff --git a/common/src/main/java/com/yunbao/common/dialog/GuardUpgradePopup.java b/common/src/main/java/com/yunbao/common/dialog/GuardUpgradePopup.java index 8520bf64a..1d1fc7334 100644 --- a/common/src/main/java/com/yunbao/common/dialog/GuardUpgradePopup.java +++ b/common/src/main/java/com/yunbao/common/dialog/GuardUpgradePopup.java @@ -68,6 +68,7 @@ public class GuardUpgradePopup extends CenterPopupView { } else { hintStringBuffer.append("Your guardian level has reached level ") .append(mUpgradesModel.getLevel()) + .append(" You can receive the following rewards") ; } leave_hint.setText(hintStringBuffer.toString()); @@ -98,7 +99,7 @@ public class GuardUpgradePopup extends CenterPopupView { rewards_line3.setVisibility(VISIBLE); RewardsModel rewardsModel1 = mUpgradesModel.getRewards().get(0); RewardsModel rewardsModel2 = mUpgradesModel.getRewards().get(1); - RewardsModel rewardsModel3 = mUpgradesModel.getRewards().get(3); + RewardsModel rewardsModel3 = mUpgradesModel.getRewards().get(2); ImgLoader.display(getContext(), rewardsModel1.getImagePath(), rewards_img1); rewards_text1.setText(rewardsModel1.getRewardName()); @@ -148,11 +149,11 @@ public class GuardUpgradePopup extends CenterPopupView { IMLoginModel userInfo = IMLoginManager.get(getContext()).getUserInfo(); htmlUrl.append(CommonAppConfig.HOST) .append("/h5/Guard/level.html?") - .append("&token=") + .append("token=") .append(userInfo.getToken()) .append("&uid=") .append(userInfo.getId()) - .append("&&anchorUid=") + .append("&anchorUid=") .append(mLiveUid) .append("&isZh=") .append(((WordUtil.isNewZh()) ? "1" : "0")); diff --git a/common/src/main/java/com/yunbao/common/dialog/SkitCheckInWasSuccessfulPopup.java b/common/src/main/java/com/yunbao/common/dialog/SkitCheckInWasSuccessfulPopup.java new file mode 100644 index 000000000..b30192ef9 --- /dev/null +++ b/common/src/main/java/com/yunbao/common/dialog/SkitCheckInWasSuccessfulPopup.java @@ -0,0 +1,32 @@ +package com.yunbao.common.dialog; + +import android.content.Context; + +import androidx.annotation.NonNull; + +import com.lxj.xpopup.core.CenterPopupView; +import com.yunbao.common.R; +import com.yunbao.common.views.weight.ViewClicksAntiShake; + +public class SkitCheckInWasSuccessfulPopup extends CenterPopupView { + public SkitCheckInWasSuccessfulPopup(@NonNull Context context) { + super(context); + } + + @Override + protected int getImplLayoutId() { + return R.layout.skit_check_in_was_successful_popup; + } + + // 执行初始化操作,比如:findView,设置点击,或者任何你弹窗内的业务逻辑 + @Override + protected void onCreate() { + super.onCreate(); + ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.icon_slice_368), new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + dismiss(); + } + }); + } +} diff --git a/common/src/main/java/com/yunbao/common/event/AllServerNotifyFFGGGDJANEvent.java b/common/src/main/java/com/yunbao/common/event/AllServerNotifyFFGGGDJANEvent.java new file mode 100644 index 000000000..447dfa5ab --- /dev/null +++ b/common/src/main/java/com/yunbao/common/event/AllServerNotifyFFGGGDJANEvent.java @@ -0,0 +1,227 @@ +package com.yunbao.common.event; + +import com.google.gson.annotations.SerializedName; +import com.yunbao.common.bean.BaseModel; + +import java.util.List; + +public class AllServerNotifyFFGGGDJANEvent extends BaseModel { + + @SerializedName("_method_") + private String method; + @SerializedName("action") + private String action; + @SerializedName("msg_cn") + private String msgCn; + @SerializedName("msg_en") + private String msgEn; + @SerializedName("uid") + private String uid; + @SerializedName("liveuid") + private String liveuid; + @SerializedName("background_image") + private String backgroundImage; + @SerializedName("style") + private List style; + @SerializedName("jump_type") + private String jumpType; + @SerializedName("link") + private String link; + @SerializedName("button_image") + private String buttonImage; + @SerializedName("button_msg_cn") + private String buttonMsgCn; + @SerializedName("button_msg_en") + private String buttonMsgEn; + @SerializedName("button_style") + private List buttonStyle; + @SerializedName("h5_type") + private String h5Type; + + public String getH5Type() { + return h5Type; + } + + public AllServerNotifyFFGGGDJANEvent setH5Type(String h5Type) { + this.h5Type = h5Type; + return this; + } + + public String getMethod() { + return method; + } + + public void setMethod(String method) { + this.method = method; + } + + public String getAction() { + return action; + } + + public void setAction(String action) { + this.action = action; + } + + public String getMsgCn() { + return msgCn; + } + + public void setMsgCn(String msgCn) { + this.msgCn = msgCn; + } + + public String getMsgEn() { + return msgEn; + } + + public void setMsgEn(String msgEn) { + this.msgEn = msgEn; + } + + public String getUid() { + return uid; + } + + public void setUid(String uid) { + this.uid = uid; + } + + public String getLiveuid() { + return liveuid; + } + + public void setLiveuid(String liveuid) { + this.liveuid = liveuid; + } + + public String getBackgroundImage() { + return backgroundImage; + } + + public void setBackgroundImage(String backgroundImage) { + this.backgroundImage = backgroundImage; + } + + public List getStyle() { + return style; + } + + public void setStyle(List style) { + this.style = style; + } + + public String getJumpType() { + return jumpType; + } + + public void setJumpType(String jumpType) { + this.jumpType = jumpType; + } + + public String getLink() { + return link; + } + + public void setLink(String link) { + this.link = link; + } + + public String getButtonImage() { + return buttonImage; + } + + public void setButtonImage(String buttonImage) { + this.buttonImage = buttonImage; + } + + public String getButtonMsgCn() { + return buttonMsgCn; + } + + public void setButtonMsgCn(String buttonMsgCn) { + this.buttonMsgCn = buttonMsgCn; + } + + public String getButtonMsgEn() { + return buttonMsgEn; + } + + public void setButtonMsgEn(String buttonMsgEn) { + this.buttonMsgEn = buttonMsgEn; + } + + public List getButtonStyle() { + return buttonStyle; + } + + public void setButtonStyle(List buttonStyle) { + this.buttonStyle = buttonStyle; + } + + public static class StyleDTO { + @SerializedName("str_cn") + private String strCn; + @SerializedName("str_en") + private String strEn; + @SerializedName("colour") + private String colour; + + public String getStrCn() { + return strCn; + } + + public void setStrCn(String strCn) { + this.strCn = strCn; + } + + public String getStrEn() { + return strEn; + } + + public void setStrEn(String strEn) { + this.strEn = strEn; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + } + + public static class ButtonStyleDTO { + @SerializedName("str_cn") + private String strCn; + @SerializedName("str_en") + private String strEn; + @SerializedName("colour") + private String colour; + + public String getStrCn() { + return strCn; + } + + public void setStrCn(String strCn) { + this.strCn = strCn; + } + + public String getStrEn() { + return strEn; + } + + public void setStrEn(String strEn) { + this.strEn = strEn; + } + + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + } +} 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 444ce4b92..f7ed008c6 100644 --- a/common/src/main/java/com/yunbao/common/http/CommonHttpUtil.java +++ b/common/src/main/java/com/yunbao/common/http/CommonHttpUtil.java @@ -208,6 +208,10 @@ public class CommonHttpUtil { JSONArray levelArray = obj.getJSONArray("liveclass"); new LiveClassManager(context).UpDataLiveClass(levelArray.toJSONString()); } + if (obj.containsKey("guard_type")) { + JSONArray levelArray = obj.getJSONArray("guard_type"); + new NewLevelManager(context).upDataGuardLevel(levelArray.toJSONString()); + } if (obj.containsKey("apk_ver")) { APKManager.get().setApkVer(obj.getString("apk_ver")); } 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 c656fedea..ab4c92838 100644 --- a/common/src/main/java/com/yunbao/common/http/PDLiveApi.java +++ b/common/src/main/java/com/yunbao/common/http/PDLiveApi.java @@ -110,7 +110,8 @@ public interface PDLiveApi { @Field("user_pass") String passWord, @Field("uuid_Device") String uuidDevice, @Field("pushid") String pushid, - @Field("lastlogindevice") String lastlogindevice + @Field("lastlogindevice") String lastlogindevice, + @Field("langue")String langue ); /** diff --git a/common/src/main/java/com/yunbao/common/http/main/MainNetManager.java b/common/src/main/java/com/yunbao/common/http/main/MainNetManager.java index cea6a102a..38731b326 100644 --- a/common/src/main/java/com/yunbao/common/http/main/MainNetManager.java +++ b/common/src/main/java/com/yunbao/common/http/main/MainNetManager.java @@ -13,6 +13,7 @@ import com.yunbao.common.http.API; import com.yunbao.common.http.ResponseData; import com.yunbao.common.http.ResponseModel; import com.yunbao.common.http.base.HttpCallback; +import com.yunbao.common.utils.WordUtil; import java.util.HashMap; import java.util.List; @@ -54,7 +55,7 @@ public class MainNetManager { * @param callback 网络请求回调 */ public void login(String phoneNum, String pwd, String uuid, HttpCallback callback) { - API.get().pdLiveApi(mContext).loginByManager(phoneNum, pwd, uuid, "", "Android") + API.get().pdLiveApi(mContext).loginByManager(phoneNum, pwd, uuid, "", "Android", WordUtil.isNewZh()?"chinese":"english") .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Consumer>() { diff --git a/common/src/main/java/com/yunbao/common/manager/IMLoginManager.java b/common/src/main/java/com/yunbao/common/manager/IMLoginManager.java index 8ac880ee1..8b6b798b2 100644 --- a/common/src/main/java/com/yunbao/common/manager/IMLoginManager.java +++ b/common/src/main/java/com/yunbao/common/manager/IMLoginManager.java @@ -57,6 +57,15 @@ public class IMLoginManager extends BaseCacheManager { private final String KEY_LANGUAGE = "language"; private final String KEY_GAME = "key_game"; + private final String GUARD_TYPE = "key_GUARD_TYPE"; + + public void setGuardType(int guardType) { + put(GUARD_TYPE, guardType); + } + + public int getGuardType() { + return getInt(GUARD_TYPE, 0); + } public void setRedPoint() { put("RedPoint", "1"); diff --git a/common/src/main/java/com/yunbao/common/manager/NewLevelManager.java b/common/src/main/java/com/yunbao/common/manager/NewLevelManager.java index 359dc032d..86ad9039b 100644 --- a/common/src/main/java/com/yunbao/common/manager/NewLevelManager.java +++ b/common/src/main/java/com/yunbao/common/manager/NewLevelManager.java @@ -5,6 +5,7 @@ import android.content.Context; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.yunbao.common.bean.FansModel; +import com.yunbao.common.bean.NewGuardLevelModel; import com.yunbao.common.bean.NewLevelModel; import com.yunbao.common.manager.base.BaseCacheManager; @@ -19,10 +20,12 @@ public class NewLevelManager extends BaseCacheManager { private final String KEY_ANCHOR_LEVEL = "keyAnchorLevel"; private final String KEY_LIVE_LEVEL = "keyLiveLevel"; private final String KEY_FANS_LEVEL = "keyFansLevel"; + private final String KEY_GUARD_LEVEL = "keyGuardLevel"; private List newLevelModels = new ArrayList<>(); private List keyAnchorLevel = new ArrayList<>(); private List fansModels = new ArrayList<>(); + private List newGuardLevelModels = new ArrayList<>(); public NewLevelManager(Context context) { super(context); @@ -62,6 +65,29 @@ public class NewLevelManager extends BaseCacheManager { return fansModel; } + public void upDataGuardLevel(String json) { + newGuardLevelModels = new Gson().fromJson(json, new TypeToken>() { + }.getType()); + put(KEY_GUARD_LEVEL, newGuardLevelModels); + } + + public List getGuardLevel() { + newGuardLevelModels = getList(KEY_GUARD_LEVEL, new TypeToken>() { + }.getType()); + return newGuardLevelModels; + } + + public NewGuardLevelModel getGuardModel(int type) { + getGuardLevel(); + NewGuardLevelModel guardLevelModel = null; + for (NewGuardLevelModel model : newGuardLevelModels) { + if (model.getGuardType() == type) { + guardLevelModel = model; + } + } + return guardLevelModel; + } + /** * 获取等级数据 * diff --git a/common/src/main/java/com/yunbao/common/views/NewRoleFunGamesChildViewHolder.java b/common/src/main/java/com/yunbao/common/views/NewRoleFunGamesChildViewHolder.java index 8dc3ee7fa..8cab49049 100644 --- a/common/src/main/java/com/yunbao/common/views/NewRoleFunGamesChildViewHolder.java +++ b/common/src/main/java/com/yunbao/common/views/NewRoleFunGamesChildViewHolder.java @@ -50,11 +50,14 @@ public class NewRoleFunGamesChildViewHolder extends RecyclerView.ViewHolder { } funGameName.setText(model.getTitle()); - if (TextUtils.equals(model.getTitle(), WordUtil.getNewString(com.yunbao.common.R.string.guard_guard)) && IMLoginManager.get(itemView.getContext()).getGuardRedPoint()) { - total_image_red_point.setVisibility(View.VISIBLE); - } else { - total_image_red_point.setVisibility(View.GONE); + if (total_image_red_point!=null){ + if (TextUtils.equals(model.getTitle(), WordUtil.getNewString(com.yunbao.common.R.string.guard_guard)) && IMLoginManager.get(itemView.getContext()).getGuardRedPoint()) { + total_image_red_point.setVisibility(View.VISIBLE); + } else { + total_image_red_point.setVisibility(View.GONE); + } } + ViewClicksAntiShake.clicksAntiShake(itemView, new ViewClicksAntiShake.ViewClicksCallBack() { @Override public void onViewClicks() { diff --git a/common/src/main/res/layout/guard_upgrade_popup.xml b/common/src/main/res/layout/guard_upgrade_popup.xml index 2bb16b8d9..e28f64048 100644 --- a/common/src/main/res/layout/guard_upgrade_popup.xml +++ b/common/src/main/res/layout/guard_upgrade_popup.xml @@ -48,18 +48,24 @@ - + + + + + @@ -74,7 +81,7 @@ - + + + + @@ -102,18 +115,23 @@ - + + + + @@ -135,21 +154,23 @@ android:layout_marginEnd="13dp" android:layout_marginBottom="38dp"> -