From 955c9ef277b44ed31e40b04824b5b4562299fa1f Mon Sep 17 00:00:00 2001
From: wushaocheng <15876365887@163.com>
Date: Tue, 28 Mar 2023 14:49:12 +0800
Subject: [PATCH] =?UTF-8?q?[Modify]=E5=AF=BB=E7=88=B1=E6=8E=A5=E5=8F=A3?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../erban/avroom/widget/MessageView.java | 2 +-
.../erban/avroom/widget/RoomEffectBoxView.kt | 2 +-
app/src/main/res/values/strings.xml | 1 +
.../activity/TreasureBoxActivity.java | 83 ++++++++-----------
.../adapter/BoxRankingListAdapter.java | 6 +-
.../fragment/BoxRankingFragment.java | 15 ++--
.../treasure_box/module/BoxRankingModel.java | 8 +-
.../treasure_box/module/IBoxRankingView.java | 8 +-
.../presenter/BoxRankingPresenter.java | 7 +-
.../res/layout/activity_treasure_box.xml | 26 ------
.../treasure_box/bean/TreasureRankingInfo.kt | 12 +++
.../treasure_box/bean/PrizeNewInfo.java | 9 ++
.../yizhuan/treasure_box/model/BoxModel.java | 10 +--
.../yizhuan/treasure_box/model/IBoxModel.java | 4 +-
14 files changed, 94 insertions(+), 99 deletions(-)
create mode 100644 core/src/main/java/com/yizhuan/xchat_android_core/room/treasure_box/bean/TreasureRankingInfo.kt
diff --git a/app/src/main/java/com/yizhuan/erban/avroom/widget/MessageView.java b/app/src/main/java/com/yizhuan/erban/avroom/widget/MessageView.java
index 69b38ad88..3328cacec 100644
--- a/app/src/main/java/com/yizhuan/erban/avroom/widget/MessageView.java
+++ b/app/src/main/java/com/yizhuan/erban/avroom/widget/MessageView.java
@@ -1792,7 +1792,7 @@ public class MessageView extends FrameLayout {
SpannableBuilder text = new SpannableBuilder(tvContent)
.append(ResUtil.getString(R.string.avroom_widget_messageview_093), new ForegroundColorSpan(greyColor))
.append(attachment.getNick() + " ", new ForegroundColorSpan(roomTipColor))
- .append(ResUtil.getString(R.string.avroom_widget_messageview_094) + attachment.getBoxTypeStr() + ResUtil.getString(R.string.avroom_widget_messageview_095), new ForegroundColorSpan(greyColor))
+ .append(ResUtil.getString(R.string.treasure_in_find_love) + ResUtil.getString(R.string.avroom_widget_messageview_095), new ForegroundColorSpan(greyColor))
.append(attachment.getPrizeName(), new ForegroundColorSpan(Color.WHITE));
if (attachment.getPrizeNum() > 1) {
text.append(" x" + attachment.getPrizeNum() + " ", new ForegroundColorSpan(roomTipColor));
diff --git a/app/src/main/java/com/yizhuan/erban/avroom/widget/RoomEffectBoxView.kt b/app/src/main/java/com/yizhuan/erban/avroom/widget/RoomEffectBoxView.kt
index 4fc7abced..bef39fccb 100644
--- a/app/src/main/java/com/yizhuan/erban/avroom/widget/RoomEffectBoxView.kt
+++ b/app/src/main/java/com/yizhuan/erban/avroom/widget/RoomEffectBoxView.kt
@@ -437,7 +437,7 @@ class RoomEffectBoxView @JvmOverloads constructor(
ForegroundColorSpan(resources.getColor(R.color.notice_nick))
)
.append(
- ResUtil.getString(R.string.avroom_widget_roomeffectview_09) + attachment.boxTypeStr + ResUtil.getString(
+ ResUtil.getString(R.string.treasure_in_find_love) + ResUtil.getString(
R.string.avroom_widget_roomeffectview_010
), ForegroundColorSpan(Color.WHITE)
)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b880b4131..4c42cdc59 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -5076,5 +5076,6 @@
溫馨提示
鉆石餘額不足,請先充值吧~
去充值
+ 通過尋愛之旅
\ No newline at end of file
diff --git a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/activity/TreasureBoxActivity.java b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/activity/TreasureBoxActivity.java
index 99f00cb7f..d99568c3b 100644
--- a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/activity/TreasureBoxActivity.java
+++ b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/activity/TreasureBoxActivity.java
@@ -27,10 +27,11 @@ import com.yizhuan.erban.treasure_box.widget.dialog.BoxMoreDialog;
import com.yizhuan.erban.treasure_box.widget.dialog.TreasureBoxDialog;
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
import com.yizhuan.erban.utils.UserUtils;
-import com.yizhuan.treasure_box.bean.PrizeInfo;
+import com.yizhuan.treasure_box.bean.PrizeNewInfo;
import com.yizhuan.treasure_box.model.BoxModel;
import com.yizhuan.treasure_box.model.IBoxModel;
import com.yizhuan.xchat_android_core.DemoCache;
+import com.yizhuan.xchat_android_core.exception.FailReasonException;
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager;
import com.yizhuan.xchat_android_core.manager.RoomEvent;
import com.yizhuan.xchat_android_core.pay.PayModel;
@@ -51,10 +52,8 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
@ActLayoutRes(R.layout.activity_treasure_box)
public class TreasureBoxActivity extends BaseBindingActivity implements View.OnClickListener {
private final Runnable removeRunnable = () -> mBinding.llPrizeHint.removeAllViews();
- private int price = 20;
- private volatile int keyNum;
- private ArrayList cacheList = new ArrayList<>();
- private ArrayList hintPrizeCacheList = new ArrayList<>();
+ private ArrayList cacheList = new ArrayList<>();
+ private ArrayList hintPrizeCacheList = new ArrayList<>();
private ObjectAnimator translationXAnimator;
private ObjectAnimator translationYAnimator;
private int boxType = IBoxModel.BOX_TYPE_NORMAL;
@@ -120,7 +119,6 @@ public class TreasureBoxActivity extends BaseBindingActivity {
- price = keyInfo.getKeyPrice();
sendMessageSwitchLevel = keyInfo.getSendMessageSwitchLevel();
});
}
@@ -155,50 +153,41 @@ public class TreasureBoxActivity extends BaseBindingActivity {
-// mBinding.ivOpen.setEnabled(true);
-// SingleToastUtil.showToast(throwable.getMessage());
-// })
-// .toObservable()
-// .delay(startTime - System.currentTimeMillis() + 300, TimeUnit.MILLISECONDS)
-// .observeOn(AndroidSchedulers.mainThread())
-// .flatMap(openBoxResult -> {
-// mBinding.ivOpen.setEnabled(true);
-// cacheList.addAll(openBoxResult.getPrizeItemList());
-// return Observable.fromIterable(openBoxResult.getPrizeItemList());
-// })
-// .filter(prizeInfo -> prizeInfo.getPrizeLevel() > 2)
-// .subscribe(prizeInfo -> hintPrizeCacheList.add(prizeInfo));
+ BoxModel.get().openBoxDraw(count, sendMessage)
+ .compose(bindToLifecycle())
+ .doOnError(throwable -> {
+ mBinding.ivOpen.setEnabled(true);
+ if (throwable instanceof FailReasonException) {
+ FailReasonException failReasonException = (FailReasonException) throwable;
+ if(failReasonException.getCode() == BoxModel.ERROR_CODE_DIAMOND){
+ TreasureBoxDialog.newInstance().show(this);
+ }else {
+ SingleToastUtil.showToast(throwable.getMessage());
+ }
+ } else {
+ SingleToastUtil.showToast(throwable.getMessage());
+ }
+ })
+ .toObservable()
+ .delay(startTime - System.currentTimeMillis() + 300, TimeUnit.MILLISECONDS)
+ .observeOn(AndroidSchedulers.mainThread())
+ .flatMap(openBoxResult -> {
+ mBinding.ivOpen.setEnabled(true);
+ cacheList.addAll(openBoxResult);
+ return Observable.fromIterable(openBoxResult);
+ })
+ .filter(prizeInfo -> prizeInfo.getLevel() > 2)
+ .subscribe(prizeInfo -> hintPrizeCacheList.add(prizeInfo));
}
@SuppressLint("CheckResult")
@@ -208,8 +197,8 @@ public class TreasureBoxActivity extends BaseBindingActivity cacheList.size() > 0)
.subscribe(aLong -> {
- PrizeInfo prizeInfo = cacheList.get(0);
- String url = prizeInfo.getPrizeImgUrl();
+ PrizeNewInfo prizeInfo = cacheList.get(0);
+ String url = prizeInfo.getPicUrl();
if (cacheList.size() > 0) cacheList.remove(0);
if (!TextUtils.isEmpty(url)) {
if (translationXAnimator != null) translationXAnimator.start();
@@ -233,7 +222,7 @@ public class TreasureBoxActivity extends BaseBindingActivity looperHintPrize());//出错了继续looper......
}
- private void addPrizeHintView(PrizeInfo prizeInfo) {
+ private void addPrizeHintView(PrizeNewInfo prizeInfo) {
mBinding.llPrizeHint.removeCallbacks(removeRunnable);
mBinding.llPrizeHint.postDelayed(removeRunnable, 3000);
LinearLayout linearLayout = (LinearLayout) LayoutInflater.from(this).inflate(R.layout.item_box_prize_hint, null);
@@ -251,8 +240,8 @@ public class TreasureBoxActivity extends BaseBindingActivity {
+public class BoxRankingListAdapter extends BaseQuickAdapter {
private final Context mContext;
@@ -32,7 +32,7 @@ public class BoxRankingListAdapter extends BaseQuickAdapter rankingInfo) {
hideStatus();
if (mAdapter != null) {
int page = getMvpPresenter().getPage();
if (page <= 1) {
swipeRefresh.setRefreshing(false);
- if (rankingInfo.getRankVos() == null || rankingInfo.getRankVos().size() == 0) {
+ if (rankingInfo == null || rankingInfo.size() == 0) {
showNoData(getString(R.string.empty_data));
} else {
- mAdapter.setNewData(rankingInfo.getRankVos());
+ mAdapter.setNewData(rankingInfo);
}
}
}
@@ -136,12 +139,12 @@ public class BoxRankingFragment extends BaseMvpFragment rankingInfo) {
+ if (ListUtils.isListEmpty(rankingInfo)) {
mAdapter.loadMoreEnd();
return;
}
- mAdapter.addData(rankingInfo.getRankVos());
+ mAdapter.addData(rankingInfo);
mAdapter.loadMoreComplete();
}
diff --git a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/module/BoxRankingModel.java b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/module/BoxRankingModel.java
index 02cdf3dfd..7c8635721 100644
--- a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/module/BoxRankingModel.java
+++ b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/module/BoxRankingModel.java
@@ -3,10 +3,12 @@ package com.yizhuan.erban.treasure_box.module;
import com.yizhuan.xchat_android_core.auth.AuthModel;
import com.yizhuan.xchat_android_core.bean.response.ServiceResult;
import com.yizhuan.xchat_android_core.community.CommunityConstant;
-import com.yizhuan.xchat_android_core.room.treasure_box.bean.BoxRankingInfo;
+import com.yizhuan.xchat_android_core.room.treasure_box.bean.TreasureRankingInfo;
import com.yizhuan.xchat_android_core.utils.net.RxHelper;
import com.yizhuan.xchat_android_library.net.rxnet.RxNet;
+import java.util.List;
+
import io.reactivex.Single;
import retrofit2.http.GET;
import retrofit2.http.Query;
@@ -15,7 +17,7 @@ public class BoxRankingModel {
private final Api api = RxNet.create(Api.class);
- public Single getBoxRankingList(int datetype,int page,int pageSize) {
+ public Single> getBoxRankingList(int datetype,int page,int pageSize) {
return api.apiNewbieList(String.valueOf(AuthModel.get().getCurrentUid()),
CommunityConstant.VERSION_VALID_TYPE,
AuthModel.get().getTicket(),
@@ -44,7 +46,7 @@ public class BoxRankingModel {
* @return -
*/
@GET("/findLove/rank")
- Single> apiNewbieList(
+ Single>> apiNewbieList(
@Query("uid") String uid,
@Query("types") String types,
@Query("ticket") String ticket,
diff --git a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/module/IBoxRankingView.java b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/module/IBoxRankingView.java
index 75b8113d1..911ab0d1c 100644
--- a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/module/IBoxRankingView.java
+++ b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/module/IBoxRankingView.java
@@ -1,12 +1,14 @@
package com.yizhuan.erban.treasure_box.module;
-import com.yizhuan.xchat_android_core.room.treasure_box.bean.BoxRankingInfo;
+import com.yizhuan.xchat_android_core.room.treasure_box.bean.TreasureRankingInfo;
import com.yizhuan.xchat_android_library.base.IMvpBaseView;
+import java.util.List;
+
public interface IBoxRankingView extends IMvpBaseView {
- void getBoxRankingSuccess(BoxRankingInfo list);
+ void getBoxRankingSuccess(List list);
void getBoxRankingFails(String error);
- void getBoxRankingLoadMoreSuccess(BoxRankingInfo list);
+ void getBoxRankingLoadMoreSuccess(List list);
void getBoxRankingLoadMoreFails(String error);
}
diff --git a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/presenter/BoxRankingPresenter.java b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/presenter/BoxRankingPresenter.java
index 2324e105d..66dd913cc 100644
--- a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/presenter/BoxRankingPresenter.java
+++ b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/presenter/BoxRankingPresenter.java
@@ -6,8 +6,11 @@ import com.yizhuan.erban.treasure_box.module.BoxRankingModel;
import com.yizhuan.erban.treasure_box.module.IBoxRankingView;
import com.yizhuan.xchat_android_core.Constants;
import com.yizhuan.xchat_android_core.room.treasure_box.bean.BoxRankingInfo;
+import com.yizhuan.xchat_android_core.room.treasure_box.bean.TreasureRankingInfo;
import com.yizhuan.xchat_android_library.utils.ResUtil;
+import java.util.List;
+
import io.reactivex.SingleObserver;
import io.reactivex.disposables.Disposable;
@@ -23,14 +26,14 @@ public class BoxRankingPresenter extends BaseMvpPresenter {
}
BoxRankingModel.get().getBoxRankingList(datetype,page, Constants.PAGE_SIZE)
- .compose(bindToLifecycle()).subscribe(new SingleObserver() {
+ .compose(bindToLifecycle()).subscribe(new SingleObserver>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
- public void onSuccess(BoxRankingInfo roomNewbieInfos) {
+ public void onSuccess(List roomNewbieInfos) {
if (roomNewbieInfos != null) {
if (mMvpView != null) {
if (isRefresh){
diff --git a/app/src/module_treasure_box/res/layout/activity_treasure_box.xml b/app/src/module_treasure_box/res/layout/activity_treasure_box.xml
index 80c195828..0e9dc1a4e 100644
--- a/app/src/module_treasure_box/res/layout/activity_treasure_box.xml
+++ b/app/src/module_treasure_box/res/layout/activity_treasure_box.xml
@@ -39,32 +39,6 @@
app:layout_constraintStart_toStartOf="@id/view_bg"
app:layout_constraintTop_toTopOf="@id/view_bg" />
-
-
-
-
openBoxDraw(int keyNum, boolean sendMessage) {
+ public Single> openBoxDraw(int keyNum, boolean sendMessage) {
if (AvRoomDataManager.get().mCurrentRoomInfo == null) {
return Single.error(new Throwable(ResUtil.getString(R.string.treasure_box_model_boxmodel_01)));
}
@@ -209,7 +209,7 @@ public class BoxModel extends BaseModel implements IBoxModel {
*/
@FormUrlEncoded
@POST("/findLove/draw")
- Single> openBoxDraw(@Field("num") int num,
+ Single>> openBoxDraw(@Field("num") int num,
@Field("sendMessage") boolean sendMessage,
@Field("roomUid") long roomUid);
diff --git a/core/src/model_treasure_box/java/com/yizhuan/treasure_box/model/IBoxModel.java b/core/src/model_treasure_box/java/com/yizhuan/treasure_box/model/IBoxModel.java
index d9c17913b..f7482656b 100644
--- a/core/src/model_treasure_box/java/com/yizhuan/treasure_box/model/IBoxModel.java
+++ b/core/src/model_treasure_box/java/com/yizhuan/treasure_box/model/IBoxModel.java
@@ -5,10 +5,10 @@ import com.yizhuan.treasure_box.bean.ConfigImgUrl;
import com.yizhuan.treasure_box.bean.HonourBuyKeyResultInfo;
import com.yizhuan.treasure_box.bean.HonourKeyInfo;
import com.yizhuan.treasure_box.bean.KeyInfo;
-import com.yizhuan.treasure_box.bean.OpenBoxDrawResult;
import com.yizhuan.treasure_box.bean.OpenBoxHonourResult;
import com.yizhuan.treasure_box.bean.OpenBoxResult;
import com.yizhuan.treasure_box.bean.PrizeInfo;
+import com.yizhuan.treasure_box.bean.PrizeNewInfo;
import com.yizhuan.xchat_android_core.base.IModel;
import com.yizhuan.xchat_android_core.bean.response.ServiceResult;
@@ -32,7 +32,7 @@ public interface IBoxModel extends IModel {
* @param sendMessage
* @return
*/
- Single openBoxDraw(int keyNum, boolean sendMessage);
+ Single> openBoxDraw(int keyNum, boolean sendMessage);
/**
* 开箱子