调整战令页面间距

修复【战令余额不足未跳转充值页面】问题
修复【战令开通等级时弹框金额偶尔不显示问题】
调整战令获取金额接口
调整战令item名字显示模式
调整战令购买经验弹框显示
This commit is contained in:
zlzw 2024-01-17 16:21:25 +08:00
parent 3a1268aac7
commit 2857127285
11 changed files with 174 additions and 28 deletions

View File

@ -77,6 +77,7 @@ public class LiberalBattlePassPopupWindow extends CenterPopupView {
mPassCallback.onCallback(data.getData().getCode(), data.getData().getMsg());
}
IMLoginManager.get(getContext()).upDataUserInfo();
IMLoginManager.get(getContext()).updateUserCoin();
}
@Override

View File

@ -9,6 +9,7 @@ import androidx.annotation.NonNull;
import com.lxj.xpopup.core.CenterPopupView;
import com.yunbao.common.R;
import com.yunbao.common.bean.BattlePassUserInfoBean;
import com.yunbao.common.http.ResponseModel;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.http.live.LiveNetManager;
@ -28,11 +29,12 @@ public class OrderLevelPopupWindow extends CenterPopupView {
private ProgressBar progressBar;
private OrderLevelCallback orderLevelCallback;
private long maxExp;
public OrderLevelPopupWindow(@NonNull Context context,
private BattlePassUserInfoBean userInfoBean;
public OrderLevelPopupWindow(@NonNull Context context, BattlePassUserInfoBean userInfoBean,
int mCurrentExperience, int mTotalExperience,
String mCurrentLevel, String mBalance,long maxExp, OrderLevelCallback mOrderLevelCallback) {
String mCurrentLevel, String mBalance, long maxExp, OrderLevelCallback mOrderLevelCallback) {
super(context);
this.userInfoBean = userInfoBean;
currentExperience = mCurrentExperience;
totalExperience = mTotalExperience;
currentLevel = mCurrentLevel;
@ -59,7 +61,7 @@ public class OrderLevelPopupWindow extends CenterPopupView {
orderLevel.setText(buyExp);
progressBar.setMax(totalExperience);
progressBar.setProgress(currentExperience);
expText.setText(String.format("%s/%s", currentExperience, totalExperience));
expText.setText(String.format("%s/%s", userInfoBean.getBattlePassExp(), userInfoBean.getNextLevelExp()));
current.setText(String.format("Lv%s", currentLevel));
balanceDiamond.setText(balance);
findViewById(R.id.sub).setOnClickListener(new OnClickListener() {
@ -102,6 +104,7 @@ public class OrderLevelPopupWindow extends CenterPopupView {
.buyingExperiencePoint(buyExp, new HttpCallback<ResponseModel<Object>>() {
@Override
public void onSuccess(ResponseModel<Object> data) {
if (orderLevelCallback != null) {
orderLevelCallback.onCallback(data.getData().getCode(), data.getMsg());
}dialog.dismiss();

View File

@ -2675,9 +2675,7 @@ public class LiveNetManager {
.observeOn(AndroidSchedulers.mainThread())
.subscribe(responseModel -> {
if (callback != null) {
if (callback != null) {
callback.onSuccess(new HttpCallbackModel(responseModel.getData().getCode(), responseModel.getData().getMsg()));
}
callback.onSuccess(new HttpCallbackModel(responseModel.getData().getCode(), responseModel.getData().getMsg()));
}
}, new Consumer<Throwable>() {
@Override

View File

@ -8,6 +8,7 @@ import android.text.TextUtils;
import androidx.annotation.NonNull;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import com.lzf.easyfloat.EasyFloat;
import com.umeng.analytics.MobclickAgent;
@ -509,5 +510,22 @@ public class IMLoginManager extends BaseCacheManager {
}
});
}
public void updateUserCoin(){
HttpClient.getInstance().get("User.getUserBalance", "User.getUserBalance")
.execute(new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0) {
JSONObject obj = JSONObject.parseObject(info[0]);
String golds = obj.getString("gold");
String coins = obj.getString("coin");
String yuanbaos = obj.getString("yuanbao");
userInfo.setCoin(obj.getLong("coin"));
userInfo.setGold(obj.getLong("gold"));
userInfo.setYuanbao(yuanbaos);
}
}
});
}
}

View File

@ -5,13 +5,13 @@ ext {
minSdkVersion : 21,
targetSdkVersion : 33,
versionCode : 460,
versionName : "6.6.3"
versionName : "6.6.4"
]
manifestPlaceholders = [
//
// serverHost : "https://napi.yaoulive.com",
serverHost : "https://napi.yaoulive.com",
//
serverHost : " https://ceshi.yaoulive.com",
//serverHost : " https://ceshi.yaoulive.com",
//
@ -21,7 +21,7 @@ ext {
baiduAppSecretKey: "nEVSgmuGpU0pjPr6VleEGGAl0hzGW52S",
// true表示谷歌支付 false 0 1 2 3 samsung包
isGooglePlay : 3,
isGooglePlay : 0,
//
isUploadLog : true,
//

View File

@ -1,5 +1,7 @@
package com.yunbao.main.activity;
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Dialog;
@ -15,6 +17,7 @@ import androidx.viewpager2.adapter.FragmentStateAdapter;
import androidx.viewpager2.widget.ViewPager2;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.lxj.xpopup.XPopup;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.bean.BattlePassUserInfoBean;
@ -133,6 +136,19 @@ public class BattlePassActivity extends AbsActivity {
new LiberalBattlePassPopupWindow.LiberalBattlePassCallback() {
@Override
public void onCallback(int code, String msg) {
if (code == 1001) {
new DialogUitl.Builder(mContext)
.setView(com.yunbao.live.R.layout.dialog_live_unfollow)
.setConfirmString(getString(com.yunbao.live.R.string.charge))
.setContent(getString(com.yunbao.live.R.string.insufficient_balance))
.setClickCallback(new DialogUitl.SimpleCallback() {
@Override
public void onConfirmClick(Dialog dialog, String content) {
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
}
}).build().show();
return;
}
ToastUtil.show(msg);
initData();
}

View File

@ -1,6 +1,10 @@
package com.yunbao.main.adapter;
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
@ -13,18 +17,26 @@ import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.RecyclerView;
import com.alibaba.android.arouter.launcher.ARouter;
import com.lxj.xpopup.XPopup;
import com.yunbao.common.bean.BattlePassUserInfoBean;
import com.yunbao.common.bean.HttpCallbackModel;
import com.yunbao.common.bean.LiveBattlePassRewardsBean;
import com.yunbao.common.dialog.ActivateEliteBattleOrderPopupWindow;
import com.yunbao.common.dialog.LiberalBattlePassPopupWindow;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DeviceUtils;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.main.R;
import com.yunbao.main.event.BattlePassTypeEvent;
import java.util.ArrayList;
import java.util.List;
@ -36,6 +48,7 @@ public class BattlePassRewardAdapter extends RecyclerView.Adapter<BattlePassRewa
private List<Map<Integer, LiveBattlePassRewardsBean.LiveBattlePassReward>> mList = new ArrayList<>();
private int userLevel;
private BattlePassUserInfoBean userType;
private String quintessenceSpendMoney,enjoySpendMoney;
private OnItemClickListener<LiveBattlePassRewardsBean.LiveBattlePassReward> onItemClickListener;
public void setList(List<Map<Integer, LiveBattlePassRewardsBean.LiveBattlePassReward>> mList) {
@ -74,6 +87,14 @@ public class BattlePassRewardAdapter extends RecyclerView.Adapter<BattlePassRewa
return mList.size();
}
public void setQuintessenceSpendMoney(String quintessenceSpendMoney) {
this.quintessenceSpendMoney=quintessenceSpendMoney;
}
public void setEnjoySpendMoney(String enjoySpendMoney) {
this.enjoySpendMoney=enjoySpendMoney;
}
public class VH extends RecyclerView.ViewHolder {
View lineBg, line, point;
View tab1Layout, tab2Layout, tab3Layout;
@ -206,6 +227,11 @@ public class BattlePassRewardAdapter extends RecyclerView.Adapter<BattlePassRewa
}
if (reward.getLock() == 1) {
//ToastUtil.show("锁了");
if(reward.getLiveBattlePassTypeId()==2){
showBuyType(true);
}else{
showBuyType(false);
}
return;
}
if (reward.getReceived() == 2) {
@ -236,7 +262,7 @@ public class BattlePassRewardAdapter extends RecyclerView.Adapter<BattlePassRewa
.getRewards(String.valueOf(reward.getLiveBattlePassLevel()), String.valueOf(reward.getId()), new HttpCallback<HttpCallbackModel>() {
@Override
public void onSuccess(HttpCallbackModel data) {
ToastUtil.show(WordUtil.getNewString(R.string.battlepass_reward_item_get));
ToastUtil.show(data.getMsg());
if (onItemClickListener != null) {
onItemClickListener.onItemClick(reward, reward.getId());
}
@ -275,7 +301,38 @@ public class BattlePassRewardAdapter extends RecyclerView.Adapter<BattlePassRewa
setVisibility(View.INVISIBLE, type - 1, tab1Layout, tab2Layout, tab3Layout);
}
}
private void showBuyType(boolean is){
new XPopup.Builder(itemView.getContext())
.enableDrag(false)
.maxWidth(DeviceUtils.getScreenHeight((Activity) itemView.getContext()) - DpUtil.dp2px(34))
.asCustom(new ActivateEliteBattleOrderPopupWindow(
itemView.getContext(),
is?quintessenceSpendMoney:enjoySpendMoney,
is,
new LiberalBattlePassPopupWindow.LiberalBattlePassCallback() {
@Override
public void onCallback(int code, String msg) {
if (code == 1001) {
new DialogUitl.Builder(itemView.getContext())
.setView(com.yunbao.live.R.layout.dialog_live_unfollow)
.setConfirmString(itemView.getContext().getString(com.yunbao.live.R.string.charge))
.setContent(itemView.getContext().getString(com.yunbao.live.R.string.insufficient_balance))
.setClickCallback(new DialogUitl.SimpleCallback() {
@Override
public void onConfirmClick(Dialog dialog, String content) {
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
}
}).build().show();
return;
}
ToastUtil.show(msg);
Bus.get().post(new BattlePassTypeEvent(0));
}
},
"2"
))
.show();
}
}
private interface ViewData<T> {

View File

@ -1,6 +1,9 @@
package com.yunbao.main.fragment;
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@ -8,6 +11,7 @@ import android.view.ViewGroup;
import androidx.recyclerview.widget.RecyclerView;
import com.alibaba.android.arouter.launcher.ARouter;
import com.lxj.xpopup.XPopup;
import com.yunbao.common.bean.BattlePassTask;
import com.yunbao.common.bean.BattlePassUserInfoBean;
@ -20,6 +24,7 @@ import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DeviceUtils;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
@ -83,18 +88,32 @@ public class BattlePassMissionFragment extends BaseFragment {
.enableDrag(false)
.maxWidth(DeviceUtils.getScreenHeight((Activity) getContext()) - DpUtil.dp2px(34))
.asCustom(new OrderLevelPopupWindow(getContext(),
userInfoBean.getBattlePassExp() - userInfoBean.getLastLevelExp(),
userInfoBean.getNextLevelExp() - userInfoBean.getLastLevelExp(),
userInfoBean,
userInfoBean.getBattlePassExp()-userInfoBean.getLastLevelExp(),
userInfoBean.getNextLevelExp()-userInfoBean.getLastLevelExp(),
String.valueOf(userInfoBean.getLevel()),
String.valueOf(IMLoginManager.get(getContext()).getUserInfo().getCoin()),
maxExp,
new OrderLevelPopupWindow.OrderLevelCallback() {
@Override
public void onCallback(int code, String msg) {
if (code == 1001) {
new DialogUitl.Builder(getContext())
.setView(com.yunbao.live.R.layout.dialog_live_unfollow)
.setConfirmString(getString(com.yunbao.live.R.string.charge))
.setContent(getString(com.yunbao.live.R.string.insufficient_balance))
.setClickCallback(new DialogUitl.SimpleCallback() {
@Override
public void onConfirmClick(Dialog dialog, String content) {
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
}
}).build().show();
return;
}
ToastUtil.show(msg);
Bus.get().post(new BattlePassTypeEvent(0));
IMLoginManager.get(getContext()).updateUserCoin();
updateData();
IMLoginManager.get(getContext()).upDataUserInfo();
}
}
)

View File

@ -1,6 +1,9 @@
package com.yunbao.main.fragment;
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@ -10,6 +13,7 @@ import android.widget.ImageView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.alibaba.android.arouter.launcher.ARouter;
import com.lxj.xpopup.XPopup;
import com.yunbao.common.bean.BattlePassUserInfoBean;
import com.yunbao.common.bean.LiveBattlePassRewardsBean;
@ -21,6 +25,7 @@ import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DeviceUtils;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
@ -104,6 +109,19 @@ public class BattlePassRewardFragment extends BaseFragment {
new LiberalBattlePassPopupWindow.LiberalBattlePassCallback() {
@Override
public void onCallback(int code, String msg) {
if (code == 1001) {
new DialogUitl.Builder(getContext())
.setView(com.yunbao.live.R.layout.dialog_live_unfollow)
.setConfirmString(getString(com.yunbao.live.R.string.charge))
.setContent(getString(com.yunbao.live.R.string.insufficient_balance))
.setClickCallback(new DialogUitl.SimpleCallback() {
@Override
public void onConfirmClick(Dialog dialog, String content) {
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
}
}).build().show();
return;
}
ToastUtil.show(msg);
updateData();
Bus.get().post(new BattlePassTypeEvent(0));
@ -127,6 +145,19 @@ public class BattlePassRewardFragment extends BaseFragment {
new LiberalBattlePassPopupWindow.LiberalBattlePassCallback() {
@Override
public void onCallback(int code, String msg) {
if (code == 1001) {
new DialogUitl.Builder(getContext())
.setView(com.yunbao.live.R.layout.dialog_live_unfollow)
.setConfirmString(getString(com.yunbao.live.R.string.charge))
.setContent(getString(com.yunbao.live.R.string.insufficient_balance))
.setClickCallback(new DialogUitl.SimpleCallback() {
@Override
public void onConfirmClick(Dialog dialog, String content) {
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
}
}).build().show();
return;
}
ToastUtil.show(msg);
updateData();
Bus.get().post(new BattlePassTypeEvent(0));
@ -151,9 +182,11 @@ public class BattlePassRewardFragment extends BaseFragment {
for (LiveBattlePassRewardsBean.BattlePassType passType : data.getLive_battle_pass_type()) {
if (passType.getId() == 2) {
quintessenceSpendMoney = String.valueOf(passType.getDiamond_value());
adapter.setQuintessenceSpendMoney(quintessenceSpendMoney);
}
if (passType.getId() == 3) {
enjoySpendMoney = String.valueOf(passType.getDiamond_value());
adapter.setEnjoySpendMoney(enjoySpendMoney);
}
}

View File

@ -85,13 +85,13 @@
layout="@layout/view_battlepass_user"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="32dp" />
android:layout_marginTop="16dp" />
<androidx.viewpager2.widget.ViewPager2
android:layout_marginTop="26dp"
android:id="@+id/context_layout"
android:layout_width="match_parent"
android:background="@drawable/background_order_dialog"
android:layout_height="match_parent" />
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:background="@drawable/background_order_dialog" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -122,13 +122,10 @@
android:layout_marginTop="8dp"
android:text="甜蜜氣球\n&amp;積分30"
android:textColor="#0D21B2"
android:textSize="14sp"
android:textSize="12sp"
android:textStyle="bold"
android:maxLines="2"
app:autoSizeMaxTextSize="14sp"
app:autoSizeMinTextSize="5sp"
app:autoSizeStepGranularity="1sp"
app:autoSizeTextType="uniform"
android:maxLines="1"
android:ellipsize="end"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tab_1_bg" />
@ -199,7 +196,9 @@
android:layout_marginTop="8dp"
android:text="甜蜜氣球\n&amp;積分30"
android:textColor="#0D21B2"
android:textSize="14sp"
android:textSize="12sp"
android:maxLines="1"
android:ellipsize="end"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -263,12 +262,14 @@
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tab_3_title"
android:maxLines="1"
android:ellipsize="end"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="甜蜜氣球\n&amp;積分30"
android:textColor="#0D21B2"
android:textSize="14sp"
android:textSize="12sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"