diff --git a/app/src/main/java/com/chwl/app/avroom/activity/AVRoomActivity.java b/app/src/main/java/com/chwl/app/avroom/activity/AVRoomActivity.java index 15e2535ad..fa7890acf 100644 --- a/app/src/main/java/com/chwl/app/avroom/activity/AVRoomActivity.java +++ b/app/src/main/java/com/chwl/app/avroom/activity/AVRoomActivity.java @@ -76,7 +76,6 @@ import com.chwl.app.common.widget.CircleImageView; import com.chwl.app.common.widget.CustomImageSpan; import com.chwl.app.common.widget.dialog.DialogManager; import com.chwl.app.home.dialog.HelloMessageDialog; -import com.chwl.app.treasure_box.activity.TreasureBoxActivity; import com.chwl.app.ui.patriarch.help.LimitEnterRoomHelper; import com.chwl.app.ui.user.activity.UserInfoActivity; import com.chwl.app.ui.utils.ImageLoadUtils; @@ -1362,7 +1361,7 @@ public class AVRoomActivity extends BaseMvpActivity { if (!DemoCache.readBoolean("FirstCharge", false) && (UIUtils.isTopActivity(AVRoomActivity.this) - || UIUtils.isTopActivity(this, TreasureBoxActivity.class.getName()) +// || UIUtils.isTopActivity(this, TreasureBoxActivity.class.getName()) || UIUtils.isTopActivity(this, DialogWebViewActivity.class.getName()) || UIUtils.isTopActivity(this, RoomMsgActivity.class.getName()))) { FirstChargeDialog.start(this); diff --git a/app/src/main/java/com/chwl/app/avroom/fragment/BaseRoomFragment.kt b/app/src/main/java/com/chwl/app/avroom/fragment/BaseRoomFragment.kt index ac4a1aeb8..e601a8757 100644 --- a/app/src/main/java/com/chwl/app/avroom/fragment/BaseRoomFragment.kt +++ b/app/src/main/java/com/chwl/app/avroom/fragment/BaseRoomFragment.kt @@ -682,8 +682,8 @@ open class BaseRoomFragment?> : } R.id.iv_first_charge_enter -> FirstChargeDialog.start(mContext) - R.id.iv_treasure_box, - R.id.iv_treasure_box_cp -> GoldBoxHelper.handleBoxClick(mContext) +// R.id.iv_treasure_box, +// R.id.iv_treasure_box_cp -> GoldBoxHelper.handleBoxClick(mContext) R.id.iv_radish_entrance -> PullRadishActivity.start(mContext) } diff --git a/app/src/main/java/com/chwl/app/avroom/presenter/GameRoomPresenter.java b/app/src/main/java/com/chwl/app/avroom/presenter/GameRoomPresenter.java index 5b23191f4..1324339e8 100644 --- a/app/src/main/java/com/chwl/app/avroom/presenter/GameRoomPresenter.java +++ b/app/src/main/java/com/chwl/app/avroom/presenter/GameRoomPresenter.java @@ -32,24 +32,25 @@ public class GameRoomPresenter extends BaseRoomPresenter { bannerInfo.setFirstCharge(true); bannerInfos.add(0, bannerInfo); } - if(GoldBoxHelper.isShowFairy()){ - BannerInfo bannerInfo = new BannerInfo(); - bannerInfo.setFairy(true); - bannerInfos.add(firstCharge ? 1 : 0, bannerInfo); - } +// if(GoldBoxHelper.isShowFairy()){ +// BannerInfo bannerInfo = new BannerInfo(); +// bannerInfo.setFairy(true); +// bannerInfos.add(firstCharge ? 1 : 0, bannerInfo); +// } List finalBannerInfos = bannerInfos; - GoldBoxHelper.isHideBox() - .subscribe(isHide -> { - if (!isHide) { - BannerInfo bannerInfo = new BannerInfo(); - bannerInfo.setBox(true); - int index = 0; - if (firstCharge) index++; - if (GoldBoxHelper.isShowFairy()) index++; - finalBannerInfos.add(index, bannerInfo); - } - getMvpView().onShowBanner(finalBannerInfos); - }, throwable -> getMvpView().onShowBanner(finalBannerInfos)); + getMvpView().onShowBanner(finalBannerInfos); +// GoldBoxHelper.isHideBox() +// .subscribe(isHide -> { +// if (!isHide) { +// BannerInfo bannerInfo = new BannerInfo(); +// bannerInfo.setBox(true); +// int index = 0; +// if (firstCharge) index++; +// if (GoldBoxHelper.isShowFairy()) index++; +// finalBannerInfos.add(index, bannerInfo); +// } +// getMvpView().onShowBanner(finalBannerInfos); +// }, throwable -> getMvpView().onShowBanner(finalBannerInfos)); }); } diff --git a/app/src/main/java/com/chwl/app/avroom/presenter/HomePartyPresenter.java b/app/src/main/java/com/chwl/app/avroom/presenter/HomePartyPresenter.java index 363b77436..00b3584a7 100644 --- a/app/src/main/java/com/chwl/app/avroom/presenter/HomePartyPresenter.java +++ b/app/src/main/java/com/chwl/app/avroom/presenter/HomePartyPresenter.java @@ -315,24 +315,25 @@ public class HomePartyPresenter extends BaseRoomPresenter { bannerInfo.setRadish(true); bannerInfos.add(firstCharge ? 1 : 0, bannerInfo); } - GoldBoxHelper.isHideBox() - .subscribe(isHide -> { - if (!isHide) { - BannerInfo bannerInfo = new BannerInfo(); - bannerInfo.setBox(true); - int index = 0; - if (firstCharge) index++; - if (GoldBoxHelper.isShowRadish()) index++; - bannerInfos.add(index, bannerInfo); - } - getMvpView().onShowBanner(bannerInfos); - }, throwable -> getMvpView().onShowBanner(bannerInfos)); + getMvpView().onShowBanner(bannerInfos); +// GoldBoxHelper.isHideBox() +// .subscribe(isHide -> { +// if (!isHide) { +// BannerInfo bannerInfo = new BannerInfo(); +// bannerInfo.setBox(true); +// int index = 0; +// if (firstCharge) index++; +// if (GoldBoxHelper.isShowRadish()) index++; +// bannerInfos.add(index, bannerInfo); +// } +// getMvpView().onShowBanner(bannerInfos); +// }, throwable -> getMvpView().onShowBanner(bannerInfos)); } else { - if(GoldBoxHelper.isShowFairy()){ - BannerInfo bannerInfo = new BannerInfo(); - bannerInfo.setFairy(true); - bannerInfos.add(0, bannerInfo); - } +// if(GoldBoxHelper.isShowFairy()){ +// BannerInfo bannerInfo = new BannerInfo(); +// bannerInfo.setFairy(true); +// bannerInfos.add(0, bannerInfo); +// } if (firstCharge) { BannerInfo bannerInfo = new BannerInfo(); bannerInfo.setFirstCharge(true); diff --git a/app/src/main/java/com/chwl/app/avroom/presenter/SingleRoomPresenter.java b/app/src/main/java/com/chwl/app/avroom/presenter/SingleRoomPresenter.java index 71615551e..04da1282c 100644 --- a/app/src/main/java/com/chwl/app/avroom/presenter/SingleRoomPresenter.java +++ b/app/src/main/java/com/chwl/app/avroom/presenter/SingleRoomPresenter.java @@ -32,24 +32,25 @@ public class SingleRoomPresenter extends BaseRoomPresenter { bannerInfo.setRadish(true); bannerInfos.add(firstCharge ? 1 : 0, bannerInfo); } - GoldBoxHelper.isHideBox() - .subscribe(isHide -> { - if (!isHide) { - BannerInfo bannerInfo = new BannerInfo(); - bannerInfo.setBox(true); - int index = 0; - if (firstCharge) index++; - if (GoldBoxHelper.isShowRadish()) index++; - bannerInfos.add(index, bannerInfo); - } - getMvpView().onShowBanner(bannerInfos); - }, throwable -> getMvpView().onShowBanner(bannerInfos)); + getMvpView().onShowBanner(bannerInfos); +// GoldBoxHelper.isHideBox() +// .subscribe(isHide -> { +// if (!isHide) { +// BannerInfo bannerInfo = new BannerInfo(); +// bannerInfo.setBox(true); +// int index = 0; +// if (firstCharge) index++; +// if (GoldBoxHelper.isShowRadish()) index++; +// bannerInfos.add(index, bannerInfo); +// } +// getMvpView().onShowBanner(bannerInfos); +// }, throwable -> getMvpView().onShowBanner(bannerInfos)); } else { - if(GoldBoxHelper.isShowFairy()){ - BannerInfo bannerInfo = new BannerInfo(); - bannerInfo.setFairy(true); - bannerInfos.add(0, bannerInfo); - } +// if(GoldBoxHelper.isShowFairy()){ +// BannerInfo bannerInfo = new BannerInfo(); +// bannerInfo.setFairy(true); +// bannerInfos.add(0, bannerInfo); +// } if (firstCharge) { BannerInfo bannerInfo = new BannerInfo(); bannerInfo.setFirstCharge(true); diff --git a/app/src/main/java/com/chwl/app/avroom/widget/MessageView.java b/app/src/main/java/com/chwl/app/avroom/widget/MessageView.java index 98b75e9e5..1721bef01 100644 --- a/app/src/main/java/com/chwl/app/avroom/widget/MessageView.java +++ b/app/src/main/java/com/chwl/app/avroom/widget/MessageView.java @@ -81,7 +81,6 @@ import com.chwl.app.community.photo.BigPhotoActivity; import com.chwl.app.community.photo.PagerOption; import com.chwl.app.community.utils.ObjectTypeHelper; import com.chwl.app.treasure_box.widget.GoldBoxHelper; -import com.chwl.app.treasurefairy.HomeFairyActivity; import com.chwl.app.ui.utils.ImageLoadUtils; import com.chwl.app.ui.utils.ImageLoadUtilsV2; import com.chwl.app.ui.widget.DividerItemDecoration; @@ -1173,14 +1172,14 @@ public class MessageView extends FrameLayout { } if (builder != null) { - if (GoldBoxHelper.isShowFairy()) { - builder.append(" 去參加!", new OriginalDrawStatusClickSpan(Color.parseColor("#FFBC51")) { - @Override - public void onClick(@NonNull View widget) { - HomeFairyActivity.start(mContext); - } - }); - } +// if (GoldBoxHelper.isShowFairy()) { +// builder.append(" 去參加!", new OriginalDrawStatusClickSpan(Color.parseColor("#FFBC51")) { +// @Override +// public void onClick(@NonNull View widget) { +// HomeFairyActivity.start(mContext); +// } +// }); +// } tvContent.setOnClickListener(null); tvContent.setMovementMethod(new LinkMovementMethod()); tvContent.setText(builder.build()); diff --git a/app/src/main/java/com/chwl/app/base/BaseActivity.java b/app/src/main/java/com/chwl/app/base/BaseActivity.java index 0f95929d1..1dc15fc76 100644 --- a/app/src/main/java/com/chwl/app/base/BaseActivity.java +++ b/app/src/main/java/com/chwl/app/base/BaseActivity.java @@ -79,8 +79,6 @@ import com.chwl.app.common.permission.PermissionActivity; import com.chwl.app.common.widget.StatusLayout; import com.chwl.app.common.widget.dialog.DialogManager; import com.chwl.app.common.widget.dialog.DialogUiHelper; -import com.chwl.app.treasure_box.activity.TreasureBoxActivity; -import com.chwl.app.treasurefairy.HomeFairyActivity; import com.chwl.app.ui.im.avtivity.NimP2PMessageActivity; import com.chwl.app.ui.login.AddUserInfoActivity; import com.chwl.app.ui.login.LoginCodeActivity; @@ -981,7 +979,7 @@ public abstract class BaseActivity extends RxAppCompatActivity case CUSTOM_MSG_HEADER_TYPE_GIFT: if (!isValid() || getWindow().getDecorView().getVisibility() != View.VISIBLE) return; if (this instanceof AddUserInfoActivity || this instanceof AVRoomActivity - || this instanceof TreasureBoxActivity || this instanceof HomeFairyActivity +// || this instanceof TreasureBoxActivity || this instanceof HomeFairyActivity || UserUtils.getUserInfo() == null) return; if (giftList == null) { @@ -1008,7 +1006,7 @@ public abstract class BaseActivity extends RxAppCompatActivity case CUSTOM_MSG_BOX://寻爱之旅 if (!isValid() || getWindow().getDecorView().getVisibility() != View.VISIBLE) return; if (this instanceof AddUserInfoActivity || this instanceof AVRoomActivity - || this instanceof TreasureBoxActivity || this instanceof HomeFairyActivity +// || this instanceof TreasureBoxActivity || this instanceof HomeFairyActivity || UserUtils.getUserInfo() == null) return; if (playEffectList == null) { @@ -1037,7 +1035,7 @@ public abstract class BaseActivity extends RxAppCompatActivity case CustomAttachment.CUSTOM_MESS_TAROT: if (!isValid() || getWindow().getDecorView().getVisibility() != View.VISIBLE) return; if (this instanceof AddUserInfoActivity || this instanceof AVRoomActivity - || this instanceof TreasureBoxActivity || this instanceof HomeFairyActivity +// || this instanceof TreasureBoxActivity || this instanceof HomeFairyActivity || UserUtils.getUserInfo() == null) return; if (playEffectList == null) { @@ -1068,7 +1066,7 @@ public abstract class BaseActivity extends RxAppCompatActivity case CustomAttachment.CUSTOM_MSG_NOTIFY_H5: if (!isValid() || getWindow().getDecorView().getVisibility() != View.VISIBLE) return; if (this instanceof AddUserInfoActivity || this instanceof AVRoomActivity - || this instanceof TreasureBoxActivity || this instanceof HomeFairyActivity +// || this instanceof TreasureBoxActivity || this instanceof HomeFairyActivity || UserUtils.getUserInfo() == null) return; if (baseProtocol.getSecond() == CustomAttachment.CUSTOM_MSG_NOTIFY_H5_SUB_WHOLE_SERVICE) { @@ -1096,7 +1094,7 @@ public abstract class BaseActivity extends RxAppCompatActivity case CUSTOM_MSG_LUCKY_SEA://星级厨房 if (!isValid() || getWindow().getDecorView().getVisibility() != View.VISIBLE) return; if (this instanceof AddUserInfoActivity || this instanceof AVRoomActivity - || this instanceof TreasureBoxActivity || this instanceof HomeFairyActivity +// || this instanceof TreasureBoxActivity || this instanceof HomeFairyActivity || UserUtils.getUserInfo() == null) return; if (playEffectList == null) { @@ -1125,7 +1123,7 @@ public abstract class BaseActivity extends RxAppCompatActivity case CUSTOM_MSG_LUCKY_GIFT://福袋 if (!isValid() || getWindow().getDecorView().getVisibility() != View.VISIBLE) return; if (this instanceof AddUserInfoActivity || this instanceof AVRoomActivity - || this instanceof TreasureBoxActivity || this instanceof HomeFairyActivity +// || this instanceof TreasureBoxActivity || this instanceof HomeFairyActivity || UserUtils.getUserInfo() == null) return; if (playEffectList == null) { @@ -1154,7 +1152,7 @@ public abstract class BaseActivity extends RxAppCompatActivity case CUSTOM_MSG_FAIRY://夺宝精灵 if (!isValid() || getWindow().getDecorView().getVisibility() != View.VISIBLE) return; if (this instanceof AddUserInfoActivity || this instanceof AVRoomActivity - || this instanceof TreasureBoxActivity || this instanceof HomeFairyActivity +// || this instanceof TreasureBoxActivity || this instanceof HomeFairyActivity || UserUtils.getUserInfo() == null) return; if (playEffectList == null) { diff --git a/app/src/main/java/com/chwl/app/home/adapter/RoomActAdapter.kt b/app/src/main/java/com/chwl/app/home/adapter/RoomActAdapter.kt index 6bfddf785..cf50b46ec 100644 --- a/app/src/main/java/com/chwl/app/home/adapter/RoomActAdapter.kt +++ b/app/src/main/java/com/chwl/app/home/adapter/RoomActAdapter.kt @@ -5,19 +5,15 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView -import com.netease.nim.uikit.support.glide.GlideApp import com.chwl.app.R import com.chwl.app.avroom.firstcharge.FirstChargeDialog import com.chwl.app.shipantics.PullRadishActivity -import com.chwl.app.treasure_box.widget.GoldBoxHelper -import com.chwl.app.treasurefairy.HomeFairyActivity import com.chwl.app.ui.utils.ImageLoadUtils import com.chwl.app.ui.webview.room_banner.RoomBannerWebDialogActivity import com.chwl.app.ui.widget.rollviewpager.adapter.StaticPagerAdapter import com.chwl.app.utils.CommonJumpHelper import com.chwl.core.home.bean.BannerInfo import com.chwl.core.room.model.AvRoomModel -import com.chwl.library.utils.config.BasicConfig import okhttp3.internal.filterList class RoomActAdapter(private val mContext: Context, private val data: List) : @@ -28,15 +24,16 @@ class RoomActAdapter(private val mContext: Context, private val data: List - if (bannerInfo.isFairy) { - HomeFairyActivity.start(mContext) - } else if (bannerInfo.isFirstCharge) { +// if (bannerInfo.isFairy) { +// HomeFairyActivity.start(mContext) +// } else + if (bannerInfo.isFirstCharge) { FirstChargeDialog.start(mContext) - } else if (bannerInfo.isBox) { - GoldBoxHelper.handleBoxClick(mContext) +// } else if (bannerInfo.isBox) { +// GoldBoxHelper.handleBoxClick(mContext) } else if (bannerInfo.isRadish) { PullRadishActivity.start(mContext) } else { diff --git a/app/src/main/java/com/chwl/app/treasurefairy/FairyViewModel.kt b/app/src/main/java/com/chwl/app/treasurefairy/FairyViewModel.kt deleted file mode 100644 index 14853a791..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/FairyViewModel.kt +++ /dev/null @@ -1,572 +0,0 @@ -package com.chwl.app.treasurefairy - -import android.util.SparseArray -import androidx.core.util.forEach -import androidx.lifecycle.LiveData -import androidx.lifecycle.MutableLiveData -import com.chwl.app.base.BaseViewModel -import com.chwl.app.base.Event -import com.chwl.app.treasurefairy.event.UpdateDataEvent -import com.chwl.app.treasurefairy.view.MyFairyItemView -import com.chwl.core.bean.response.ListResult -import com.chwl.core.gift.bean.SimpleUserInfo -import com.chwl.core.treasurefairy.Compound -import com.chwl.core.treasurefairy.DrawInfo -import com.chwl.core.treasurefairy.ExchangeGiftInfo -import com.chwl.core.treasurefairy.FairyInfo -import com.chwl.core.treasurefairy.FairyResolveParam -import com.chwl.core.treasurefairy.FairyTestParam -import com.chwl.core.treasurefairy.ForestInfo -import com.chwl.core.treasurefairy.MyFairyInfo -import com.chwl.core.treasurefairy.PrizeInfo -import com.chwl.core.treasurefairy.ResolveInfo -import com.chwl.core.treasurefairy.SendFairyInfo -import com.chwl.core.treasurefairy.TestFairyRecordInfo -import com.chwl.core.treasurefairy.TreasureFairyModel -import com.chwl.core.utils.net.ServerException -import com.chwl.core.utils.toast -import org.greenrobot.eventbus.EventBus - -class FairyViewModel : BaseViewModel() { - - private val _drawInfoLiveData = MutableLiveData() - val drawInfoLiveData: MutableLiveData = _drawInfoLiveData - - private val _prizeInfoListLiveData = MutableLiveData?>() - val prizeInfoListLiveData: MutableLiveData?> = _prizeInfoListLiveData - - private val _resultLiveData = MutableLiveData>?>() - val resultLiveData: MutableLiveData>?> = _resultLiveData - - private val _showGetKeyLiveData = MutableLiveData>() - val showGetKeyLiveData: LiveData> = _showGetKeyLiveData - - private val _drawForestLiveData = MutableLiveData>?>() - val drawForestLiveData: MutableLiveData>?> = _drawForestLiveData - - private val _forestInfoLiveData = MutableLiveData() - val forestInfoLiveData: MutableLiveData = _forestInfoLiveData - - private val _forestPoolLiveData = MutableLiveData?>?>() - val forestPoolLiveData: MutableLiveData?>?> = _forestPoolLiveData - - private val _forestRecordLiveData = MutableLiveData>() - val forestRecordLiveData: LiveData> = _forestRecordLiveData - - private val _myFairyInfoLiveData = MutableLiveData() - val myFairyInfoLiveData: MutableLiveData = _myFairyInfoLiveData - - private val _friendsListLiveData = MutableLiveData?>() - val friendsListLiveData: MutableLiveData?> = _friendsListLiveData - - private val _sendFairyLiveData = MutableLiveData>() - val sendFairyLiveData: LiveData> = _sendFairyLiveData - - private val _sendFairyRecordLiveData = MutableLiveData>() - val sendFairyRecordLiveData: LiveData> = _sendFairyRecordLiveData - - private val _compoundFairyInfosLiveData = MutableLiveData?>() - val compoundFairyInfosLiveData: MutableLiveData?> = - _compoundFairyInfosLiveData - - private val _testResultLiveData = MutableLiveData?>() - val testResultLiveData: MutableLiveData?> = _testResultLiveData - - private val _testLegendResultLiveData = MutableLiveData?>() - val testLegendResultLiveData: MutableLiveData?> = _testLegendResultLiveData - - private val _resolveResultLiveData = MutableLiveData?>() - val resolveResultLiveData: MutableLiveData?> = _resolveResultLiveData - - private val _testRecordLiveData = MutableLiveData>() - val testRecordLiveData: LiveData> = _testRecordLiveData - - private val _exchangeGiftListLiveData = MutableLiveData?>() - val exchangeGiftListLiveData: MutableLiveData?> = - _exchangeGiftListLiveData - - private val _exchangeGiftLiveData = MutableLiveData>() - val exchangeGiftLiveData: LiveData> = _exchangeGiftLiveData - - //精灵召唤列表 - private val _fairyCallInfoLiveData = MutableLiveData?>() - val fairyCallInfoLiveData: MutableLiveData?> = _fairyCallInfoLiveData - - private val _debrisExchangeListLiveData = MutableLiveData?>() - val debrisExchangeListLiveData: MutableLiveData?> = - _debrisExchangeListLiveData - - private val _debrisExchangeLiveData = MutableLiveData>() - val debrisExchangeLiveData: LiveData> = _debrisExchangeLiveData - - private val _exchangeFairyRecordLiveData = MutableLiveData>() - val exchangeFairyRecordLiveData: LiveData> = - _exchangeFairyRecordLiveData - - private val _exchangeDebrisRecordLiveData = MutableLiveData>() - val exchangeDebrisRecordLiveData: LiveData> = - _exchangeDebrisRecordLiveData - - private val _buyDebrisLiveData = MutableLiveData>() - val buyDebrisLiveData: LiveData> = _buyDebrisLiveData - - init { - initPrizeInfoList() - } - - fun initDrawInfo() { - safeLaunch( - onError = { - _drawInfoLiveData.value = null - }, - block = { - _drawInfoLiveData.value = TreasureFairyModel.getDrawInfo() - } - ) - } - - fun initPrizeInfoList() { - safeLaunch( - onError = { - _prizeInfoListLiveData.value = null - }, - block = { - _prizeInfoListLiveData.value = TreasureFairyModel.getPrizeInfoList() - } - ) - } - - fun drawFairy(drawNum: Int) { - safeLaunch( - onError = { - if (it is ServerException && it.code == 211188) { - _showGetKeyLiveData.value = Event(true) - } else { - it.message.toast() - } - _resultLiveData.value = null - }, - block = { - val result = TreasureFairyModel.drawTreasureFairy(drawNum) - _resultLiveData.value = result?.let { Event(it) } - _drawInfoLiveData.value = TreasureFairyModel.getDrawInfo() - } - ) - } - - fun drawForestFairy(drawNum: Int, poolLevel: Int) { - safeLaunch( - onError = { - it.message.toast() - _drawForestLiveData.value = null - }, - block = { - val result = TreasureFairyModel.drawForestFairy(drawNum, poolLevel) - _drawForestLiveData.value = result?.let { Event(it) } - _forestInfoLiveData.value = TreasureFairyModel.getForestInfo() - } - ) - } - - fun cleanDrawForestLiveData() { - _drawForestLiveData.value = null - } - - fun getForestInfo() { - safeLaunch( - onError = { - _forestInfoLiveData.value = null - }, - block = { - _forestInfoLiveData.value = TreasureFairyModel.getForestInfo() - } - ) - } - - fun getForestPrizePool(poolLevel: Int) { - safeLaunch( - onError = { - _forestPoolLiveData.value = null - }, - block = { - _forestPoolLiveData.value = - Pair(poolLevel, TreasureFairyModel.getForestPrizePool(poolLevel)) - } - ) - } - - fun getForestRecord( - page: Int, - pageSize: Int - ) { - safeLaunch( - onError = { - _forestRecordLiveData.value = ListResult.failed(page) - }, - block = { - val result = TreasureFairyModel.getForestRecord(page, pageSize) - _forestRecordLiveData.value = ListResult.success(result, page) - } - ) - } - - fun getMyFairyInfo() { - safeLaunch( - onError = { - _myFairyInfoLiveData.value = null - it.message.toast() - }, - block = { - _myFairyInfoLiveData.value = TreasureFairyModel.getMyFairyInfo() - } - ) - } - - /** - * 精灵召唤列表 - */ - fun getFairyCallInfo() { - safeLaunch( - onError = { - _myFairyInfoLiveData.value = null - it.message.toast() - }, - block = { - _myFairyInfoLiveData.value = TreasureFairyModel.getMyFairyInfo() - } - ) - } - - fun getFriendsList(nick: String? = null) { - safeLaunch( - onError = { - _friendsListLiveData.value = null - it.message.toast() - }, - block = { - _friendsListLiveData.value = TreasureFairyModel.getFriendsList(nick) - } - ) - } - - - fun askForFairy(elfId: Long, targetUid: Long) { - safeLaunch( - onError = { - _sendFairyLiveData.value = Event(false) - it.message.toast() - }, - block = { - TreasureFairyModel.askForFairy(elfId, targetUid) - _sendFairyLiveData.value = Event(true) - "已向好友發送索要信息".toast() - } - ) - } - - fun sendFairy(elfId: Long, targetUid: Long) { - safeLaunch( - onError = { - _sendFairyLiveData.value = Event(false) - it.message.toast() - }, - block = { - TreasureFairyModel.sendFairy(elfId, targetUid) - _sendFairyLiveData.value = Event(true) - "贈送成功!".toast() - EventBus.getDefault().post(UpdateDataEvent()) - } - ) - } - - fun getSendFairyList( - page: Int, - pageSize: Int - ) { - safeLaunch( - onError = { - _sendFairyRecordLiveData.value = ListResult.failed(page) - }, - block = { - val result = TreasureFairyModel.getSendFairyList(page, pageSize) - _sendFairyRecordLiveData.value = ListResult.success(result, page) - } - ) - } - - fun cleanTestParam() { - _compoundFairyInfosLiveData.value = null - _testLegendResultLiveData.value = null - _testResultLiveData.value = null - _resolveResultLiveData.value = null - val myFairyInfo = _myFairyInfoLiveData.value - myFairyInfo?.lowElves?.forEach { - it.selectedNum = 0 - } - myFairyInfo?.highElves?.forEach { - it.selectedNum = 0 - } - _myFairyInfoLiveData.value = myFairyInfo - } - - fun addTestFairy(fairyInfo: FairyInfo, size: Int) { - val array = _compoundFairyInfosLiveData.value ?: SparseArray() - - if (array.size() >= size) { - "試煉爐已滿!".toast() - } else { - if (fairyInfo.elfNum == 0) { - "你還未捕捉到該精靈".toast() - return - } - var selectedNum = 0 - array.forEach { _, value -> - if (value.elfId == fairyInfo.elfId) { - selectedNum++ - } - } - - if (selectedNum + 1 > fairyInfo.elfNum) { - "精靈數量不足".toast() - return - } - array.put(nextIndex(array), fairyInfo) - - fairyInfo.selectedNum = selectedNum + 1 - - _compoundFairyInfosLiveData.value = array - } - } - - fun minusTestFairy(index: Int) { - val array = _compoundFairyInfosLiveData.value ?: SparseArray() - val fairyInfo = array.get(index) - if (fairyInfo != null) { - array.remove(index) - var selectedNum = 0 - array.forEach { _, value -> - if (value.elfId == fairyInfo.elfId) { - selectedNum++ - } - } - fairyInfo.selectedNum = selectedNum - _compoundFairyInfosLiveData.value = array - } - } - - fun oneKeyAdd(fairyInfos: List, size: Int) { - val compoundFairyInfos = _compoundFairyInfosLiveData.value ?: SparseArray() - var needNum = size - compoundFairyInfos.size() - if (needNum == 0) { - "試煉爐已滿!".toast() - return - } - fairyInfos.forEach { - while (it.elfNum - it.selectedNum > 0 && needNum > 0) { - it.selectedNum++ - needNum-- - compoundFairyInfos.put(nextIndex(compoundFairyInfos), it) - } - } - if (needNum <= size && needNum != 0) { - "精靈數量不足".toast() - return - } - _compoundFairyInfosLiveData.value = compoundFairyInfos - } - - private fun nextIndex(fairyInfos: SparseArray): Int { - return when { - fairyInfos.get(0) == null -> { - 0 - } - fairyInfos.get(1) == null -> { - 1 - } - fairyInfos.get(2) == null -> { - 2 - } - fairyInfos.get(3) == null -> { - 3 - } - else -> { - 4 - } - } - } - - fun testFairy(level: Int): Boolean { - val fairyInfos = _compoundFairyInfosLiveData.value ?: SparseArray() - if (fairyInfos.size() != 5) { - "精靈數量不足".toast() - return false - } - safeLaunch( - onError = { - if (level == MyFairyItemView.LEGEND) { - _testLegendResultLiveData.value = null - } else { - _testResultLiveData.value = null - } - - it.message.toast() - }, - block = { - val fairyTestParam = FairyTestParam() - fairyInfos.forEach { _, value -> - fairyTestParam.expendList.add(Compound(value.elfId, 1)) - } - fairyTestParam.level = level - val result = TreasureFairyModel.testFairy(fairyTestParam) - (if (level == MyFairyItemView.LEGEND) { - _testLegendResultLiveData - } else { - _testResultLiveData - }).value = result?.let { Event(it) } - getMyFairyInfo() - } - ) - return true - } - - fun resolveFairy(): Boolean { - val fairyInfos = _compoundFairyInfosLiveData.value ?: SparseArray() - if (fairyInfos.size() != 1) { - "精靈數量不足".toast() - return false - } - safeLaunch( - onError = { - _resolveResultLiveData.value = null - it.message.toast() - }, - block = { - val fairyTestParam = FairyResolveParam() - fairyInfos.forEach { _, value -> - fairyTestParam.expendList.add(Compound(value.elfId, 1)) - } - val result = TreasureFairyModel.resolveFairy(fairyTestParam) - _resolveResultLiveData.value = result?.let { Event(it[0]) } - getMyFairyInfo() - } - ) - return true - } - - fun getTestFairyRecordList( - page: Int, - pageSize: Int - ) { - safeLaunch( - onError = { - _testRecordLiveData.value = ListResult.failed(page) - }, - block = { - val result = TreasureFairyModel.getTestFairyRecordList(page, pageSize) - _testRecordLiveData.value = ListResult.success(result, page) - } - ) - } - - fun getExchangeGiftInfoList() { - safeLaunch( - onError = { - _exchangeGiftListLiveData.value = null - }, - block = { - val result = TreasureFairyModel.getExchangeGiftInfoList() - _exchangeGiftListLiveData.value = result - } - ) - } - - //精灵召唤列表 - fun getFairyCallList() { - safeLaunch( - onError = { - _fairyCallInfoLiveData.value = null - }, - block = { - val result = TreasureFairyModel.getFairyCallList() - _fairyCallInfoLiveData.value = result - } - ) - } - - fun getDebrisExchangeList() { - safeLaunch( - onError = { - _debrisExchangeListLiveData.value = null - }, - block = { - val result = TreasureFairyModel.getDebrisExchangeList() - _debrisExchangeListLiveData.value = result - } - ) - } - - fun exchangeGift(itemId: Long) { - safeLaunch { - val result = TreasureFairyModel.exchangeGift(itemId) - _exchangeGiftLiveData.value = result?.let { Event(it) } - _myFairyInfoLiveData.value = TreasureFairyModel.getMyFairyInfo() - } - } - - fun debrisExchange(itemId: Long) { - safeLaunch { - val result = TreasureFairyModel.exchangeGift(itemId) - _debrisExchangeLiveData.value = result?.let { Event(it) } - _myFairyInfoLiveData.value = TreasureFairyModel.getMyFairyInfo() - initDrawInfo() - } - } - - fun getExchangeFairyRecord( - page: Int, - pageSize: Int - ) { - safeLaunch( - onError = { - _exchangeFairyRecordLiveData.value = ListResult.failed(page) - }, - block = { - val result = TreasureFairyModel.getExchangeRecord(1, page, pageSize) - _exchangeFairyRecordLiveData.value = ListResult.success(result, page) - } - ) - } - - fun getExchangeDebrisRecord( - page: Int, - pageSize: Int - ) { - safeLaunch( - onError = { - _exchangeDebrisRecordLiveData.value = ListResult.failed(page) - }, - block = { - val result = TreasureFairyModel.getExchangeRecord(2, page, pageSize) - _exchangeDebrisRecordLiveData.value = ListResult.success(result, page) - } - ) - } - - fun buyDebris(num: Int, uid: String) { - safeLaunch( - block = { - TreasureFairyModel.buyDebris(num, uid) - - _drawInfoLiveData.value?.apply { - this.drawTicketNum = this.drawTicketNum + num - _drawInfoLiveData.value = this - } - - initDrawInfo() - - _buyDebrisLiveData.value = Event(num) - } - ) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/HomeFairyActivity.kt b/app/src/main/java/com/chwl/app/treasurefairy/HomeFairyActivity.kt deleted file mode 100644 index 90514d259..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/HomeFairyActivity.kt +++ /dev/null @@ -1,571 +0,0 @@ -package com.chwl.app.treasurefairy - -import android.animation.ObjectAnimator -import android.annotation.SuppressLint -import android.content.Context -import android.content.Intent -import android.content.pm.ActivityInfo -import android.graphics.Path -import android.os.Build -import android.os.Bundle -import android.text.style.ForegroundColorSpan -import android.view.* -import android.view.animation.AnimationUtils -import android.widget.LinearLayout -import android.widget.TextView -import androidx.activity.viewModels -import androidx.core.content.ContextCompat -import androidx.core.graphics.toColorInt -import androidx.core.widget.doAfterTextChanged -import com.alibaba.fastjson.JSON -import com.hjq.toast.ToastUtils -import com.netease.nim.uikit.common.util.sys.ScreenUtil -import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder -import com.chwl.app.R -import com.chwl.app.base.BaseViewBindingActivity -import com.chwl.app.common.widget.dialog.DialogManager -import com.chwl.app.databinding.TreasureFairyDialogHomeBinding -import com.chwl.app.treasure_box.activity.TreasureBoxActivity -import com.chwl.app.treasurefairy.dialog.* -import com.chwl.app.treasurefairy.view.CustomDrawable -import com.chwl.app.ui.webview.FairyDialogWebViewActivity -import com.chwl.app.utils.KeyBoardUtils -import com.chwl.app.utils.SpannableBuilder -import com.chwl.core.UriProvider -import com.chwl.core.auth.AuthModel -import com.chwl.core.bean.BaseProtocol -import com.chwl.core.gift.bean.LuckyBagNoticeInfo -import com.chwl.core.im.custom.bean.* -import com.chwl.core.manager.AvRoomDataManager -import com.chwl.core.manager.IMNetEaseManager -import com.chwl.core.manager.RoomEvent -import com.chwl.core.treasurefairy.DrawInfo -import com.chwl.core.treasurefairy.FairyMsgInfoBean -import com.chwl.core.treasurefairy.PrizeInfo -import com.chwl.library.common.SpConstants -import com.chwl.library.common.util.SPUtils -import com.chwl.library.utils.FormatUtils -import com.chwl.library.utils.SingleToastUtil -import com.chwl.library.utils.TimeUtils -import io.reactivex.Observable -import io.reactivex.android.schedulers.AndroidSchedulers -import io.reactivex.disposables.Disposable -import java.util.concurrent.TimeUnit - -/** - * author: wushaocheng - * time: 2023/3/7 - * desc: 奪寶精靈 - */ -class HomeFairyActivity : BaseViewBindingActivity() { - private var selectIndex = 0 - private var targetIndex: Int = -1 - private val removeRunnable = Runnable { binding.llPrizeHint.removeAllViews() } - private val hintPrizeCacheList = ArrayList() - - private var disposable: Disposable? = null - private val viewModel: FairyViewModel by viewModels() - - private var drawInfo: DrawInfo? = null - - private var isCheck = false - - private var mPrice = -1 - - companion object { - @JvmStatic - fun start(context: Context) { - val starter = Intent(context, HomeFairyActivity::class.java) - context.startActivity(starter) - } - } - - private val fairyItems by lazy { - listOf( - binding.fairyItem0, binding.fairyItem1, binding.fairyItem2, binding.fairyItem3, - binding.fairyItem4, binding.fairyItem5, binding.fairyItem6, binding.fairyItem7, - binding.fairyItem8, binding.fairyItem9, binding.fairyItem10, binding.fairyItem11 - ) - } - - override fun initBefore(savedInstanceState: Bundle?) { - super.initBefore(savedInstanceState) - //适配8.0和8.1不能同时设置屏幕固定方向和透明窗口背景的问题 - if (Build.VERSION.SDK_INT != Build.VERSION_CODES.O && Build.VERSION.SDK_INT != Build.VERSION_CODES.O_MR1) { - requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT - } - } - - @SuppressLint("SetTextI18n") - override fun init() { - //這裏的height用MATCH_PARENT狀態欄會被頂上去,不知道什麼鬼 - window.setLayout( - WindowManager.LayoutParams.MATCH_PARENT, - ScreenUtil.screenHeight - ScreenUtil.getStatusBarHeight(this) - ) - window.setGravity(Gravity.BOTTOM) - - binding.fairyItem0.isSelected = true - looperHintPrize() - - binding.viewPrice1.setOnClickListener { - setFairyPriceSelect(1) - } - binding.viewPrice2.setOnClickListener { - setFairyPriceSelect(2) - } - binding.viewPrice3.setOnClickListener { - setFairyPriceSelect(3) - } - - binding.etQuantity.doAfterTextChanged { - try { - mPrice = it.toString().toInt() - if (mPrice > TreasureBoxActivity.MAX_BUY_QUANTITY_LIMIT) { - mPrice = TreasureBoxActivity.MAX_BUY_QUANTITY_LIMIT - binding.etQuantity.setText(mPrice.toString()) - binding.etQuantity.setSelection(binding.etQuantity.text.length) - SingleToastUtil.showToast( - getString( - R.string.treasure_box_activity_treasureboxactivity_01, - TreasureBoxActivity.MAX_BUY_QUANTITY_LIMIT - ) - ) - } - setFairyPriceSelect(0) - } catch (e: NumberFormatException) { - e.printStackTrace() - mPrice = -1 - } - } - - binding.tvBuy.setOnClickListener { - if (mPrice < 1) { - toast("請選擇購買的碎片數量") - return@setOnClickListener - } - - val date = SPUtils.getLong(SpConstants.FAIRY_BUY_DEBRIS, 0L) - if (TimeUtils.isToday(date)) { - viewModel.buyDebris( - mPrice, - AuthModel.get().currentUid.toString() - ) - return@setOnClickListener - } - - FairyBuyDebrisDialog.newInstance(mPrice).show(context) - } - - viewModel.buyDebrisLiveData.observe(this) { - val date = SPUtils.getLong(SpConstants.FAIRY_BUY_SUCCESS, 0L) - if (TimeUtils.isToday(date)) { - ToastUtils.show("購買碎片成功") - return@observe - } - - FairyBuySuccessDialog.newInstance(it.peekContent()).show(this) - - } - - binding.ivMyFairy.setOnClickListener { - MyFairyDialog.newInstance().show(this) - } - binding.ivFairyStore.setOnClickListener { - ExchangeFairyDialog.newInstance().show(context) - } - binding.ivOpen1.setOnClickListener { - if (checkKeyNum(1)) { - rotatePrize() - viewModel.drawFairy(1) - } - - } - binding.ivOpen10.setOnClickListener { - if (checkKeyNum(10)) { - rotatePrize() - viewModel.drawFairy(10) - } - } - - binding.ivOpen100.setOnClickListener { - if (checkKeyNum(100)) { - rotatePrize() - viewModel.drawFairy(100) - } - } - binding.rootView.setOnClickListener { finish() } - binding.viewBg.setOnClickListener { - //do nothing - } - - binding.ivMore.setOnClickListener { - val popupWindow = HomeMorePopupWindow(context) - popupWindow.show(binding.ivMore, Gravity.BOTTOM or Gravity.CENTER_HORIZONTAL) - } - - binding.viewPrizeClick.setOnClickListener { - if (disposable?.isDisposed == false && targetIndex != -1) { - fairyItems[selectIndex].isSelected = false - fairyItems[targetIndex].isSelected = true - selectIndex = targetIndex - targetIndex = -1 - HomePrizeDialog.newInstance().show(context) - disposable?.dispose() - } - } - - binding.cbWinResult.setOnCheckedChangeListener { _, isChecked -> - isCheck = isChecked - } - - binding.viewBgLuckyValue.setOnClickListener { - binding.ivRefresh.startAnimation( - AnimationUtils.loadAnimation( - this, - R.anim.comm_loading - ) - ) - viewModel.initDrawInfo() - } - - viewModel.prizeInfoListLiveData.observe(this) { - it?.forEachIndexed { index, prizeInfo -> - if (index < fairyItems.size) { - fairyItems[index].setPrizeInfo(prizeInfo) - } - } - } - - viewModel.resultLiveData.observe(this) { event -> - event?.getContentIfNotHandled()?.let { - targetIndex = viewModel.prizeInfoListLiveData.value - ?.indexOfFirst { prize -> - it[0].itemIndex == prize.itemIndex - } ?: -2 - if (targetIndex >= fairyItems.size) { - targetIndex = 0 - } - if (targetIndex == -2) { - viewModel.initPrizeInfoList() - } - hintPrizeCacheList.addAll(it.filter { prizeInfo -> prizeInfo.rewardLevel >= 3 }) - } ?: run { - targetIndex = -1 - disposable?.dispose() - } - } - - viewModel.drawInfoLiveData.observe(this) { - binding.ivRefresh.clearAnimation() - - it?.let { - drawInfo = it - binding.tvKeyNum.text = FormatUtils.formatBigNum(it.drawTicketNum.toString()) - binding.tvCurrentLuckyValue.text = it.luckyNum.toString() - - binding.tvShortLuckyValue.text = - SpannableBuilder() - .append("還差", ForegroundColorSpan("#59FDFF".toColorInt())) - .append("${it.needLuckyNum}", ForegroundColorSpan("#FFE8AA".toColorInt())) - .append( - "幸運值,額外獲贈傳説精靈", - ForegroundColorSpan("#59FDFF".toColorInt()) - ) - .build() - binding.ivLuckyStone.post { - val drawable = - CustomDrawable( - ContextCompat.getDrawable( - this, - R.drawable.treasure_fairy_ic_lucky_stone - )!! - ) - val path = Path() - path.addRect( - 0f, - 0f, - binding.ivLuckyStone.width.toFloat(), - binding.ivLuckyStone.height * - (1 - it.luckyNum / (it.luckyNum + it.needLuckyNum).toFloat() - .coerceAtLeast(1f)), - Path.Direction.CW - ) - drawable.setSrcPath(path) - binding.ivLuckyStone.setImageDrawable(drawable) - } - } - } - - viewModel.showGetKeyLiveData.observe(this) { - it.getContentIfNotHandled()?.let { - DialogManager(context).showOkCancelDialog( - "購買限時裝扮活動奪寶券", - "去參与", - "取消" - ) { - FairyDialogWebViewActivity.start(context, UriProvider.getFairyKey()) - } - } - } - } - - private fun setFairyPriceSelect(pos: Int) { - if (pos == 0) { - binding.viewPrice1.isSelected = false - binding.viewPrice2.isSelected = false - binding.viewPrice3.isSelected = false - binding.ivDebris1.alpha = 0.4f - binding.ivDebris2.alpha = 0.4f - binding.ivDebris3.alpha = 0.4f - binding.tvOne.alpha = 0.4f - binding.tvTwo.alpha = 0.4f - binding.tvThree.alpha = 0.4f - return - } - - binding.etQuantity.text = null - KeyBoardUtils.hideKeyBoard(this, binding.etQuantity) - binding.etQuantity.clearFocus() - - when (pos) { - 1 -> { - mPrice = 1 - binding.viewPrice1.isSelected = true - binding.viewPrice2.isSelected = false - binding.viewPrice3.isSelected = false - binding.ivDebris1.alpha = 1f - binding.ivDebris2.alpha = 0.4f - binding.ivDebris3.alpha = 0.4f - binding.tvOne.alpha = 1f - binding.tvTwo.alpha = 0.4f - binding.tvThree.alpha = 0.4f - } - - 2 -> { - mPrice = 10 - binding.viewPrice1.isSelected = false - binding.viewPrice2.isSelected = true - binding.viewPrice3.isSelected = false - binding.ivDebris1.alpha = 0.4f - binding.ivDebris2.alpha = 1f - binding.ivDebris3.alpha = 0.4f - binding.tvOne.alpha = 0.4f - binding.tvTwo.alpha = 1f - binding.tvThree.alpha = 0.4f - } - - 3 -> { - mPrice = 100 - binding.viewPrice1.isSelected = false - binding.viewPrice2.isSelected = false - binding.viewPrice3.isSelected = true - binding.ivDebris1.alpha = 0.4f - binding.ivDebris2.alpha = 0.4f - binding.ivDebris3.alpha = 1f - binding.tvOne.alpha = 0.4f - binding.tvTwo.alpha = 0.4f - binding.tvThree.alpha = 1f - } - } - } - - private fun checkKeyNum(num: Int): Boolean { - val keyNum = drawInfo?.drawTicketNum ?: 0 - if (keyNum >= num) { - return true - } - FairyBuyDebrisModifyQuantityDialog.newInstance(num).show(this) - return false - } - - override fun onResume() { - super.onResume() - viewModel.initDrawInfo() - } - - private fun rotatePrize() { - enabledOpenBtn(false) - targetIndex = -1 - var minCount = 0 - disposable?.dispose() - disposable = Observable.interval(70, TimeUnit.MILLISECONDS) - .observeOn(AndroidSchedulers.mainThread()) - .compose(bindToLifecycle()) - .doOnNext { - fairyItems[selectIndex].isSelected = false - selectIndex++ - minCount++ - if (selectIndex == fairyItems.size) selectIndex = 0 - if (targetIndex != -2) { - fairyItems[selectIndex].isSelected = true - } - if ((selectIndex == targetIndex || targetIndex == -2) && minCount >= 24) { - if (!isCheck) { - HomePrizeDialog.newInstance().show(context) - } - disposable?.dispose() - } - } - .doFinally { enabledOpenBtn(true) } - .subscribe() - } - - private fun enabledOpenBtn(enable: Boolean) { - binding.ivOpen1.isEnabled = enable - binding.ivOpen10.isEnabled = enable - binding.ivOpen100.isEnabled = enable - } - - @SuppressLint("CheckResult") - private fun looperHintPrize() { - Observable.interval(0, 250, TimeUnit.MILLISECONDS) - .compose(bindToLifecycle()) - .observeOn(AndroidSchedulers.mainThread()) - .filter { hintPrizeCacheList.size > 0 } - .subscribe( - { - addPrizeHintView(hintPrizeCacheList.removeAt(0)) - }) { looperHintPrize() } //出錯了繼續looper...... - } - - private fun addPrizeHintView(prizeInfo: PrizeInfo) { - binding.llPrizeHint.removeCallbacks(removeRunnable) - binding.llPrizeHint.postDelayed(removeRunnable, 3000) - val linearLayout = - LayoutInflater.from(context) - .inflate(R.layout.item_fairy_prize_hint, null) as LinearLayout - val layoutParams = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ScreenUtil.dip2px(25f)) - layoutParams.setMargins(0, 0, 0, ScreenUtil.dip2px(5f)) - linearLayout.layoutParams = layoutParams - linearLayout.setBackgroundResource(R.drawable.treasure_fairy_bg_big_prize) - linearLayout.setPadding(ScreenUtil.dip2px(10f), 0, ScreenUtil.dip2px(10f), 0) - binding.llPrizeHint.addView(linearLayout) - if (binding.llPrizeHint.childCount > 6) { - binding.llPrizeHint.removeViewAt(0) - } - for (i in 0 until binding.llPrizeHint.childCount) { - ObjectAnimator.ofFloat( - binding.llPrizeHint.getChildAt(i), - "translationY", - ScreenUtil.dip2px(25f).toFloat(), - 0f - ) - .setDuration(200) - .start() - } - (linearLayout.findViewById(R.id.tv_prize_name) as TextView).text = - prizeInfo.rewardName - (linearLayout.findViewById(R.id.tv_prize_num) as TextView).text = - "x" + prizeInfo.rewardNum - } - - /** - * 接收到全局广播信息 - * - * @param body 信息实体 - */ - override fun onReceivedNimBroadcastMessage(body: String?) { - val baseProtocol: BaseProtocol<*> = try { - JSON.parseObject(body, BaseProtocol::class.java) - } catch (e: Exception) { - null - } ?: return - when (baseProtocol.first) { - CustomAttachment.CUSTOM_MSG_BOX -> if (baseProtocol.second == CustomAttachment.CUSTOM_MSG_SUB_BOX_ALL_ROOM_NOTIFY_BY_SVGA) { - val roomBoxPrizeAttachment = RoomBoxPrizeAttachment( - CustomAttachment.CUSTOM_MSG_BOX, - CustomAttachment.CUSTOM_MSG_SUB_BOX_ALL_ROOM_NOTIFY_BY_SVGA - ) - val roomBoxPrizeBean = JSON.parseObject( - baseProtocol.data.toString(), - RoomBoxPrizeInfo::class.java - ) - roomBoxPrizeAttachment.uid = roomBoxPrizeBean.uid - roomBoxPrizeAttachment.prizeName = roomBoxPrizeBean.prizeName - roomBoxPrizeAttachment.nick = roomBoxPrizeBean.nick - roomBoxPrizeAttachment.boxTypeStr = roomBoxPrizeBean.boxTypeStr - roomBoxPrizeAttachment.roomUid = roomBoxPrizeBean.roomUid - roomBoxPrizeAttachment.prizeNum = roomBoxPrizeBean.prizeNum - roomBoxPrizeAttachment.userLevelLimit = roomBoxPrizeBean.userLevelLimit - if (AvRoomDataManager.get().isOpenPureMode) { - // 純凈模式打開後,僅能看跟自己相關的砸蛋消息 - if (roomBoxPrizeAttachment.uid == AuthModel.get().currentUid) { - val message = ChatRoomMessageBuilder.createChatRoomCustomMessage( - AvRoomDataManager.get().roomId.toString(), - roomBoxPrizeAttachment - ) - IMNetEaseManager.get().addMessages(message) - } - } else { - val message = ChatRoomMessageBuilder.createChatRoomCustomMessage( - AvRoomDataManager.get().roomId.toString(), - roomBoxPrizeAttachment - ) - IMNetEaseManager.get().addMessages(message) - IMNetEaseManager.get().chatRoomEventObservable - .onNext( - RoomEvent() - .setEvent(RoomEvent.BOX_NOTIFY_SVGA) - .setChatRoomMessage(message) - ) - } - } - - CustomAttachment.CUSTOM_MSG_LUCKY_SEA -> if (baseProtocol.second == CustomAttachment.CUSTOM_MSG_LUCKY_SEA_GIFT_SERVER_ALL) { - val attachment = RoomLuckySeaAttachment( - CustomAttachment.CUSTOM_MSG_LUCKY_SEA, - CustomAttachment.CUSTOM_MSG_LUCKY_SEA_GIFT_SERVER_ALL - ) - attachment.setRoomLuckySeaMsgBean( - JSON.parseObject( - baseProtocol.data.toString(), - RoomLuckySeaMsgBean::class.java - ) - ) - val message = ChatRoomMessageBuilder.createChatRoomCustomMessage( - AvRoomDataManager.get().roomId.toString(), - attachment - ) - IMNetEaseManager.get().addMessages(message) - IMNetEaseManager.get() - .noticeRoomEvent(message, RoomEvent.LUCKY_SEA_GIFT_SERVER_NOTIFY) - } - - CustomAttachment.CUSTOM_MSG_LUCKY_GIFT -> if (baseProtocol.second == CustomAttachment.CUSTOM_MSG_LUCKY_GIFT_SERVER_NOTIFY || baseProtocol.second == CustomAttachment.CUSTOM_MSG_LUCKY_GIFT_SERVER_ALL) { - val attachment = - RoomReceivedLuckyGiftAttachment(CustomAttachment.CUSTOM_MSG_LUCKY_GIFT_SERVER_NOTIFY) - attachment.luckyBagNoticeInfo = JSON.parseObject( - baseProtocol.data.toString(), - LuckyBagNoticeInfo::class.java - ) - val message = ChatRoomMessageBuilder.createChatRoomCustomMessage( - AvRoomDataManager.get().roomId.toString(), - attachment - ) - IMNetEaseManager.get().noticeServiceLuckyBagNotice(message) - IMNetEaseManager.get().addMessages(message) - } - - CustomAttachment.CUSTOM_MSG_FAIRY -> if (baseProtocol.second == CustomAttachment.CUSTOM_MSG_SUB_DRAW_GIFT_L5) { - val attachment = FairyMsgAttachment( - CustomAttachment.CUSTOM_MSG_FAIRY, - CustomAttachment.CUSTOM_MSG_SUB_DRAW_GIFT_L5 - ) - attachment.fairyMsgInfo = JSON.parseObject( - baseProtocol.data.toString(), - FairyMsgInfoBean::class.java - ) - val message = ChatRoomMessageBuilder.createChatRoomCustomMessage( - AvRoomDataManager.get().roomId.toString(), - attachment - ) - IMNetEaseManager.get().noticeRoomEvent(message, RoomEvent.FAIRY_DRAW_GIFT_L5) - } - - else -> {} - } - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ExchangeDebrisAdapter.kt b/app/src/main/java/com/chwl/app/treasurefairy/adapter/ExchangeDebrisAdapter.kt deleted file mode 100644 index ba948e1cf..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ExchangeDebrisAdapter.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.chwl.app.treasurefairy.adapter - -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.chwl.app.R -import com.chwl.app.ui.utils.ImageLoadUtilsV2 -import com.chwl.core.treasurefairy.ExchangeGiftInfo - -class ExchangeDebrisAdapter : - BaseQuickAdapter(R.layout.treasure_fairy_item_exchange_debris) { - - override fun convert(helper: BaseViewHolder, item: ExchangeGiftInfo) { - ImageLoadUtilsV2.loadImage(helper.getView(R.id.iv_prize_icon), item.rewardPicUrl) - helper.setText(R.id.tv_prize_name, item.getPrizeName()) - - helper.setText(R.id.tv_value, item.expendNum.toString()) - helper.addOnClickListener(R.id.tv_exchange) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ExchangeDebrisRecordAdapter.kt b/app/src/main/java/com/chwl/app/treasurefairy/adapter/ExchangeDebrisRecordAdapter.kt deleted file mode 100644 index 1acedbece..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ExchangeDebrisRecordAdapter.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.chwl.app.treasurefairy.adapter - -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.chwl.app.R -import com.chwl.core.treasurefairy.ExchangeGiftInfo -import java.text.SimpleDateFormat -import java.util.* - -class ExchangeDebrisRecordAdapter : - BaseQuickAdapter(R.layout.treasure_fairy_item_exchange_debris_record) { - - private val formatYear = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val formatHour = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - - override fun convert(helper: BaseViewHolder, item: ExchangeGiftInfo) { - - helper.setText(R.id.tv_time_year, formatYear.format(item.createTime)) - helper.setText(R.id.tv_time_hour, formatHour.format(item.createTime)) - helper.setText(R.id.tv_prize_name, item.rewardName) - helper.setText(R.id.tv_prize_num, item.getPrizeUnit()) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ExchangeFairyRecordAdapter.kt b/app/src/main/java/com/chwl/app/treasurefairy/adapter/ExchangeFairyRecordAdapter.kt deleted file mode 100644 index 52ff3622f..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ExchangeFairyRecordAdapter.kt +++ /dev/null @@ -1,23 +0,0 @@ -package com.chwl.app.treasurefairy.adapter - -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.chwl.app.R -import com.chwl.core.treasurefairy.ExchangeGiftInfo -import java.text.SimpleDateFormat -import java.util.* - -class ExchangeFairyRecordAdapter : - BaseQuickAdapter(R.layout.treasure_fairy_item_exchange_fairy_record) { - - private val formatYear = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val formatHour = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - - override fun convert(helper: BaseViewHolder, item: ExchangeGiftInfo) { - - helper.setText(R.id.tv_time_year, formatYear.format(item.createTime)) - helper.setText(R.id.tv_time_hour, formatHour.format(item.createTime)) - helper.setText(R.id.tv_prize_name, "${item.rewardName}x${item.rewardNum}") - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ExchangeFairyResultAdapter.kt b/app/src/main/java/com/chwl/app/treasurefairy/adapter/ExchangeFairyResultAdapter.kt deleted file mode 100644 index af5aee61e..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ExchangeFairyResultAdapter.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.chwl.app.treasurefairy.adapter - -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.chwl.app.R -import com.chwl.app.ui.utils.ImageLoadUtilsV2 -import com.chwl.core.treasurefairy.ExchangeGiftInfo - -class ExchangeFairyResultAdapter : - BaseQuickAdapter(R.layout.treasure_fairy_item_forest_prize_single) { - - override fun convert(helper: BaseViewHolder, item: ExchangeGiftInfo) { - ImageLoadUtilsV2.loadImage(helper.getView(R.id.iv_prize_icon), item.rewardPicUrl) - helper.setText(R.id.tv_prize_name, item.rewardName) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ExchangeSummonAdapter.kt b/app/src/main/java/com/chwl/app/treasurefairy/adapter/ExchangeSummonAdapter.kt deleted file mode 100644 index 86e6b7275..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ExchangeSummonAdapter.kt +++ /dev/null @@ -1,33 +0,0 @@ -package com.chwl.app.treasurefairy.adapter - -import androidx.recyclerview.widget.RecyclerView -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.chwl.app.R -import com.chwl.app.ui.utils.ImageLoadUtilsV2 -import com.chwl.core.treasurefairy.ExchangeGiftInfo -import com.chwl.core.treasurefairy.PropItemInfo - -class ExchangeSummonAdapter : - BaseQuickAdapter(R.layout.treasure_fairy_item_exchange_summon) { - - override fun convert(helper: BaseViewHolder, item: ExchangeGiftInfo) { - ImageLoadUtilsV2.loadImage(helper.getView(R.id.iv_prize_icon), item.rewardPicUrl) - helper.setText(R.id.tv_prize_name, item.getPrizeName()) - - val adapter: BaseQuickAdapter = - object : BaseQuickAdapter(R.layout.item_exchange_debris) { - override fun convert(helper: BaseViewHolder, item: PropItemInfo) { - ImageLoadUtilsV2.loadImage(helper.getView(R.id.iv_icon), item.picUrl) - helper.setText(R.id.tv_num, "${item.propName}x${item.propNum}") - } - } - helper.getView(R.id.mRecyclerView).adapter = adapter - item.propItems?.let { - adapter.setNewData(it) - } - - helper.addOnClickListener(R.id.tv_exchange) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ForestIndicatorAdapter.java b/app/src/main/java/com/chwl/app/treasurefairy/adapter/ForestIndicatorAdapter.java deleted file mode 100644 index 61499b08d..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ForestIndicatorAdapter.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.chwl.app.treasurefairy.adapter; - -import android.content.Context; -import android.graphics.Color; -import android.view.Gravity; -import android.view.ViewGroup; -import android.widget.FrameLayout; -import android.widget.TextView; - -import androidx.core.content.ContextCompat; - -import com.chwl.app.R; -import com.chwl.app.ui.widget.XRecyclerView.ScaleTransitionPagerTitleView; -import com.chwl.app.ui.widget.magicindicator.buildins.UIUtil; -import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter; -import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.abs.IPagerIndicator; -import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.abs.IPagerTitleView; -import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator; - -import java.util.List; - -public class ForestIndicatorAdapter extends CommonNavigatorAdapter { - private final Context mContext; - private final List mTitleList; - - private int textSize = 15; - private float minScale = 1f; - private OnItemSelectListener mOnItemSelectListener; - - public ForestIndicatorAdapter(Context context, List charSequences) { - this.mContext = context; - this.mTitleList = charSequences; - } - - @Override - public int getCount() { - return mTitleList == null ? 0 : mTitleList.size(); - } - - @Override - public IPagerTitleView getTitleView(Context context, final int i) { - ScaleTransitionPagerTitleView scaleTransitionPagerTitleView = new ScaleTransitionPagerTitleView(context, true); - scaleTransitionPagerTitleView.setNormalColor(ContextCompat.getColor(context, R.color.white)); - scaleTransitionPagerTitleView.setSelectedColor(ContextCompat.getColor(context, R.color.white)); - scaleTransitionPagerTitleView.setMinScale(minScale); - scaleTransitionPagerTitleView.setTextSize(textSize); - int padding = UIUtil.dip2px(context, 12); - scaleTransitionPagerTitleView.setPadding(padding, 0, padding, 0); - scaleTransitionPagerTitleView.setText(mTitleList.get(i)); - scaleTransitionPagerTitleView.setOnClickListener(view -> { - if (mOnItemSelectListener != null) { - mOnItemSelectListener.onItemSelect(i, scaleTransitionPagerTitleView); - } - - }); - return scaleTransitionPagerTitleView; - } - - @Override - public IPagerIndicator getIndicator(Context context) { - LinePagerIndicator indicator = new LinePagerIndicator(context); - indicator.setMode(LinePagerIndicator.MODE_EXACTLY); - indicator.setLineHeight(UIUtil.dip2px(mContext, 4)); - indicator.setRoundRadius(UIUtil.dip2px(mContext, 2)); - indicator.setLineWidth(UIUtil.dip2px(mContext, 60)); - indicator.setColors(Color.parseColor("#69FFEB"),Color.parseColor("#EAFF89")); - FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); - lp.gravity = Gravity.BOTTOM; - indicator.setLayoutParams(lp); - return indicator; - } - - public int getTextSize() { - return textSize; - } - - public void setTextSize(int textSize) { - this.textSize = textSize; - } - - public float getMinScale() { - return minScale; - } - - public void setMinScale(float minScale) { - this.minScale = minScale; - } - - public void setOnItemSelectListener(OnItemSelectListener onItemSelectListener) { - mOnItemSelectListener = onItemSelectListener; - } - - public interface OnItemSelectListener { - void onItemSelect(int position, TextView view); - } -} diff --git a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ForestPrizeAdapter.kt b/app/src/main/java/com/chwl/app/treasurefairy/adapter/ForestPrizeAdapter.kt deleted file mode 100644 index 5ade4739f..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ForestPrizeAdapter.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.chwl.app.treasurefairy.adapter - -import android.widget.ImageView -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.chwl.app.R -import com.chwl.app.ui.utils.load -import com.chwl.core.treasurefairy.PrizeInfo - -class ForestPrizeAdapter(val isSingle: Boolean = false) : - BaseQuickAdapter( - if (isSingle) { - R.layout.treasure_fairy_item_forest_prize_single - } else { - R.layout.treasure_fairy_item_forest_prize - } - ) { - - override fun convert(helper: BaseViewHolder, item: PrizeInfo) { - helper.getView(R.id.iv_prize_icon).load(item.rewardPicUrl) - helper.setText(R.id.tv_prize_name, "${item.rewardName}x${item.rewardNum}") - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ForestPrizesChildAdapter.kt b/app/src/main/java/com/chwl/app/treasurefairy/adapter/ForestPrizesChildAdapter.kt deleted file mode 100644 index 08b860b5f..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ForestPrizesChildAdapter.kt +++ /dev/null @@ -1,18 +0,0 @@ -package com.chwl.app.treasurefairy.adapter - -import android.widget.ImageView -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.chwl.app.R -import com.chwl.app.ui.utils.load -import com.chwl.core.treasurefairy.PrizeInfo - -class ForestPrizesChildAdapter : - BaseQuickAdapter(R.layout.treasure_fairy_item_forest_prizes_child) { - - override fun convert(helper: BaseViewHolder, item: PrizeInfo) { - helper.getView(R.id.iv_prize_icon).load(item.rewardPicUrl) - helper.setText(R.id.tv_prize_name, item.rewardName) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ForestPrizesRecordAdapter.kt b/app/src/main/java/com/chwl/app/treasurefairy/adapter/ForestPrizesRecordAdapter.kt deleted file mode 100644 index a2a181e95..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ForestPrizesRecordAdapter.kt +++ /dev/null @@ -1,30 +0,0 @@ -package com.chwl.app.treasurefairy.adapter - -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.chwl.app.R -import com.chwl.core.treasurefairy.PrizeInfo -import java.text.SimpleDateFormat -import java.util.* - -class ForestPrizesRecordAdapter : - BaseQuickAdapter(R.layout.treasure_fairy_item_forest_prizes_record) { - - private val formatYear = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val formatHour = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - - override fun convert(helper: BaseViewHolder, item: PrizeInfo) { - - helper.setText(R.id.tv_time_year, formatYear.format(item.drawTime)) - helper.setText(R.id.tv_time_hour, formatHour.format(item.drawTime)) - helper.setText(R.id.tv_prize_name, "${item.rewardName}x${item.rewardNum}") - helper.setText( - R.id.tv_prize_type, when (item.poolLevel) { - 1 -> mContext.getString(R.string.fairy_primary_forest) - 2 -> mContext.getString(R.string.fairy_epic_forest) - else -> mContext.getString(R.string.fairy_legend_forest) - } - ) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/adapter/HomePrizeAdapter.kt b/app/src/main/java/com/chwl/app/treasurefairy/adapter/HomePrizeAdapter.kt deleted file mode 100644 index ca955469a..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/adapter/HomePrizeAdapter.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.chwl.app.treasurefairy.adapter - -import android.widget.ImageView -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.chwl.app.R -import com.chwl.app.ui.utils.load -import com.chwl.core.treasurefairy.PrizeInfo - -class HomePrizeAdapter(val isSingle: Boolean = false) : - BaseQuickAdapter( - if (isSingle) { - R.layout.treasure_fairy_item_home_prize_single - } else { - R.layout.treasure_fairy_item_home_prize - } - ) { - - override fun convert(helper: BaseViewHolder, item: PrizeInfo) { - helper.getView(R.id.iv_prize_icon).load(item.rewardPicUrl) - helper.setText(R.id.tv_prize_num, "x${item.rewardNum}") - helper.setText(R.id.tv_prize_name, item.rewardName) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/adapter/MyFairyFriendsAdapter.kt b/app/src/main/java/com/chwl/app/treasurefairy/adapter/MyFairyFriendsAdapter.kt deleted file mode 100644 index ab47140b8..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/adapter/MyFairyFriendsAdapter.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.chwl.app.treasurefairy.adapter - -import android.widget.ImageView -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.chwl.app.R -import com.chwl.app.ui.utils.load -import com.chwl.core.gift.bean.SimpleUserInfo -import com.chwl.core.utils.ifNullOrEmpty - -class MyFairyFriendsAdapter : - BaseQuickAdapter(R.layout.treasure_fairy_item_my_fairy_friend) { - - override fun convert(helper: BaseViewHolder, item: SimpleUserInfo) { - helper.getView(R.id.iv_avatar).load(item.avatar) - helper.setText(R.id.tv_nickname, item.nick) - helper.setText(R.id.tv_desc, item.userDesc.ifNullOrEmpty { mContext.getString(R.string.fairy_default_signature) }) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/adapter/MyFairyRecordAdapter.kt b/app/src/main/java/com/chwl/app/treasurefairy/adapter/MyFairyRecordAdapter.kt deleted file mode 100644 index b04e3d329..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/adapter/MyFairyRecordAdapter.kt +++ /dev/null @@ -1,27 +0,0 @@ -package com.chwl.app.treasurefairy.adapter - -import android.widget.ImageView -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.chwl.app.R -import com.chwl.app.ui.utils.load -import com.chwl.core.treasurefairy.SendFairyInfo -import java.text.SimpleDateFormat -import java.util.* - -class MyFairyRecordAdapter : - BaseQuickAdapter(R.layout.treasure_fairy_item_my_fairy_record) { - - private val format = SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒", Locale.CHINA) - - override fun convert(helper: BaseViewHolder, item: SendFairyInfo) { - helper.getView(R.id.iv_fairy_icon).load(item.elfPicUrl) - helper.setText(R.id.tv_record_time, format.format(item.createTime)) - val isSend = item.type == 2 - helper.setText( - R.id.tv_content, - "${if (isSend) "你" else item.targetNick}贈送${if (isSend) item.targetNick else "了你"}一張“${item.elfName}”精靈卡" - ) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ResolveFairyAdapter.kt b/app/src/main/java/com/chwl/app/treasurefairy/adapter/ResolveFairyAdapter.kt deleted file mode 100644 index 1372f6d01..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ResolveFairyAdapter.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.chwl.app.treasurefairy.adapter - -import android.widget.ImageView -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.chwl.app.R -import com.chwl.app.ui.utils.load -import com.chwl.core.treasurefairy.FairyInfo -import java.util.* - -class ResolveFairyAdapter : - BaseQuickAdapter(R.layout.treasure_fairy_item_resolve_fairy) { - - - override fun convert(helper: BaseViewHolder, item: FairyInfo) { - helper.getView(R.id.iv_fairy_icon).load(item.elfPicUrl) - helper.setText(R.id.tv_fairy_num, "${item.selectedNum}/${item.elfNum}") - helper.setText(R.id.tv_fairy_name, item.elfName) - helper.setBackgroundRes( - R.id.ll_root, - if (item.selectedNum > 0) R.drawable.treasure_fairy_bg_test_fairy_item_select else 0 - ) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ResolveFairyResultAdapter.kt b/app/src/main/java/com/chwl/app/treasurefairy/adapter/ResolveFairyResultAdapter.kt deleted file mode 100644 index edb046169..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/adapter/ResolveFairyResultAdapter.kt +++ /dev/null @@ -1,15 +0,0 @@ -package com.chwl.app.treasurefairy.adapter - -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.chwl.app.R -import com.chwl.core.treasurefairy.ResolveInfo - -class ResolveFairyResultAdapter : - BaseQuickAdapter(R.layout.treasure_fairy_item_forest_prize_single_resolve) { - - override fun convert(helper: BaseViewHolder, item: ResolveInfo) { - helper.setText(R.id.tv_prize_name, "x${item.pieceNum}") - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/adapter/TestFairyAdapter.kt b/app/src/main/java/com/chwl/app/treasurefairy/adapter/TestFairyAdapter.kt deleted file mode 100644 index 4d642c8ec..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/adapter/TestFairyAdapter.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.chwl.app.treasurefairy.adapter - -import android.widget.ImageView -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.chwl.app.R -import com.chwl.app.ui.utils.load -import com.chwl.core.treasurefairy.FairyInfo -import java.util.* - -class TestFairyAdapter : - BaseQuickAdapter(R.layout.treasure_fairy_item_test_fairy) { - - - override fun convert(helper: BaseViewHolder, item: FairyInfo) { - helper.getView(R.id.iv_fairy_icon).load(item.elfPicUrl) - helper.setText(R.id.tv_fairy_num, "${item.selectedNum}/${item.elfNum}") - helper.setText(R.id.tv_fairy_name, item.elfName) - helper.setBackgroundRes( - R.id.ll_root, - if (item.selectedNum > 0) R.drawable.treasure_fairy_bg_test_fairy_item_select else 0 - ) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/adapter/TestFairyRecordAdapter.kt b/app/src/main/java/com/chwl/app/treasurefairy/adapter/TestFairyRecordAdapter.kt deleted file mode 100644 index d11f0df36..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/adapter/TestFairyRecordAdapter.kt +++ /dev/null @@ -1,34 +0,0 @@ -package com.chwl.app.treasurefairy.adapter - -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.chwl.app.R -import com.chwl.core.treasurefairy.TestFairyRecordInfo -import java.text.SimpleDateFormat -import java.util.* - -class TestFairyRecordAdapter : - BaseQuickAdapter(R.layout.treasure_fairy_item_test_fairy_record) { - - private val formatYear = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val formatHour = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - - override fun convert(helper: BaseViewHolder, item: TestFairyRecordInfo) { - - helper.setText(R.id.tv_time_year, formatYear.format(item.createTime)) - helper.setText(R.id.tv_time_hour, formatHour.format(item.createTime)) - helper.setText(R.id.tv_prize_name, item.elfName) - helper.setText( - R.id.tv_prize_type, when (item.type) { - 4 -> "傳說試煉" - 7 -> "精靈分解" - else -> "傳說試煉" - } - ) - - helper.setText( - R.id.tv_fairy_infos, - item.expendList.joinToString(separator = "\n") { "${it.elfName}x${it.elfNum}" }) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/adapter/TestFairyResultAdapter.kt b/app/src/main/java/com/chwl/app/treasurefairy/adapter/TestFairyResultAdapter.kt deleted file mode 100644 index 0f11b4c08..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/adapter/TestFairyResultAdapter.kt +++ /dev/null @@ -1,18 +0,0 @@ -package com.chwl.app.treasurefairy.adapter - -import android.widget.ImageView -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.chwl.app.R -import com.chwl.app.ui.utils.load -import com.chwl.core.treasurefairy.FairyInfo - -class TestFairyResultAdapter : - BaseQuickAdapter(R.layout.treasure_fairy_item_forest_prize_single) { - - override fun convert(helper: BaseViewHolder, item: FairyInfo) { - helper.getView(R.id.iv_prize_icon).load(item.elfPicUrl) - helper.setText(R.id.tv_prize_name, item.elfName) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/ExchangeFairyDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/ExchangeFairyDialog.kt deleted file mode 100644 index 6e5b72623..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/ExchangeFairyDialog.kt +++ /dev/null @@ -1,68 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import androidx.fragment.app.activityViewModels -import androidx.viewpager.widget.ViewPager -import com.chwl.app.R -import com.chwl.app.avroom.adapter.RoomVPAdapter -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureFairyDialogExchangeBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.fragment.ExchangeDebrisFragment -import com.chwl.app.treasurefairy.fragment.ExchangeFairyFragment -import com.chwl.app.treasurefairy.fragment.ExchangeSummonFragment - -class ExchangeFairyDialog : BaseDialog() { - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var gravity = Gravity.BOTTOM - - companion object { - fun newInstance(): ExchangeFairyDialog { - val args = Bundle() - val fragment = ExchangeFairyDialog() - fragment.arguments = args - return fragment - } - } - - private val viewModel: FairyViewModel by activityViewModels() - - @SuppressLint("CheckResult") - override fun init() { - binding.ivBack.setOnClickListener { - dismissAllowingStateLoss() - } - binding.tvRecord.setOnClickListener { - ExchangeRecordDialog.newInstance().show(context) - } - binding.rg.setOnCheckedChangeListener { _, checkedId -> - when (checkedId) { - R.id.rb_epic -> binding.viewPager.currentItem = 0 - R.id.rb_legend -> binding.viewPager.currentItem = 1 - } - } - binding.viewPager.addOnPageChangeListener(object : ViewPager.SimpleOnPageChangeListener() { - override fun onPageSelected(position: Int) { - when (position) { - 0 -> binding.rg.check(R.id.rb_epic) - 1 -> binding.rg.check(R.id.rb_legend) - } - } - }) - - binding.viewPager.adapter = RoomVPAdapter( - childFragmentManager, - listOf( - ExchangeSummonFragment.newInstance(), - ExchangeDebrisFragment.newInstance() - ) - ) - viewModel.getMyFairyInfo() - viewModel.cleanTestParam() - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/ExchangeFairyResultDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/ExchangeFairyResultDialog.kt deleted file mode 100644 index 9f5b3ec57..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/ExchangeFairyResultDialog.kt +++ /dev/null @@ -1,59 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.LinearLayoutManager -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureFairyDialogTestFairyResultBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.adapter.ExchangeFairyResultAdapter -import com.chwl.app.ui.utils.RVDelegate -import com.chwl.core.treasurefairy.ExchangeGiftInfo - -class ExchangeFairyResultDialog : BaseDialog() { - - private lateinit var rvDelegate: RVDelegate - private lateinit var prizeAdapter: ExchangeFairyResultAdapter - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var height = WindowManager.LayoutParams.WRAP_CONTENT - override var gravity = Gravity.CENTER - private val viewModel: FairyViewModel by activityViewModels() - - companion object { - fun newInstance(): ExchangeFairyResultDialog { - val args = Bundle() - val fragment = ExchangeFairyResultDialog() - fragment.arguments = args - return fragment - } - } - - @SuppressLint("CheckResult") - override fun init() { - binding?.tvClose?.setOnClickListener { - dismissAllowingStateLoss() - } - val prizeInfoList = viewModel.exchangeGiftLiveData.value - if (prizeInfoList == null) { - dismissAllowingStateLoss() - return - } - - prizeAdapter = ExchangeFairyResultAdapter() - rvDelegate = RVDelegate.Builder() - .setAdapter(prizeAdapter) - .setRecyclerView(binding?.recyclerView) - .setLayoutManager( - LinearLayoutManager(context) - ) - .build() - - rvDelegate.setNewData(arrayListOf(prizeInfoList.peekContent())) - - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/ExchangeRecordDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/ExchangeRecordDialog.kt deleted file mode 100644 index abc761598..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/ExchangeRecordDialog.kt +++ /dev/null @@ -1,59 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import androidx.viewpager.widget.ViewPager -import com.chwl.app.R -import com.chwl.app.avroom.adapter.RoomVPAdapter -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureFairyDialogExchangeRecordBinding -import com.chwl.app.treasurefairy.fragment.ExchangeDebrisRecordFragment -import com.chwl.app.treasurefairy.fragment.ExchangeFairyRecordFragment - -class ExchangeRecordDialog : BaseDialog() { - - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var height = WindowManager.LayoutParams.WRAP_CONTENT - override var gravity = Gravity.CENTER - - companion object { - fun newInstance(): ExchangeRecordDialog { - val args = Bundle() - val fragment = ExchangeRecordDialog() - fragment.arguments = args - return fragment - } - } - - @SuppressLint("CheckResult") - override fun init() { - binding?.rootView?.setOnClickListener { - dismissAllowingStateLoss() - } - binding?.rg?.setOnCheckedChangeListener { _, checkedId -> - when (checkedId) { - R.id.rb_prizes -> binding?.viewPager?.currentItem = 0 - R.id.rb_record -> binding?.viewPager?.currentItem = 1 - } - } - binding?.viewPager?.addOnPageChangeListener(object : ViewPager.SimpleOnPageChangeListener() { - override fun onPageSelected(position: Int) { - when (position) { - 0 -> binding?.rg?.check(R.id.rb_prizes) - 1 -> binding?.rg?.check(R.id.rb_record) - } - } - }) - binding?.viewPager?.adapter = RoomVPAdapter( - childFragmentManager, - listOf( - ExchangeFairyRecordFragment.newInstance(), - ExchangeDebrisRecordFragment.newInstance() - ) - ) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/FairyBuyDebrisDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/FairyBuyDebrisDialog.kt deleted file mode 100644 index b7cbe3866..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/FairyBuyDebrisDialog.kt +++ /dev/null @@ -1,65 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import androidx.fragment.app.activityViewModels -import com.chwl.app.R -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureFairyDialogBuyDebrisBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.core.auth.AuthModel -import com.chwl.core.manager.AvRoomDataManager -import com.chwl.library.common.SpConstants -import com.chwl.library.common.util.SPUtils - -/** - * 购买碎片 - */ -class FairyBuyDebrisDialog : BaseDialog() { - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var height = WindowManager.LayoutParams.WRAP_CONTENT - override var gravity = Gravity.CENTER - private val viewModel: FairyViewModel by activityViewModels() - - companion object { - fun newInstance(num: Int): FairyBuyDebrisDialog { - val args = Bundle() - args.putInt("num", num) - val fragment = FairyBuyDebrisDialog() - fragment.arguments = args - return fragment - } - } - - private val num by lazy { requireArguments().getInt("num") } - private val price by lazy { AvRoomDataManager.get().mSeizeTreasureSwitchVo?.price ?: 0 } - - - @SuppressLint("CheckResult") - override fun init() { - binding.tvDebrisNum.text = getString(R.string.buy_debris, num) - binding.tvPrizeName.text = (num * price).toString() - - binding.cbPay.setOnCheckedChangeListener { _, isChecked -> - if (isChecked) { - SPUtils.putLong(SpConstants.FAIRY_BUY_DEBRIS, System.currentTimeMillis()) - } else { - SPUtils.putLong(SpConstants.FAIRY_BUY_DEBRIS, 0L) - } - } - - binding.tvBuy.setOnClickListener { - viewModel.buyDebris(num, AuthModel.get().currentUid.toString()) - } - - viewModel.buyDebrisLiveData.observe(this) { - it.getContentIfNotHandled()?.let { - dismissAllowingStateLoss() - } - } - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/FairyBuyDebrisModifyQuantityDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/FairyBuyDebrisModifyQuantityDialog.kt deleted file mode 100644 index 914defee8..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/FairyBuyDebrisModifyQuantityDialog.kt +++ /dev/null @@ -1,102 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import androidx.core.widget.doAfterTextChanged -import androidx.fragment.app.activityViewModels -import com.chwl.app.R -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureFairyDialogBuyDebrisModifyQuantityBinding -import com.chwl.app.treasure_box.activity.TreasureBoxActivity -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.core.auth.AuthModel -import com.chwl.core.manager.AvRoomDataManager -import com.chwl.core.utils.StringUtils -import com.chwl.library.utils.SingleToastUtil - -/** - * 购买碎片 - */ -class FairyBuyDebrisModifyQuantityDialog : - BaseDialog() { - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var height = WindowManager.LayoutParams.WRAP_CONTENT - override var gravity = Gravity.CENTER - private val viewModel: FairyViewModel by activityViewModels() - - companion object { - fun newInstance(num: Int): FairyBuyDebrisModifyQuantityDialog { - val args = Bundle() - args.putInt("num", num) - val fragment = FairyBuyDebrisModifyQuantityDialog() - fragment.arguments = args - return fragment - } - } - - private var num = 0 - private val price by lazy { AvRoomDataManager.get().mSeizeTreasureSwitchVo?.price ?: 0 } - - @SuppressLint("CheckResult") - override fun init() { - num = requireArguments().getInt("num") - - binding.etNum.setText(num.toString()) - binding.tvPrizeName.text = (num * price).toString() - - binding.ivDecrease.setOnClickListener { - num = (num - 10).coerceAtLeast(1) - binding.etNum.setText(num.toString()) - binding.etNum.setSelection(num.toString().length) - binding.tvPrizeName.text = (num * price).toString() - } - - binding.ivIncrease.setOnClickListener { - num = (num + 10).coerceAtMost(200) - binding.etNum.setText(num.toString()) - binding.etNum.setSelection(num.toString().length) - binding.tvPrizeName.text = (num * price).toString() - } - - binding.etNum.doAfterTextChanged { - var n = StringUtils.toInt(binding.etNum.text.toString(), 0) - - if (n < 1) { - binding.etNum.setText("1") - binding.etNum.setSelection(1) - num = 1 - return@doAfterTextChanged - } - - if (n > TreasureBoxActivity.MAX_BUY_QUANTITY_LIMIT) { - n = TreasureBoxActivity.MAX_BUY_QUANTITY_LIMIT - binding.etNum.setText(n.toString()) - binding.etNum.setSelection(n.toString().length) - SingleToastUtil.showToast( - getString( - R.string.treasure_box_activity_treasureboxactivity_01, - TreasureBoxActivity.MAX_BUY_QUANTITY_LIMIT - ) - ) - } - binding.tvPrizeName.text = (n * price).toString() - num = n - } - - - binding.tvBuy.setOnClickListener { - viewModel.buyDebris(num, AuthModel.get().currentUid.toString()) - } - - viewModel.buyDebrisLiveData.observe(this) { - it.getContentIfNotHandled()?.let { - dismissAllowingStateLoss() - } - } - - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/FairyBuySuccessDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/FairyBuySuccessDialog.kt deleted file mode 100644 index dd331de32..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/FairyBuySuccessDialog.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import androidx.fragment.app.activityViewModels -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureFairyDialogBuySuccessBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.library.common.SpConstants -import com.chwl.library.common.util.SPUtils - -/** - * 购买碎片成功 - */ -class FairyBuySuccessDialog : BaseDialog() { - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var height = WindowManager.LayoutParams.WRAP_CONTENT - override var gravity = Gravity.CENTER - - companion object { - fun newInstance(num: Int): FairyBuySuccessDialog { - val args = Bundle() - args.putSerializable("num", num) - val fragment = FairyBuySuccessDialog() - fragment.arguments = args - return fragment - } - } - - private val num by lazy { requireArguments().getInt("num") } - - @SuppressLint("CheckResult", "SetTextI18n") - override fun init() { - binding.tvDebrisNum.text = "x${num}" - - binding.cbPay.setOnCheckedChangeListener { buttonView, isChecked -> - if (isChecked) { - SPUtils.putLong(SpConstants.FAIRY_BUY_SUCCESS, System.currentTimeMillis()) - } else { - SPUtils.putLong(SpConstants.FAIRY_BUY_SUCCESS, 0L) - } - } - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/ForestFairyDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/ForestFairyDialog.kt deleted file mode 100644 index 59bbf781f..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/ForestFairyDialog.kt +++ /dev/null @@ -1,176 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import androidx.core.view.isInvisible -import androidx.fragment.app.activityViewModels -import com.chwl.app.R -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureFairyDialogForestBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.ui.utils.loadAvatar -import com.chwl.core.utils.subAndReplaceDot -import com.chwl.core.utils.toIntOrDef -import com.chwl.core.utils.toast - -class ForestFairyDialog : BaseDialog() { - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var gravity = Gravity.BOTTOM - private val viewModel: FairyViewModel by activityViewModels() - private var currentType = 1 - - private val showResultRunnable = Runnable { - if (canShowResult) { - canShowResult = false - enabledOpenBtn(true) - ForestPrizeDialog.newInstance().show(context) - } else { - resultNotShowed = true - } - } - private var canShowResult = false - private var resultNotShowed = false - - companion object { - fun newInstance(): ForestFairyDialog { - val args = Bundle() - val fragment = ForestFairyDialog() - fragment.arguments = args - return fragment - } - - const val BASE = 1 - const val EPIC = 2 - const val LEGEND = 3 - } - - - @SuppressLint("CheckResult") - override fun init() { - binding?.ivBack?.setOnClickListener { - dismissAllowingStateLoss() - } - binding?.ivRecord?.setOnClickListener { - ForestRecordDialog.newInstance().show(context) - } - binding?.ivMyFairy?.setOnClickListener { - MyFairyDialog.newInstance().show(context) - } - binding?.ivFairyTest?.setOnClickListener { - TestFairyDialog.newInstance().show(context) - } - binding?.ivFairyStore?.setOnClickListener { - ExchangeFairyDialog.newInstance().show(context) - } - - binding?.ivPrevious?.setOnClickListener { - currentType-- - switchType() - } - binding?.ivNext?.setOnClickListener { - currentType++ - switchType() - } - binding?.viewBgGrab1?.setOnClickListener { - if (checkBallNum(1)) { - enabledOpenBtn(false) - binding?.animView?.startPlay(requireContext().assets, "vap/fairy_anim_once.mp4") - binding?.animView?.postDelayed(showResultRunnable, 1900) - viewModel.drawForestFairy(1, currentType) - } - } - - binding?.viewBgGrab10?.setOnClickListener { - if (checkBallNum(10)) { - enabledOpenBtn(false) - binding?.animView?.startPlay(requireContext().assets, "vap/fairy_anim_ten.mp4") - binding?.animView?.postDelayed(showResultRunnable, 1900) - viewModel.drawForestFairy(10, currentType) - } - } - - binding?.animView?.setOnClickListener { - if (canShowResult) { - binding?.animView?.removeCallbacks(showResultRunnable) - showResultRunnable.run() - } - } - - viewModel.drawForestLiveData.observe(viewLifecycleOwner) { - it?.getContentIfNotHandled()?.let { - canShowResult = true - if (resultNotShowed) { - showResultRunnable.run() - } - } ?: run { - enabledOpenBtn(true) - } - } - - viewModel.getForestInfo() - - viewModel.forestInfoLiveData.observe(viewLifecycleOwner) { - it?.let { - binding?.ivAvatar?.loadAvatar(it.avatar) - binding?.tvNickname?.text = it.nick.subAndReplaceDot(7) - binding?.tvKeyNumBase?.text = it.lowBallNum - binding?.tvKeyNumEpic?.text = it.middleBallNum - binding?.tvKeyNumLegend?.text = it.highBallNum - } - } - - } - - private fun checkBallNum(openNum: Int): Boolean { - val ballNum = viewModel.forestInfoLiveData.value?.let { - when (currentType) { - BASE -> it.lowBallNum.toIntOrDef(0) - EPIC -> it.middleBallNum.toIntOrDef(0) - else -> it.highBallNum.toIntOrDef(0) - } - } ?: 0 - return if (ballNum >= openNum) { - true - } else { - "精靈球數量不足".toast() - false - } - } - - private fun enabledOpenBtn(enable: Boolean) { - binding?.viewBgGrab1?.isEnabled = enable - binding?.viewBgGrab10?.isEnabled = enable - } - - @SuppressLint("SetTextI18n") - private fun switchType() { - when (currentType) { - BASE -> { - binding?.ivPrevious?.isInvisible = true - binding?.tvGrabText1?.text = "(初級球X1)" - binding?.tvGrabText10?.text = "(初級球X10)" - binding?.tvTips?.text = "使用初級球有一定幾率抓到初級精靈" - binding?.viewBgForestBase?.setBackgroundResource(R.drawable.treasure_fairy_bg_forest_base) - } - EPIC -> { - binding?.ivNext?.isInvisible = false - binding?.ivPrevious?.isInvisible = false - binding?.tvGrabText1?.text = "(超級球X1)" - binding?.tvGrabText10?.text = "(超級球X10)" - binding?.tvTips?.text = "使用超級球有一定幾率抓到史詩精靈" - binding?.viewBgForestBase?.setBackgroundResource(R.drawable.treasure_fairy_bg_forest_epic) - } - LEGEND -> { - binding?.ivNext?.isInvisible = true - binding?.tvGrabText1?.text = "(大師球X1)" - binding?.tvGrabText10?.text = "(大師球X10)" - binding?.tvTips?.text = "使用大師球必定抓到傳說精靈" - binding?.viewBgForestBase?.setBackgroundResource(R.drawable.treasure_fairy_bg_forest_legend) - } - } - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/ForestPrizeDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/ForestPrizeDialog.kt deleted file mode 100644 index bb60fdc91..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/ForestPrizeDialog.kt +++ /dev/null @@ -1,86 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import androidx.core.view.updateLayoutParams -import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.GridLayoutManager -import androidx.recyclerview.widget.LinearLayoutManager -import com.netease.nim.uikit.common.util.sys.ScreenUtil -import com.chwl.app.R -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureFairyDialogForestPrizeBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.adapter.ForestPrizeAdapter -import com.chwl.app.ui.utils.RVDelegate -import com.chwl.core.treasurefairy.PrizeInfo - -class ForestPrizeDialog : BaseDialog() { - - private lateinit var rvDelegate: RVDelegate - private lateinit var prizeAdapter: ForestPrizeAdapter - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var height = WindowManager.LayoutParams.WRAP_CONTENT - override var gravity = Gravity.CENTER - private val viewModel: FairyViewModel by activityViewModels() - - companion object { - fun newInstance(isFairy: Boolean = false): ForestPrizeDialog { - val args = Bundle() - args.putBoolean("isFairy", isFairy) - val fragment = ForestPrizeDialog() - fragment.arguments = args - return fragment - } - } - - @SuppressLint("CheckResult") - override fun init() { - binding?.tvClose?.setOnClickListener { - dismissAllowingStateLoss() - } - val prizeInfoList = viewModel.drawForestLiveData.value?.peekContent() - if (prizeInfoList.isNullOrEmpty()) return - val isSingle = prizeInfoList.size == 1 - val hasSurprise = prizeInfoList.find { it.propType == 1 } != null - val isFairy = - requireArguments().getBoolean("isFairy", true) || !hasSurprise - if (isFairy) { - viewModel.cleanDrawForestLiveData() - } - binding?.tvTitle?.text = if (isFairy) "恭喜獲得" else "意外發現" - if (!isFairy && !isSingle && hasSurprise) { - newInstance(true).show(context) - } - - val showPrizeInfoList = - prizeInfoList.filter { if (isFairy) (it.propType != 1) else (it.propType == 1) } - val isShowDateSingle = showPrizeInfoList.size == 1 - if (!isShowDateSingle) { - binding?.viewBg?.updateLayoutParams { - width = ScreenUtil.dip2px(318f) - height = ScreenUtil.dip2px(383f) - } - binding?.viewBg?.setBackgroundResource(R.drawable.treasure_fairy_bg_forest_prize) - } - prizeAdapter = ForestPrizeAdapter(isShowDateSingle) - rvDelegate = RVDelegate.Builder() - .setAdapter(prizeAdapter) - .setRecyclerView(binding?.recyclerView) - .setLayoutManager( - if (isShowDateSingle) { - LinearLayoutManager(context) - } else { - GridLayoutManager(context, 3, LinearLayoutManager.VERTICAL, false) - } - ) - .build() - - rvDelegate.setNewData(showPrizeInfoList) - - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/ForestRecordDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/ForestRecordDialog.kt deleted file mode 100644 index 3afb96271..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/ForestRecordDialog.kt +++ /dev/null @@ -1,59 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import androidx.viewpager.widget.ViewPager -import com.chwl.app.R -import com.chwl.app.avroom.adapter.RoomVPAdapter -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureFairyDialogForestRecordBinding -import com.chwl.app.treasurefairy.fragment.ForestPrizesFragment -import com.chwl.app.treasurefairy.fragment.ForestRecordFragment - -class ForestRecordDialog : BaseDialog() { - - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var height = WindowManager.LayoutParams.WRAP_CONTENT - override var gravity = Gravity.CENTER - - companion object { - fun newInstance(): ForestRecordDialog { - val args = Bundle() - val fragment = ForestRecordDialog() - fragment.arguments = args - return fragment - } - } - - @SuppressLint("CheckResult") - override fun init() { - binding?.rootView?.setOnClickListener { - dismissAllowingStateLoss() - } - binding?.rg?.setOnCheckedChangeListener { _, checkedId -> - when (checkedId) { - R.id.rb_prizes -> binding?.viewPager?.currentItem = 0 - R.id.rb_record -> binding?.viewPager?.currentItem = 1 - } - } - binding?.viewPager?.addOnPageChangeListener(object : ViewPager.SimpleOnPageChangeListener() { - override fun onPageSelected(position: Int) { - when (position) { - 0 -> binding?.rg?.check(R.id.rb_prizes) - 1 -> binding?.rg?.check(R.id.rb_record) - } - } - }) - binding?.viewPager?.adapter = RoomVPAdapter( - childFragmentManager, - listOf( - ForestPrizesFragment.newInstance(), - ForestRecordFragment.newInstance(), - ) - ) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/HomeMorePopupWindow.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/HomeMorePopupWindow.kt deleted file mode 100644 index dd84b6e47..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/HomeMorePopupWindow.kt +++ /dev/null @@ -1,37 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.content.Context -import android.graphics.Color -import android.view.View -import com.chwl.app.R -import com.chwl.app.ui.webview.FairyDialogWebViewActivity -import com.chwl.core.UriProvider -import razerdp.basepopup.BasePopupWindow - -class HomeMorePopupWindow(private val context: Context) : BasePopupWindow(context) { - - init { - contentView = createPopupById(R.layout.treasure_fairy_popup_window_home_more) - setOutSideDismiss(true) - setBackgroundColor(Color.TRANSPARENT) - setPopupAnimationStyle(-1) - findViewById(R.id.tv_rule).setOnClickListener { - FairyDialogWebViewActivity.start(context, UriProvider.getFairyRule()) - dismiss() - } - findViewById(R.id.tv_record).setOnClickListener { - FairyDialogWebViewActivity.start(context, UriProvider.getFairyRecord()) - dismiss() - } - findViewById(R.id.tv_rank).setOnClickListener { - FairyDialogWebViewActivity.start(context, UriProvider.getFairySuperior()) - dismiss() - } - } - - fun show(anchor: View?, popupGravity: Int) { - setPopupGravity(popupGravity) - showPopupWindow(anchor) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/HomePrizeDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/HomePrizeDialog.kt deleted file mode 100644 index dafe1af84..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/HomePrizeDialog.kt +++ /dev/null @@ -1,58 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.GridLayoutManager -import androidx.recyclerview.widget.LinearLayoutManager -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureFairyDialogHomePrizeBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.adapter.HomePrizeAdapter -import com.chwl.app.ui.utils.RVDelegate -import com.chwl.core.treasurefairy.PrizeInfo - -class HomePrizeDialog : BaseDialog() { - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var gravity = Gravity.BOTTOM - - private lateinit var rvDelegate: RVDelegate - private lateinit var prizeAdapter: HomePrizeAdapter - private val viewModel: FairyViewModel by activityViewModels() - - companion object { - fun newInstance(): HomePrizeDialog { - val args = Bundle() - val fragment = HomePrizeDialog() - fragment.arguments = args - return fragment - } - } - - @SuppressLint("CheckResult") - override fun init() { - binding.rootView.setOnClickListener { - dismissAllowingStateLoss() - } - val prizeInfoList = viewModel.resultLiveData.value?.peekContent() - if (prizeInfoList.isNullOrEmpty()) return - val isSingle = prizeInfoList.size == 1 - prizeAdapter = HomePrizeAdapter(isSingle) - rvDelegate = RVDelegate.Builder() - .setAdapter(prizeAdapter) - .setRecyclerView(binding.recyclerView) - .setLayoutManager( - if (isSingle) { - LinearLayoutManager(context) - } else { - GridLayoutManager(context, 4, LinearLayoutManager.VERTICAL, false) - } - ) - .build() - rvDelegate.setNewData(prizeInfoList) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/MyFairyDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/MyFairyDialog.kt deleted file mode 100644 index 548d1ba9f..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/MyFairyDialog.kt +++ /dev/null @@ -1,89 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import androidx.fragment.app.activityViewModels -import androidx.viewpager.widget.ViewPager -import com.chwl.app.R -import com.chwl.app.avroom.adapter.RoomVPAdapter -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureFairyDialogMyFairyBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.event.UpdateDataEvent -import com.chwl.app.treasurefairy.fragment.MyFairyFragment -import com.chwl.app.treasurefairy.view.MyFairyItemView -import com.chwl.core.DemoCache -import org.greenrobot.eventbus.EventBus -import org.greenrobot.eventbus.Subscribe -import org.greenrobot.eventbus.ThreadMode - -class MyFairyDialog : BaseDialog() { - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var gravity = Gravity.BOTTOM - - companion object { - fun newInstance(): MyFairyDialog { - val args = Bundle() - val fragment = MyFairyDialog() - fragment.arguments = args - return fragment - } - } - - private val viewModel: FairyViewModel by activityViewModels() - - @SuppressLint("CheckResult") - override fun init() { - EventBus.getDefault().register(this) - - binding.ivBack.setOnClickListener { - dismissAllowingStateLoss() - } - binding.ivFairyTest.setOnClickListener { - TestFairyDialog.newInstance().show(context) - } - binding.ivRecord.setOnClickListener { - MyFairyRecordDialog.newInstance().show(context) - } - binding.rg.setOnCheckedChangeListener { _, checkedId -> - when (checkedId) { - R.id.rb_base -> binding.viewPager.currentItem = 0 - R.id.rb_legend -> binding.viewPager.currentItem = 1 - } - } - binding.viewPager.addOnPageChangeListener(object : ViewPager.SimpleOnPageChangeListener() { - override fun onPageSelected(position: Int) { - when (position) { - 0 -> binding.rg.check(R.id.rb_base) - 1 -> binding.rg.check(R.id.rb_legend) - } - DemoCache.saveMyFairyIndex(position) - } - }) - binding.viewPager.adapter = RoomVPAdapter( - childFragmentManager, - listOf( - MyFairyFragment.newInstance(MyFairyItemView.BASE), - MyFairyFragment.newInstance(MyFairyItemView.LEGEND) - ) - ) - - binding.viewPager.setCurrentItem(DemoCache.readMyFairyIndex(), false) - - viewModel.getMyFairyInfo() - } - - @Subscribe(threadMode = ThreadMode.MAIN) - fun onUpdateDataEvent(event: UpdateDataEvent?) { - viewModel.getMyFairyInfo() - } - - override fun onDestroyView() { - super.onDestroyView() - EventBus.getDefault().unregister(this) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/MyFairyRecordDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/MyFairyRecordDialog.kt deleted file mode 100644 index 6928abd7c..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/MyFairyRecordDialog.kt +++ /dev/null @@ -1,68 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.LinearLayoutManager -import com.chwl.app.R -import com.chwl.app.base.BaseDialog -import com.chwl.app.common.EmptyViewHelper -import com.chwl.app.databinding.TreasureFairyDialogMyFairyRecordBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.adapter.MyFairyRecordAdapter -import com.chwl.app.ui.utils.RVDelegate -import com.chwl.core.treasurefairy.SendFairyInfo - -class MyFairyRecordDialog : BaseDialog() { - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var gravity = Gravity.CENTER - - companion object { - fun newInstance(): MyFairyRecordDialog { - val args = Bundle() - val fragment = MyFairyRecordDialog() - fragment.arguments = args - return fragment - } - } - - private var page = 1 - private val pageSize = 20 - private lateinit var rvDelegate: RVDelegate - private lateinit var recordAdapter: MyFairyRecordAdapter - private val viewModel: FairyViewModel by activityViewModels() - - @SuppressLint("CheckResult") - override fun init() { - - recordAdapter = MyFairyRecordAdapter() - rvDelegate = RVDelegate.Builder() - .setAdapter(recordAdapter) - .setRecyclerView(binding?.recyclerView) - .setEmptyView( - EmptyViewHelper.createEmptyTextViewNoImage( - context, - getString(R.string.fairy_no_further_data_is_available) - ) - ) - .setLayoutManager(LinearLayoutManager(context)) - .build() - - viewModel.sendFairyRecordLiveData.observe(viewLifecycleOwner) { - rvDelegate.loadData(it) - } - - recordAdapter.setOnLoadMoreListener({ loadData(false) }, binding?.recyclerView) - - loadData(true) - } - - private fun loadData(isRefresh: Boolean) { - page = if (isRefresh) 1 else (page + 1) - viewModel.getSendFairyList(page, pageSize) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/MyFairySearchFriendsDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/MyFairySearchFriendsDialog.kt deleted file mode 100644 index f0300e6ea..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/MyFairySearchFriendsDialog.kt +++ /dev/null @@ -1,62 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import androidx.core.widget.doAfterTextChanged -import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.LinearLayoutManager -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureFairyDialogMyFairySearchFriendBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.adapter.MyFairyFriendsAdapter -import com.chwl.app.ui.utils.RVDelegate -import com.chwl.core.gift.bean.SimpleUserInfo -import com.chwl.core.treasurefairy.FairyInfo - -class MyFairySearchFriendsDialog : BaseDialog() { - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var gravity = Gravity.BOTTOM - - companion object { - fun newInstance(fairyInfo: FairyInfo, isSend: Boolean): MyFairySearchFriendsDialog { - val args = Bundle() - args.putSerializable("fairyInfo", fairyInfo) - args.putBoolean("isSend", isSend) - val fragment = MyFairySearchFriendsDialog() - fragment.arguments = args - return fragment - } - } - - private lateinit var rvDelegate: RVDelegate - private lateinit var friendsAdapter: MyFairyFriendsAdapter - private val viewModel: FairyViewModel by activityViewModels() - - @SuppressLint("CheckResult") - override fun init() { - binding?.ivBack?.setOnClickListener { dismissAllowingStateLoss() } - friendsAdapter = MyFairyFriendsAdapter() - rvDelegate = RVDelegate.Builder() - .setAdapter(friendsAdapter) - .setRecyclerView(binding?.recyclerView) - .setLayoutManager(LinearLayoutManager(context)) - .build() - friendsAdapter.setOnItemClickListener { _, _, position -> - friendsAdapter.getItem(position)?.let { - MyFairySendDialog.newInstance(requireArguments(), it).show(context) - } - } - viewModel.getFriendsList() - viewModel.friendsListLiveData.observe(viewLifecycleOwner) { - rvDelegate.setNewData(it) - } - binding?.editSearch?.doAfterTextChanged { - viewModel.getFriendsList(it?.toString()) - } - - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/MyFairySendDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/MyFairySendDialog.kt deleted file mode 100644 index 9918951ef..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/MyFairySendDialog.kt +++ /dev/null @@ -1,82 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.graphics.Color -import android.os.Bundle -import android.text.style.ForegroundColorSpan -import android.view.Gravity -import android.view.WindowManager -import androidx.core.graphics.toColorInt -import androidx.fragment.app.activityViewModels -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureFairyDialogMyFairySendBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.ui.utils.load -import com.chwl.app.utils.SpannableBuilder -import com.chwl.core.gift.bean.SimpleUserInfo -import com.chwl.core.treasurefairy.FairyInfo -import com.chwl.library.common.util.ClickUtils.clickWithTrigger - -class MyFairySendDialog : BaseDialog() { - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var gravity = Gravity.CENTER - private var onSendListener: (() -> Unit)? = null - - companion object { - fun newInstance(bundle: Bundle, userInfo: SimpleUserInfo): MyFairySendDialog { - val args = Bundle() - args.putSerializable("userInfo", userInfo) - args.putAll(bundle) - val fragment = MyFairySendDialog() - fragment.arguments = args - return fragment - } - } - - private val viewModel: FairyViewModel by activityViewModels() - private val userInfo by lazy { requireArguments().getSerializable("userInfo") as SimpleUserInfo } - private val fairyInfo by lazy { requireArguments().getSerializable("fairyInfo") as FairyInfo } - private val isSend by lazy { requireArguments().getBoolean("isSend") } - - @SuppressLint("CheckResult") - override fun init() { - - binding?.ivFairyIcon?.load(fairyInfo.elfPicUrl) - binding?.tvContent?.text = - SpannableBuilder() - .append(if (isSend) "確定贈送" else "確定向", ForegroundColorSpan(Color.WHITE)) - .append("“${userInfo.nick}”", ForegroundColorSpan("#FEF8AA".toColorInt())) - .append( - "${if (isSend) "" else "索要"}1張“${fairyInfo.elfName}”精靈卡嗎?", - ForegroundColorSpan(Color.WHITE) - ) - .build() - binding?.tvSend?.text = if (isSend) "贈 送" else "索 要" - binding?.tvClose?.setOnClickListener { - dismissAllowingStateLoss() - } - binding?.tvSend?.clickWithTrigger{ - binding?.tvSend?.isEnabled = false - if (isSend) { - viewModel.sendFairy(fairyInfo.elfId, userInfo.uid) - } else { - viewModel.askForFairy(fairyInfo.elfId, userInfo.uid) - } - } - - viewModel.sendFairyLiveData.observe(viewLifecycleOwner) { - binding?.tvSend?.isEnabled = true - if (it.getContentIfNotHandled() == true) { - dismissAllowingStateLoss() - onSendListener?.invoke() - } - } - } - - fun setOnSendListener(onSendListener: () -> Nothing) { - this.onSendListener = onSendListener - } - - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/ResolveFairyResultDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/ResolveFairyResultDialog.kt deleted file mode 100644 index eb32dbdc0..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/ResolveFairyResultDialog.kt +++ /dev/null @@ -1,56 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.LinearLayoutManager -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureFairyDialogResolveFairyResultBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.adapter.ResolveFairyResultAdapter -import com.chwl.app.ui.utils.RVDelegate -import com.chwl.core.treasurefairy.ResolveInfo - -class ResolveFairyResultDialog : BaseDialog() { - - private lateinit var rvDelegate: RVDelegate - private lateinit var prizeAdapter: ResolveFairyResultAdapter - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var height = WindowManager.LayoutParams.WRAP_CONTENT - override var gravity = Gravity.CENTER - private val viewModel: FairyViewModel by activityViewModels() - - companion object { - fun newInstance(resolveInfo: ResolveInfo): ResolveFairyResultDialog { - val args = Bundle() - args.putSerializable("resolveInfo",resolveInfo) - val fragment = ResolveFairyResultDialog() - fragment.arguments = args - return fragment - } - } - - private val resolveInfo by lazy { requireArguments().getSerializable("resolveInfo") as ResolveInfo } - @SuppressLint("CheckResult") - override fun init() { - binding.tvClose.setOnClickListener { - dismissAllowingStateLoss() - } - prizeAdapter = ResolveFairyResultAdapter() - rvDelegate = RVDelegate.Builder() - .setAdapter(prizeAdapter) - .setRecyclerView(binding.recyclerView) - .setLayoutManager( - LinearLayoutManager(context) - ) - .build() - - rvDelegate.setNewData(arrayListOf(resolveInfo)) - viewModel.cleanTestParam() - viewModel.initDrawInfo() - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/TestFairyDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/TestFairyDialog.kt deleted file mode 100644 index 59fd576af..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/TestFairyDialog.kt +++ /dev/null @@ -1,68 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import androidx.fragment.app.activityViewModels -import androidx.viewpager.widget.ViewPager -import com.chwl.app.R -import com.chwl.app.avroom.adapter.RoomVPAdapter -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureFairyDialogTestFairyBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.fragment.TestFairyFragment -import com.chwl.app.treasurefairy.view.MyFairyItemView - -class TestFairyDialog : BaseDialog() { - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var gravity = Gravity.BOTTOM - - companion object { - fun newInstance(): TestFairyDialog { - val args = Bundle() - val fragment = TestFairyDialog() - fragment.arguments = args - return fragment - } - } - - private val viewModel: FairyViewModel by activityViewModels() - - @SuppressLint("CheckResult") - override fun init() { - binding.ivBack.setOnClickListener { - dismissAllowingStateLoss() - } - binding.tvRecord.setOnClickListener { - TestFairyRecordDialog.newInstance().show(context) - } - binding.rg.setOnCheckedChangeListener { _, checkedId -> - when (checkedId) { - R.id.rb_epic -> binding.viewPager.currentItem = 0 - R.id.rb_legend -> binding.viewPager.currentItem = 1 - } - } - binding.viewPager.addOnPageChangeListener(object : ViewPager.SimpleOnPageChangeListener() { - override fun onPageSelected(position: Int) { - when (position) { - 0 -> binding.rg.check(R.id.rb_epic) - 1 -> binding.rg.check(R.id.rb_legend) - } - viewModel.cleanTestParam() - } - }) - - binding.viewPager.adapter = RoomVPAdapter( - childFragmentManager, - listOf( - TestFairyFragment.newInstance(MyFairyItemView.BASE), - TestFairyFragment.newInstance(MyFairyItemView.LEGEND) - ) - ) - viewModel.getMyFairyInfo() - viewModel.cleanTestParam() - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/TestFairyRecordDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/TestFairyRecordDialog.kt deleted file mode 100644 index 800610e41..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/TestFairyRecordDialog.kt +++ /dev/null @@ -1,67 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.LinearLayoutManager -import com.netease.nim.uikit.common.util.sys.ScreenUtil -import com.chwl.app.R -import com.chwl.app.base.BaseDialog -import com.chwl.app.common.EmptyViewHelper -import com.chwl.app.databinding.TreasureFairyDialogTestFairyRecordBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.adapter.TestFairyRecordAdapter -import com.chwl.app.ui.utils.RVDelegate -import com.chwl.core.treasurefairy.TestFairyRecordInfo - -class TestFairyRecordDialog : BaseDialog() { - - - companion object { - fun newInstance(): TestFairyRecordDialog { - val args = Bundle() - val fragment = TestFairyRecordDialog() - fragment.arguments = args - return fragment - } - } - - private var page = 1 - private val pageSize = 20 - private lateinit var rvDelegate: RVDelegate - private lateinit var prizeAdapter: TestFairyRecordAdapter - private val viewModel: FairyViewModel by activityViewModels() - override var width: Int = ScreenUtil.dip2px(318f) - override var height: Int = ScreenUtil.dip2px(388f) - - - @SuppressLint("CheckResult") - override fun init() { - prizeAdapter = TestFairyRecordAdapter() - rvDelegate = RVDelegate.Builder() - .setAdapter(prizeAdapter) - .setPageSize(pageSize) - .setRecyclerView(binding?.recyclerView) - .setEmptyView( - EmptyViewHelper.createEmptyTextViewNoImage( - context, - getString(R.string.fairy_no_further_data_is_available) - ) - ) - .setLayoutManager(LinearLayoutManager(context)) - .build() - - viewModel.testRecordLiveData.observe(viewLifecycleOwner) { - rvDelegate.loadData(it) - } - - prizeAdapter.setOnLoadMoreListener({ loadData(false) }, binding?.recyclerView) - - loadData(true) - } - - private fun loadData(isRefresh: Boolean) { - page = if (isRefresh) 1 else (page + 1) - viewModel.getTestFairyRecordList(page, pageSize) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/dialog/TestFairyResultDialog.kt b/app/src/main/java/com/chwl/app/treasurefairy/dialog/TestFairyResultDialog.kt deleted file mode 100644 index fa3bda549..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/dialog/TestFairyResultDialog.kt +++ /dev/null @@ -1,55 +0,0 @@ -package com.chwl.app.treasurefairy.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.LinearLayoutManager -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureFairyDialogTestFairyResultBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.adapter.TestFairyResultAdapter -import com.chwl.app.ui.utils.RVDelegate -import com.chwl.core.treasurefairy.FairyInfo - -class TestFairyResultDialog : BaseDialog() { - - private lateinit var rvDelegate: RVDelegate - private lateinit var prizeAdapter: TestFairyResultAdapter - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var height = WindowManager.LayoutParams.WRAP_CONTENT - override var gravity = Gravity.CENTER - private val viewModel: FairyViewModel by activityViewModels() - - companion object { - fun newInstance(fairyInfo: FairyInfo): TestFairyResultDialog { - val args = Bundle() - args.putSerializable("fairyInfo",fairyInfo) - val fragment = TestFairyResultDialog() - fragment.arguments = args - return fragment - } - } - - private val fairyInfo by lazy { requireArguments().getSerializable("fairyInfo") as FairyInfo } - @SuppressLint("CheckResult") - override fun init() { - binding.tvClose.setOnClickListener { - dismissAllowingStateLoss() - } - prizeAdapter = TestFairyResultAdapter() - rvDelegate = RVDelegate.Builder() - .setAdapter(prizeAdapter) - .setRecyclerView(binding.recyclerView) - .setLayoutManager( - LinearLayoutManager(context) - ) - .build() - - rvDelegate.setNewData(arrayListOf(fairyInfo)) - viewModel.cleanTestParam() - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/event/UpdateDataEvent.java b/app/src/main/java/com/chwl/app/treasurefairy/event/UpdateDataEvent.java deleted file mode 100644 index 26f341afb..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/event/UpdateDataEvent.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.chwl.app.treasurefairy.event; - -/** - * 更新我的精灵数据 - * Created by wushaocheng on 2023/3/13. - */ -public class UpdateDataEvent { -} diff --git a/app/src/main/java/com/chwl/app/treasurefairy/fragment/ExchangeDebrisFragment.kt b/app/src/main/java/com/chwl/app/treasurefairy/fragment/ExchangeDebrisFragment.kt deleted file mode 100644 index 51bf248e1..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/fragment/ExchangeDebrisFragment.kt +++ /dev/null @@ -1,86 +0,0 @@ -package com.chwl.app.treasurefairy.fragment - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.View -import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.GridLayoutManager -import androidx.recyclerview.widget.LinearLayoutManager -import com.chwl.app.R -import com.chwl.app.base.BaseViewBindingFragment -import com.chwl.app.common.EmptyViewHelper -import com.chwl.app.databinding.TreasureFairyFragmentExchangeDebrisBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.adapter.ExchangeDebrisAdapter -import com.chwl.app.ui.utils.RVDelegate -import com.chwl.app.ui.utils.loadAvatar -import com.chwl.core.treasurefairy.ExchangeGiftInfo -import com.chwl.core.user.UserModel -import com.chwl.core.utils.subAndReplaceDot -import com.chwl.core.utils.toast - -class ExchangeDebrisFragment : - BaseViewBindingFragment() { - - companion object { - fun newInstance(): ExchangeDebrisFragment { - val args = Bundle() - val fragment = ExchangeDebrisFragment() - fragment.arguments = args - return fragment - } - } - - private val viewModel: FairyViewModel by activityViewModels() - private lateinit var rvDelegate: RVDelegate - private lateinit var debrisAdapter: ExchangeDebrisAdapter - - @SuppressLint("CheckResult") - override fun init() { - debrisAdapter = ExchangeDebrisAdapter() - rvDelegate = RVDelegate.Builder() - .setAdapter(debrisAdapter) - .setRecyclerView(binding.recyclerView) - .setEmptyView( - EmptyViewHelper.createEmptyTextViewNoImage( - context, - getString(R.string.fairy_no_further_data_is_available) - ) - ) - .setLayoutManager(GridLayoutManager(context, 2, LinearLayoutManager.VERTICAL, false)) - .build() - viewModel.debrisExchangeListLiveData.observe(viewLifecycleOwner) { - rvDelegate.setNewData(it) - } - debrisAdapter.setOnItemChildClickListener { _, _, position -> - debrisAdapter.getItem(position)?.let { - dialogManager.showTipsDialog("您將要兌換“${it.getPrizeName()}”", "兌換") { - viewModel.debrisExchange(it.itemId) - } - } - } - - viewModel.getDebrisExchangeList() - viewModel.getMyFairyInfo() - - binding.llMyDebris.visibility = View.VISIBLE - binding.rvMyFairy.visibility = View.GONE - viewModel.myFairyInfoLiveData.observe(viewLifecycleOwner) { - it?.let { - binding.tvDebrisNum.text = it.chipNum.toString() - } - } - - UserModel.get().cacheLoginUserInfo?.let { - binding.ivAvatar.loadAvatar(it.avatar) - binding.tvNickname.text = it.nick.subAndReplaceDot(7) - } - - viewModel.debrisExchangeLiveData.observe(viewLifecycleOwner) { - it?.getContentIfNotHandled()?.let { - "兌換成功~".toast() - } - } - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/fragment/ExchangeDebrisRecordFragment.kt b/app/src/main/java/com/chwl/app/treasurefairy/fragment/ExchangeDebrisRecordFragment.kt deleted file mode 100644 index ea01a8e00..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/fragment/ExchangeDebrisRecordFragment.kt +++ /dev/null @@ -1,62 +0,0 @@ -package com.chwl.app.treasurefairy.fragment - -import android.annotation.SuppressLint -import android.os.Bundle -import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.LinearLayoutManager -import com.chwl.app.R -import com.chwl.app.base.BaseViewBindingFragment -import com.chwl.app.common.EmptyViewHelper -import com.chwl.app.databinding.TreasureFairyFragmentExchangeRecordDebrisBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.adapter.ExchangeDebrisRecordAdapter -import com.chwl.app.ui.utils.RVDelegate -import com.chwl.core.treasurefairy.ExchangeGiftInfo - -class ExchangeDebrisRecordFragment : BaseViewBindingFragment() { - - - companion object { - fun newInstance(): ExchangeDebrisRecordFragment { - val args = Bundle() - val fragment = ExchangeDebrisRecordFragment() - fragment.arguments = args - return fragment - } - } - - private var page = 1 - private val pageSize = 20 - private lateinit var rvDelegate: RVDelegate - private lateinit var prizeAdapter: ExchangeDebrisRecordAdapter - private val viewModel: FairyViewModel by activityViewModels() - - - @SuppressLint("CheckResult") - override fun init() { - prizeAdapter = ExchangeDebrisRecordAdapter() - rvDelegate = RVDelegate.Builder() - .setAdapter(prizeAdapter) - .setPageSize(pageSize) - .setRecyclerView(binding.recyclerView) - .setEmptyView(EmptyViewHelper.createEmptyTextViewNoImage( - context, - getString(R.string.fairy_no_further_data_is_available) - )) - .setLayoutManager(LinearLayoutManager(context)) - .build() - - viewModel.exchangeDebrisRecordLiveData.observe(viewLifecycleOwner) { - rvDelegate.loadData(it) - } - - prizeAdapter.setOnLoadMoreListener({ loadData(false) }, binding.recyclerView) - - loadData(true) - } - - private fun loadData(isRefresh: Boolean) { - page = if (isRefresh) 1 else (page + 1) - viewModel.getExchangeDebrisRecord(page, pageSize) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/fragment/ExchangeFairyFragment.kt b/app/src/main/java/com/chwl/app/treasurefairy/fragment/ExchangeFairyFragment.kt deleted file mode 100644 index 402ab3981..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/fragment/ExchangeFairyFragment.kt +++ /dev/null @@ -1,128 +0,0 @@ -package com.chwl.app.treasurefairy.fragment - -import android.annotation.SuppressLint -import android.os.Bundle -import androidx.core.view.isInvisible -import androidx.fragment.app.activityViewModels -import com.chwl.app.R -import com.chwl.app.base.BaseViewBindingFragment -import com.chwl.app.databinding.TreasureFairyFragmentExchangeFairyBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.dialog.ExchangeFairyResultDialog -import com.chwl.app.treasurefairy.view.MyFairyItemView -import com.chwl.app.ui.utils.load -import com.chwl.core.treasurefairy.ExchangeGiftInfo -import com.chwl.core.treasurefairy.MyFairyInfo - -class ExchangeFairyFragment : BaseViewBindingFragment() { - - - companion object { - fun newInstance(): ExchangeFairyFragment { - val args = Bundle() - val fragment = ExchangeFairyFragment() - fragment.arguments = args - return fragment - } - } - - private val viewModel: FairyViewModel by activityViewModels() - private var fairyType = MyFairyItemView.BASE - private val fairyItems by lazy { - arrayListOf( - binding.fairyItem0, - binding.fairyItem1, - binding.fairyItem2, - binding.fairyItem3, - binding.fairyItem4 - ) - } - - @SuppressLint("CheckResult") - override fun init() { - binding.ivPrevious.setOnClickListener { - fairyType-- - switchLevel() - } - binding.ivNext.setOnClickListener { - fairyType++ - switchLevel() - } - - binding.ivCompound.isEnabled = false - - viewModel.getMyFairyInfo() - - viewModel.getExchangeGiftInfoList() - - viewModel.myFairyInfoLiveData.observe(viewLifecycleOwner) { - it?.let { setupMyFairyInfo(it) } - } - - viewModel.exchangeGiftListLiveData.observe(viewLifecycleOwner) { - it?.let { setupExchangeGiftList(it) } - } - - viewModel.exchangeGiftLiveData.observe(viewLifecycleOwner) { - it?.getContentIfNotHandled()?.let { - ExchangeFairyResultDialog.newInstance().show(context) - } - } - - } - - private fun switchLevel() { - viewModel.myFairyInfoLiveData.value?.let { - setupMyFairyInfo(it) - } - viewModel.exchangeGiftListLiveData.value?.let { - setupExchangeGiftList(it) - } - } - - @SuppressLint("SetTextI18n") - private fun setupExchangeGiftList(exchangeGiftList: List) { - val exchangeGift = exchangeGiftList.firstOrNull { it.level == fairyType } ?: return - binding.ivGift.load(exchangeGift.rewardPicUrl) - binding.tvGiftName.text = exchangeGift.rewardName - binding.tvGiftPrice.text = "${exchangeGift.rewardShowValue}鉆" - binding.ivCompound.setOnClickListener { - viewModel.exchangeGift(exchangeGift.itemId) - } - } - - @SuppressLint("SetTextI18n") - private fun setupMyFairyInfo(myFairyInfo: MyFairyInfo) { - val fairyInfos = when (fairyType) { - MyFairyItemView.BASE -> { - binding.ivPrevious.isInvisible = true - binding.ivTitle.setImageResource(R.drawable.treasure_fairy_ic_exchange_fairy_base) - myFairyInfo.lowElves - } - MyFairyItemView.EPIC -> { - binding.ivNext.isInvisible = false - binding.ivPrevious.isInvisible = false - binding.ivTitle.setImageResource(R.drawable.treasure_fairy_ic_exchange_fairy_epic) - myFairyInfo.middleElves - } - else -> { - binding.ivNext.isInvisible = true - binding.ivTitle.setImageResource(R.drawable.treasure_fairy_ic_exchange_fairy_legend) - myFairyInfo.highElves - } - } - - var isEnabled = true - fairyInfos?.let { - fairyItems.forEachIndexed { index, itemView -> - itemView.setFairyInfo(it.getOrNull(index)) - if (it.getOrNull(index)?.elfNum ?: 0 < 1) { - isEnabled = false - } - } - } - binding.ivCompound.isEnabled = isEnabled - - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/fragment/ExchangeFairyRecordFragment.kt b/app/src/main/java/com/chwl/app/treasurefairy/fragment/ExchangeFairyRecordFragment.kt deleted file mode 100644 index 13562723f..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/fragment/ExchangeFairyRecordFragment.kt +++ /dev/null @@ -1,65 +0,0 @@ -package com.chwl.app.treasurefairy.fragment - -import android.annotation.SuppressLint -import android.os.Bundle -import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.LinearLayoutManager -import com.chwl.app.R -import com.chwl.app.base.BaseViewBindingFragment -import com.chwl.app.common.EmptyViewHelper -import com.chwl.app.databinding.TreasureFairyFragmentExchangeRecordFairyBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.adapter.ExchangeFairyRecordAdapter -import com.chwl.app.ui.utils.RVDelegate -import com.chwl.core.treasurefairy.ExchangeGiftInfo - -class ExchangeFairyRecordFragment : - BaseViewBindingFragment() { - - - companion object { - fun newInstance(): ExchangeFairyRecordFragment { - val args = Bundle() - val fragment = ExchangeFairyRecordFragment() - fragment.arguments = args - return fragment - } - } - - private var page = 1 - private val pageSize = 20 - private lateinit var rvDelegate: RVDelegate - private lateinit var prizeAdapter: ExchangeFairyRecordAdapter - private val viewModel: FairyViewModel by activityViewModels() - - - @SuppressLint("CheckResult") - override fun init() { - prizeAdapter = ExchangeFairyRecordAdapter() - rvDelegate = RVDelegate.Builder() - .setAdapter(prizeAdapter) - .setPageSize(pageSize) - .setEmptyView( - EmptyViewHelper.createEmptyTextViewNoImage( - context, - getString(R.string.fairy_no_further_data_is_available) - ) - ) - .setRecyclerView(binding.recyclerView) - .setLayoutManager(LinearLayoutManager(context)) - .build() - - viewModel.exchangeFairyRecordLiveData.observe(viewLifecycleOwner) { - rvDelegate.loadData(it) - } - - prizeAdapter.setOnLoadMoreListener({ loadData(false) }, binding.recyclerView) - - loadData(true) - } - - private fun loadData(isRefresh: Boolean) { - page = if (isRefresh) 1 else (page + 1) - viewModel.getExchangeFairyRecord(page, pageSize) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/fragment/ExchangeSummonFragment.kt b/app/src/main/java/com/chwl/app/treasurefairy/fragment/ExchangeSummonFragment.kt deleted file mode 100644 index f506f41e8..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/fragment/ExchangeSummonFragment.kt +++ /dev/null @@ -1,102 +0,0 @@ -package com.chwl.app.treasurefairy.fragment - -import android.annotation.SuppressLint -import android.os.Bundle -import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.GridLayoutManager -import androidx.recyclerview.widget.LinearLayoutManager -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.BaseViewHolder -import com.chwl.app.R -import com.chwl.app.base.BaseViewBindingFragment -import com.chwl.app.common.EmptyViewHelper -import com.chwl.app.databinding.TreasureFairyFragmentExchangeDebrisBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.adapter.ExchangeSummonAdapter -import com.chwl.app.ui.utils.ImageLoadUtilsV2 -import com.chwl.app.ui.utils.RVDelegate -import com.chwl.app.ui.utils.loadAvatar -import com.chwl.core.treasurefairy.ExchangeGiftInfo -import com.chwl.core.treasurefairy.FairyInfo -import com.chwl.core.user.UserModel -import com.chwl.core.utils.subAndReplaceDot -import com.chwl.core.utils.toast - -class ExchangeSummonFragment : - BaseViewBindingFragment() { - - companion object { - fun newInstance(): ExchangeSummonFragment { - val args = Bundle() - val fragment = ExchangeSummonFragment() - fragment.arguments = args - return fragment - } - } - - private val viewModel: FairyViewModel by activityViewModels() - private lateinit var rvDelegate: RVDelegate - private lateinit var exchangeSummonAdapter: ExchangeSummonAdapter - - @SuppressLint("CheckResult") - override fun init() { - exchangeSummonAdapter = ExchangeSummonAdapter() - rvDelegate = RVDelegate.Builder() - .setAdapter(exchangeSummonAdapter) - .setRecyclerView(binding.recyclerView) - .setEmptyView( - EmptyViewHelper.createEmptyTextViewNoImage( - context, - getString(R.string.fairy_no_further_data_is_available) - ) - ) - .setLayoutManager(GridLayoutManager(context, 2, LinearLayoutManager.VERTICAL, false)) - .build() - viewModel.fairyCallInfoLiveData.observe(viewLifecycleOwner) { - rvDelegate.setNewData(it) - } - exchangeSummonAdapter.setOnItemChildClickListener { _, _, position -> - exchangeSummonAdapter.getItem(position)?.let { - dialogManager.showTipsDialog("您將要兌換“${it.getPrizeName()}”", "兌換") { - viewModel.debrisExchange(it.itemId) - } - } - } - - viewModel.getFairyCallList() - viewModel.getMyFairyInfo() - - viewModel.myFairyInfoLiveData.observe(viewLifecycleOwner) { - it?.let { - binding.tvDebrisNum.text = it.chipNum.toString() - } - } - - UserModel.get().cacheLoginUserInfo?.let { - binding.ivAvatar.loadAvatar(it.avatar) - binding.tvNickname.text = it.nick.subAndReplaceDot(7) - } - - viewModel.debrisExchangeLiveData.observe(viewLifecycleOwner) { - it?.getContentIfNotHandled()?.let { - "兌換成功~".toast() - } - } - - val myFairyAdapter = - object : BaseQuickAdapter(R.layout.item_my_fairy) { - override fun convert(helper: BaseViewHolder, item: FairyInfo) { - ImageLoadUtilsV2.loadImage(helper.getView(R.id.iv_fairy), item.elfPicUrl) - helper.setText(R.id.tv_count, item.elfNum.toString()) - } - } - binding.rvMyFairy.adapter = myFairyAdapter - - viewModel.myFairyInfoLiveData.observe(this) { - it?.let { - myFairyAdapter.setNewData(it.highElves?.take(3)) - } - } - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/fragment/ForestPrizesChildFragment.kt b/app/src/main/java/com/chwl/app/treasurefairy/fragment/ForestPrizesChildFragment.kt deleted file mode 100644 index 95d47d327..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/fragment/ForestPrizesChildFragment.kt +++ /dev/null @@ -1,62 +0,0 @@ -package com.chwl.app.treasurefairy.fragment - -import android.annotation.SuppressLint -import android.os.Bundle -import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.GridLayoutManager -import androidx.recyclerview.widget.LinearLayoutManager -import com.chwl.app.R -import com.chwl.app.base.BaseViewBindingFragment -import com.chwl.app.common.EmptyViewHelper -import com.chwl.app.databinding.TreasureFairyFragmentForestPrizesChildBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.adapter.ForestPrizesChildAdapter -import com.chwl.app.ui.utils.RVDelegate -import com.chwl.core.treasurefairy.PrizeInfo - -class ForestPrizesChildFragment : - BaseViewBindingFragment() { - - companion object { - fun newInstance(type: Int): ForestPrizesChildFragment { - val args = Bundle() - args.putInt("poolLevel", type) - val fragment = ForestPrizesChildFragment() - fragment.arguments = args - return fragment - } - } - - private lateinit var rvDelegate: RVDelegate - private lateinit var prizeAdapter: ForestPrizesChildAdapter - private val viewModel: FairyViewModel by activityViewModels() - - @SuppressLint("CheckResult") - override fun init() { - prizeAdapter = ForestPrizesChildAdapter() - rvDelegate = RVDelegate.Builder() - .setAdapter(prizeAdapter) - .setEmptyView(EmptyViewHelper.createEmptyTextViewNoImage( - context, - getString(R.string.fairy_no_further_data_is_available) - )) - .setRecyclerView(binding.recyclerView) - .setLayoutManager(GridLayoutManager(context, 3, LinearLayoutManager.VERTICAL, false)) - .build() - - val poolLevel = requireArguments().getInt("poolLevel") - viewModel.getForestPrizePool(poolLevel) - - viewModel.forestPoolLiveData.observe(viewLifecycleOwner) { - it?.let { - if (it.first == poolLevel) { - rvDelegate.setNewData(it.second) - } - } ?: run { - rvDelegate.setNewData(null) - } - - } - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/fragment/ForestPrizesFragment.kt b/app/src/main/java/com/chwl/app/treasurefairy/fragment/ForestPrizesFragment.kt deleted file mode 100644 index 8f5665d9f..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/fragment/ForestPrizesFragment.kt +++ /dev/null @@ -1,56 +0,0 @@ -package com.chwl.app.treasurefairy.fragment - -import android.annotation.SuppressLint -import android.os.Bundle -import android.widget.LinearLayout -import android.widget.TextView -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager -import com.chwl.app.base.BaseViewBindingFragment -import com.chwl.app.databinding.TreasureFairyFragmentForestPrizesBinding -import com.chwl.app.treasurefairy.adapter.ForestIndicatorAdapter -import com.chwl.app.ui.user.adapter.UserInfoPagerAdapter -import com.chwl.app.ui.widget.magicindicator.MagicIndicator -import com.chwl.app.ui.widget.magicindicator.ViewPagerHelper -import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator - -class ForestPrizesFragment : BaseViewBindingFragment() { - - - companion object { - fun newInstance(): ForestPrizesFragment { - val args = Bundle() - val fragment = ForestPrizesFragment() - fragment.arguments = args - return fragment - } - } - - @SuppressLint("CheckResult") - override fun init() { - val viewPager: ViewPager = binding.viewPager - val magicIndicator: MagicIndicator = binding.magicIndicator - val fragmentList: MutableList = ArrayList() - fragmentList.add(ForestPrizesChildFragment.newInstance(1)) - fragmentList.add(ForestPrizesChildFragment.newInstance(2)) - fragmentList.add(ForestPrizesChildFragment.newInstance(3)) - val pagerAdapter = UserInfoPagerAdapter(childFragmentManager, fragmentList) - val tagList: MutableList = ArrayList() - tagList.add("初級森林") - tagList.add("史詩森林") - tagList.add("傳說森林") - val commonNavigator = CommonNavigator(context) - commonNavigator.setTitleWrapContent(true) - val magicIndicatorAdapter = ForestIndicatorAdapter(context, tagList) - magicIndicatorAdapter.setOnItemSelectListener { position: Int, _: TextView -> - viewPager.currentItem = position - } - commonNavigator.adapter = magicIndicatorAdapter - magicIndicator.navigator = commonNavigator - commonNavigator.titleContainer.showDividers = LinearLayout.SHOW_DIVIDER_MIDDLE - viewPager.offscreenPageLimit = 1 - viewPager.adapter = pagerAdapter - ViewPagerHelper.bind(magicIndicator, viewPager) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/fragment/ForestRecordFragment.kt b/app/src/main/java/com/chwl/app/treasurefairy/fragment/ForestRecordFragment.kt deleted file mode 100644 index 444e82e3f..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/fragment/ForestRecordFragment.kt +++ /dev/null @@ -1,64 +0,0 @@ -package com.chwl.app.treasurefairy.fragment - -import android.annotation.SuppressLint -import android.os.Bundle -import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.LinearLayoutManager -import com.chwl.app.R -import com.chwl.app.base.BaseViewBindingFragment -import com.chwl.app.common.EmptyViewHelper -import com.chwl.app.databinding.TreasureFairyFragmentForestRecordBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.adapter.ForestPrizesRecordAdapter -import com.chwl.app.ui.utils.RVDelegate -import com.chwl.core.treasurefairy.PrizeInfo - -class ForestRecordFragment : BaseViewBindingFragment() { - - - companion object { - fun newInstance(): ForestRecordFragment { - val args = Bundle() - val fragment = ForestRecordFragment() - fragment.arguments = args - return fragment - } - } - - private var page = 1 - private val pageSize = 20 - private lateinit var rvDelegate: RVDelegate - private lateinit var prizeAdapter: ForestPrizesRecordAdapter - private val viewModel: FairyViewModel by activityViewModels() - - - @SuppressLint("CheckResult") - override fun init() { - prizeAdapter = ForestPrizesRecordAdapter() - rvDelegate = RVDelegate.Builder() - .setAdapter(prizeAdapter) - .setPageSize(pageSize) - .setEmptyView( - EmptyViewHelper.createEmptyTextViewNoImage( - context, - getString(R.string.fairy_no_further_data_is_available) - ) - ) - .setRecyclerView(binding.recyclerView) - .setLayoutManager(LinearLayoutManager(context)) - .build() - - viewModel.forestRecordLiveData.observe(viewLifecycleOwner) { - rvDelegate.loadData(it) - } - - prizeAdapter.setOnLoadMoreListener({ loadData(false) }, binding.recyclerView) - - loadData(true) - } - - private fun loadData(isRefresh: Boolean) { - page = if (isRefresh) 1 else (page + 1) - viewModel.getForestRecord(page, pageSize) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/fragment/MyFairyFragment.kt b/app/src/main/java/com/chwl/app/treasurefairy/fragment/MyFairyFragment.kt deleted file mode 100644 index 7b9ea299d..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/fragment/MyFairyFragment.kt +++ /dev/null @@ -1,74 +0,0 @@ -package com.chwl.app.treasurefairy.fragment - -import android.annotation.SuppressLint -import android.os.Bundle -import androidx.fragment.app.activityViewModels -import com.chwl.app.R -import com.chwl.app.base.BaseViewBindingFragment -import com.chwl.app.databinding.TreasureFairyFragmentMyFairyBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.dialog.MyFairySearchFriendsDialog -import com.chwl.app.treasurefairy.view.MyFairyItemView - -class MyFairyFragment : BaseViewBindingFragment() { - - - companion object { - fun newInstance(fairyType: Int): MyFairyFragment { - val args = Bundle() - args.putInt("fairyType", fairyType) - val fragment = MyFairyFragment() - fragment.arguments = args - return fragment - } - } - - private val fairyType by lazy { requireArguments().getInt("fairyType", MyFairyItemView.BASE) } - private val viewModel: FairyViewModel by activityViewModels() - - @SuppressLint("CheckResult") - override fun init() { - - val fairyItems = arrayListOf( - binding.fairyItem0, - binding.fairyItem1, - binding.fairyItem2, - ) - fairyItems.forEach { - it.setFairyType(fairyType) - it.setOnItemClickListener { view, fairyInfo -> - if (fairyInfo == null) return@setOnItemClickListener - when (view.id) { - R.id.iv_fairy_send -> { - MyFairySearchFriendsDialog.newInstance(fairyInfo, true).show(context) - } - R.id.iv_fairy_get -> { - MyFairySearchFriendsDialog.newInstance(fairyInfo, false).show(context) - } - } - } - } - viewModel.myFairyInfoLiveData.observe(viewLifecycleOwner) { - it?.let { - val fairyInfos = when (fairyType) { - MyFairyItemView.BASE -> { - it.lowElves - } - MyFairyItemView.EPIC -> { - it.middleElves - } - else -> { - it.highElves - } - } - fairyInfos?.let { - fairyItems.forEachIndexed { index, itemView -> - itemView.setFairyInfo(it.getOrNull(index)) - } - } - } - } - - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/fragment/TestFairyFragment.kt b/app/src/main/java/com/chwl/app/treasurefairy/fragment/TestFairyFragment.kt deleted file mode 100644 index be73a4d57..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/fragment/TestFairyFragment.kt +++ /dev/null @@ -1,255 +0,0 @@ -package com.chwl.app.treasurefairy.fragment - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.View -import androidx.constraintlayout.widget.ConstraintLayout -import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.GridLayoutManager -import androidx.recyclerview.widget.LinearLayoutManager -import com.chwl.app.R -import com.chwl.app.base.BaseViewBindingFragment -import com.chwl.app.common.EmptyViewHelper -import com.chwl.app.databinding.TreasureFairyFragmentTestFairyBinding -import com.chwl.app.treasurefairy.FairyViewModel -import com.chwl.app.treasurefairy.adapter.ResolveFairyAdapter -import com.chwl.app.treasurefairy.adapter.TestFairyAdapter -import com.chwl.app.treasurefairy.dialog.ResolveFairyResultDialog -import com.chwl.app.treasurefairy.dialog.TestFairyResultDialog -import com.chwl.app.treasurefairy.view.MyFairyItemView -import com.chwl.app.ui.utils.RVDelegate -import com.chwl.app.ui.utils.load -import com.chwl.core.treasurefairy.FairyInfo - -class TestFairyFragment : BaseViewBindingFragment() { - - companion object { - fun newInstance(fairyType: Int): TestFairyFragment { - val args = Bundle() - args.putInt("fairyType", fairyType) - val fragment = TestFairyFragment() - fragment.arguments = args - return fragment - } - } - - private val fairyType by lazy { requireArguments().getInt("fairyType", MyFairyItemView.BASE) } - private val viewModel: FairyViewModel by activityViewModels() - private lateinit var rvDelegate: RVDelegate - private lateinit var testFairyAdapter: TestFairyAdapter - private lateinit var resolveFairyAdapter: ResolveFairyAdapter - - private val showResultRunnable = Runnable { - if (canShowResult) { - canShowResult = false - binding.ivBegin.isEnabled = true - if (fairyType == MyFairyItemView.BASE) { - viewModel.testResultLiveData - } else { - viewModel.testLegendResultLiveData - }.value?.peekContent()?.let { - TestFairyResultDialog.newInstance(it).show(context) - } - - } else { - resultNotShowed = true - } - } - - /** - * 获得精灵碎片 - */ - private val showResolveResultRunnable = Runnable { - if (canShowResult) { - canShowResult = false - binding.ivBegin.isEnabled = true - viewModel.resolveResultLiveData.value?.peekContent()?.let { - ResolveFairyResultDialog.newInstance(it).show(context) - } - } else { - resultNotShowed = true - } - } - private var canShowResult = false - private var resultNotShowed = false - - @SuppressLint("CheckResult") - override fun init() { - val fairyViews = listOf( - binding.ivFairy0, - binding.ivFairy1, - binding.ivFairy2, - binding.ivFairy3, - binding.ivFairy4 - ) - val fairyResolveViews = listOf(binding.ivFairy3) - testFairyAdapter = TestFairyAdapter() - resolveFairyAdapter = ResolveFairyAdapter() - rvDelegate = RVDelegate.Builder() - .setAdapter(if(fairyType == MyFairyItemView.BASE) resolveFairyAdapter else testFairyAdapter) - .setEmptyView( - EmptyViewHelper.createEmptyTextViewNoImage( - context, - getString(R.string.fairy_no_further_data_is_available) - ) - ) - .setRecyclerView(binding.recyclerView) - .setLayoutManager(GridLayoutManager(context, if(fairyType == MyFairyItemView.BASE) 6 else 3 , LinearLayoutManager.VERTICAL, false)) - .build() - - viewModel.myFairyInfoLiveData.observe(viewLifecycleOwner) { - val fairyInfos = it?.lowElves - if(fairyType == MyFairyItemView.BASE) { - val list = mutableListOf() - it?.lowElves?.take(3)?.let { it1 -> list.addAll(it1) } - it?.highElves?.take(3)?.let { it2 -> list.addAll(it2) } - rvDelegate.setNewData(list) - } else { - rvDelegate.setNewData(fairyInfos?.take(3)) - } - } - - resolveFairyAdapter.setOnItemClickListener { _, _, position -> - resolveFairyAdapter.getItem(position)?.let { - viewModel.addTestFairy(it, 1) - } - } - - testFairyAdapter.setOnItemClickListener { _, _, position -> - testFairyAdapter.getItem(position)?.let { - viewModel.addTestFairy(it, 5) - } - } - - fairyViews.forEachIndexed { index, imageView -> - imageView.setOnClickListener { - viewModel.minusTestFairy(index) - } - } - fairyResolveViews.forEachIndexed { index, imageView -> - imageView.setOnClickListener { - viewModel.minusTestFairy(index) - } - } - binding.tvReset.setOnClickListener { - viewModel.cleanTestParam() - } - binding.tvOneKeyAdd.setOnClickListener { - if (fairyType == MyFairyItemView.BASE) { - viewModel.oneKeyAdd(resolveFairyAdapter.data, 1) - } else { - viewModel.oneKeyAdd(testFairyAdapter.data, 5) - } - } - - if (fairyType == MyFairyItemView.BASE) { - binding.viewBgAnim.setBackgroundResource(R.drawable.treasure_fairy_bg_test_fairy_anim_legend) - val p = binding.ivFairy3.layoutParams as ConstraintLayout.LayoutParams - p.verticalBias = 0.9f - binding.tvResolveTips.visibility = View.VISIBLE - binding.tvResolveTips.text = getString(R.string.tips_fairy_resolve_low) - binding.viewBgTop.setBackgroundResource(R.drawable.treasure_fairy_bg_test_fairy_legend) - binding.ivBegin.setBackgroundResource(R.drawable.treasure_fairy_bg_resolve_fairy_begin) - binding.tvTips.text = "點擊投入需要分解的精靈" - } else { - binding.viewBgAnim.setBackgroundResource(R.drawable.treasure_fairy_bg_test_fairy_anim_epic) - val p = binding.ivFairy3.layoutParams as ConstraintLayout.LayoutParams - p.verticalBias = 0.94f - binding.tvResolveTips.visibility = View.GONE - binding.viewBgTop.setBackgroundResource(R.drawable.treasure_fairy_bg_test_fairy) - binding.ivBegin.setBackgroundResource(R.drawable.treasure_fairy_bg_test_fairy_begin) - binding.tvTips.text = "點擊投入試煉傳說精靈" - } - - binding.ivBegin.setOnClickListener { - if (fairyType == MyFairyItemView.BASE) { - if (viewModel.resolveFairy()) { - binding.animView.startPlay( - requireContext().assets, - "vap/test_fairy_anim_epic.mp4" - ) - binding.ivBegin.isEnabled = false - canShowResult = false - binding.ivBegin.postDelayed(showResolveResultRunnable, 1800) - } - } else if (viewModel.testFairy(fairyType)) { - binding.animView.startPlay( - requireContext().assets, - if (fairyType == MyFairyItemView.BASE) { - "vap/test_fairy_anim_epic.mp4" - } else { - "vap/test_fairy_anim_legend.mp4" - } - ) - binding.ivBegin.isEnabled = false - canShowResult = false - binding.ivBegin.postDelayed(showResultRunnable, 1800) - } - } - binding.animView.setOnClickListener { - if (canShowResult) { - binding.ivBegin.removeCallbacks(showResultRunnable) - showResultRunnable.run() - } - } - (if (fairyType == MyFairyItemView.BASE) { - viewModel.testResultLiveData - } else { - viewModel.testLegendResultLiveData - }).observe( - viewLifecycleOwner - ) { - it?.getContentIfNotHandled()?.let { - canShowResult = true - if (resultNotShowed) { - showResultRunnable.run() - } - } ?: run { - binding.ivBegin.isEnabled = true - } - } - - //分解碎片 - viewModel.resolveResultLiveData.observe(viewLifecycleOwner) { - it?.getContentIfNotHandled()?.let { - canShowResult = true - if (resultNotShowed) { - showResultRunnable.run() - } - } ?: run { - binding.ivBegin.isEnabled = true - } - } - - viewModel.compoundFairyInfosLiveData.observe(viewLifecycleOwner) { - if (fairyType == MyFairyItemView.BASE) { - fairyResolveViews.forEachIndexed { index, imageView -> - it?.get(index)?.elfPicUrl?.let { elfPicUrl -> - binding.tvResolveTips.text = getString( - if (it[index].level == FairyInfo.LEVEL_HIGH) { - R.string.tips_fairy_resolve_high - } else { - R.string.tips_fairy_resolve_low - } - ) - imageView.load(elfPicUrl) - } ?: run { - binding.tvResolveTips.text = getString(R.string.tips_fairy_resolve_low) - imageView.setImageDrawable(null) - } - } - resolveFairyAdapter.notifyDataSetChanged() - } else { - fairyViews.forEachIndexed { index, imageView -> - it?.get(index)?.elfPicUrl?.let { elfPicUrl -> - imageView.load(elfPicUrl) - } ?: run { - imageView.setImageDrawable(null) - } - } - testFairyAdapter.notifyDataSetChanged() - } - } - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/view/CustomDrawable.kt b/app/src/main/java/com/chwl/app/treasurefairy/view/CustomDrawable.kt deleted file mode 100644 index f0d28a751..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/view/CustomDrawable.kt +++ /dev/null @@ -1,63 +0,0 @@ -package com.chwl.app.treasurefairy.view - -import android.graphics.* -import android.graphics.drawable.Drawable - -class CustomDrawable(private val innerDrawable: Drawable) : Drawable() { - private val srcPaint: Paint - - /** - * 使用时需要自定义path - */ - private var srcPath: Path = Path() - private val xFermode = PorterDuffXfermode(PorterDuff.Mode.CLEAR) - - /** - * 设置内部透明的部分 - */ - fun setSrcPath(srcPath: Path) { - this.srcPath = srcPath - } - - override fun draw(canvas: Canvas) { - innerDrawable.bounds = bounds - if (srcPath.isEmpty) { - innerDrawable.draw(canvas) - } else { - // 将绘制操作保存到新的图层 - val saveCount = canvas.saveLayer( - 0f, 0f, bounds.width().toFloat(), bounds.height().toFloat(), srcPaint, - Canvas.ALL_SAVE_FLAG - ) - // 绘制目标图 - innerDrawable.draw(canvas) - // 设置混合模式 - srcPaint.xfermode = xFermode - // src 绘制源图 - canvas.drawPath(srcPath, srcPaint) - // 清除混合模式 - srcPaint.xfermode = null - // 还原画布 - canvas.restoreToCount(saveCount) - } - } - - override fun setAlpha(alpha: Int) { - innerDrawable.alpha = alpha - } - - override fun setColorFilter(colorFilter: ColorFilter?) { - innerDrawable.colorFilter = colorFilter - } - - override fun getOpacity(): Int { - return innerDrawable.opacity - } - - init { - // path默认实现 - srcPath.addRect(100f, 100f, 200f, 200f, Path.Direction.CW) - srcPaint = Paint(Paint.ANTI_ALIAS_FLAG) - srcPaint.color = -0x1 - } -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/view/ExchangeItemView.kt b/app/src/main/java/com/chwl/app/treasurefairy/view/ExchangeItemView.kt deleted file mode 100644 index 109991488..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/view/ExchangeItemView.kt +++ /dev/null @@ -1,35 +0,0 @@ -package com.chwl.app.treasurefairy.view - -import android.annotation.SuppressLint -import android.content.Context -import android.util.AttributeSet -import androidx.annotation.Nullable -import androidx.constraintlayout.widget.ConstraintLayout -import com.chwl.app.R -import com.chwl.app.databinding.TreasureFairyItemExchangeBinding -import com.chwl.app.ui.utils.load -import com.chwl.core.treasurefairy.FairyInfo - -class ExchangeItemView @JvmOverloads constructor( - context: Context, - @Nullable attrs: AttributeSet? = null, - defStyleAttr: Int = 0 -) : ConstraintLayout(context, attrs, defStyleAttr) { - - private val binding: TreasureFairyItemExchangeBinding - - init { - inflate(context, R.layout.treasure_fairy_item_exchange, this) - binding = TreasureFairyItemExchangeBinding.bind(this) - } - - @SuppressLint("SetTextI18n") - fun setFairyInfo(fairyInfo: FairyInfo?) { - fairyInfo?.let { - binding.ivFairyIcon.load(it.elfPicUrl) - binding.tvFairyName.text = it.elfName - binding.tvFairyNum.text = "${it.elfNum}" - } - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/view/HomeItemView.kt b/app/src/main/java/com/chwl/app/treasurefairy/view/HomeItemView.kt deleted file mode 100644 index 9ac4345f0..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/view/HomeItemView.kt +++ /dev/null @@ -1,30 +0,0 @@ -package com.chwl.app.treasurefairy.view - -import android.content.Context -import android.util.AttributeSet -import android.widget.FrameLayout -import androidx.annotation.Nullable -import com.chwl.app.R -import com.chwl.app.databinding.TreasureFairyItemHomeBinding -import com.chwl.app.ui.utils.load -import com.chwl.core.treasurefairy.PrizeInfo - -class HomeItemView @JvmOverloads constructor( - context: Context, - @Nullable attrs: AttributeSet? = null, - defStyleAttr: Int = 0 -) : FrameLayout(context, attrs, defStyleAttr) { - - private val binding: TreasureFairyItemHomeBinding - - init { - inflate(context, R.layout.treasure_fairy_item_home, this) - binding = TreasureFairyItemHomeBinding.bind(this) - } - - fun setPrizeInfo(prizeInfo: PrizeInfo) { - binding.ivPrizeIcon.load(prizeInfo.rewardPicUrl) - binding.tvPrizeName.text = prizeInfo.rewardName - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/treasurefairy/view/MyFairyItemView.kt b/app/src/main/java/com/chwl/app/treasurefairy/view/MyFairyItemView.kt deleted file mode 100644 index 2083ec878..000000000 --- a/app/src/main/java/com/chwl/app/treasurefairy/view/MyFairyItemView.kt +++ /dev/null @@ -1,118 +0,0 @@ -package com.chwl.app.treasurefairy.view - -import android.annotation.SuppressLint -import android.content.Context -import android.graphics.Color -import android.util.AttributeSet -import android.view.View -import android.widget.FrameLayout -import androidx.annotation.Nullable -import androidx.core.graphics.toColorInt -import androidx.core.view.isVisible -import com.chwl.app.R -import com.chwl.app.databinding.TreasureFairyItemMyFairyBaseBinding -import com.chwl.app.ui.utils.load -import com.chwl.core.treasurefairy.FairyInfo - -class MyFairyItemView @JvmOverloads constructor( - context: Context, - @Nullable attrs: AttributeSet? = null, - defStyleAttr: Int = 0 -) : FrameLayout(context, attrs, defStyleAttr) { - - companion object { - const val BASE = 1 - const val EPIC = 2 - const val LEGEND = 3 - } - - private val binding: TreasureFairyItemMyFairyBaseBinding - private var fairyInfo: FairyInfo? = null - - init { - inflate(context, R.layout.treasure_fairy_item_my_fairy_base, this) - binding = TreasureFairyItemMyFairyBaseBinding.bind(this) - binding.clSurface.setOnClickListener { - binding.root.animate() - .rotationY(180f) - .setDuration(500) - .start() - binding.root.postDelayed({ - binding.clSurface.isVisible = false - binding.clBack.isVisible = true - }, 250) - } - binding.clBack.setOnClickListener { - binding.root.animate() - .rotationY(0f) - .setDuration(500) - .start() - binding.root.postDelayed({ - binding.clSurface.isVisible = true - binding.clBack.isVisible = false - }, 250) - } - - binding.ivFairySend.setOnClickListener { - - } - } - - @SuppressLint("SetTextI18n") - fun setFairyInfo(fairyInfo: FairyInfo?) { - this.fairyInfo = fairyInfo - fairyInfo?.let { - binding.tvFairyName.text = it.elfName - binding.tvFairyNameBack.text = it.elfName - binding.tvFairyNum.text = "x${it.elfNum}" - binding.tvFairyNumBack.text = "x${it.elfNum}" - binding.ivFairyIcon.load(it.elfPicUrl) - binding.ivFairyIconBack.load(it.elfPicUrl) - binding.ivFairyEmpty.isVisible = it.elfNum == 0 - binding.ivFairySend.isVisible = it.elfNum > 0 - binding.viewCover.isVisible = it.elfNum == 0 - } - } - - fun setOnItemClickListener(onItemClickListener: (view: View, fairyInfo: FairyInfo?) -> Unit) { - binding.ivFairyGet.setOnClickListener { - onItemClickListener(it, fairyInfo) - } - binding.ivFairySend.setOnClickListener { - onItemClickListener(it, fairyInfo) - } - } - - fun setFairyType(fairyType: Int) { - when (fairyType) { - BASE -> { - binding.viewBg.setBackgroundResource(R.drawable.treasure_fairy_bg_my_fairy_item_base) - binding.viewBgBack.setBackgroundResource(R.drawable.treasure_fairy_bg_my_fairy_item_base) - binding.viewCover.setBackgroundResource(R.drawable.treasure_fairy_bg_my_fairy_item_base_cover) - binding.tvFairyName.setTextColor("#A4FFFC".toColorInt()) - binding.tvFairyNameBack.setTextColor("#A4FFFC".toColorInt()) - binding.tvFairyNum.setTextColor("#FFE8AA".toColorInt()) - binding.tvFairyNumBack.setTextColor("#FFE8AA".toColorInt()) - } - EPIC -> { - binding.viewBg.setBackgroundResource(R.drawable.treasure_fairy_bg_my_fairy_item_epic) - binding.viewBgBack.setBackgroundResource(R.drawable.treasure_fairy_bg_my_fairy_item_epic) - binding.viewCover.setBackgroundResource(R.drawable.treasure_fairy_bg_my_fairy_item_epic_cover) - binding.tvFairyName.setTextColor("#FFFED6".toColorInt()) - binding.tvFairyNameBack.setTextColor("#FFFED6".toColorInt()) - binding.tvFairyNum.setTextColor("#59FDFF".toColorInt()) - binding.tvFairyNumBack.setTextColor("#59FDFF".toColorInt()) - } - LEGEND -> { - binding.viewBg.setBackgroundResource(R.drawable.treasure_fairy_bg_my_fairy_item_legend) - binding.viewBgBack.setBackgroundResource(R.drawable.treasure_fairy_bg_my_fairy_item_legend) - binding.viewCover.setBackgroundResource(R.drawable.treasure_fairy_bg_my_fairy_item_legend_cover) - binding.tvFairyName.setTextColor(Color.WHITE) - binding.tvFairyNameBack.setTextColor(Color.WHITE) - binding.tvFairyNum.setTextColor("#FFE8AA".toColorInt()) - binding.tvFairyNumBack.setTextColor("#FFE8AA".toColorInt()) - } - } - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/ui/im/chat/MsgViewHolderFairy.java b/app/src/main/java/com/chwl/app/ui/im/chat/MsgViewHolderFairy.java index a06849927..8f5694a42 100644 --- a/app/src/main/java/com/chwl/app/ui/im/chat/MsgViewHolderFairy.java +++ b/app/src/main/java/com/chwl/app/ui/im/chat/MsgViewHolderFairy.java @@ -8,7 +8,6 @@ import android.widget.TextView; import com.netease.nim.uikit.business.session.viewholder.MsgViewHolderBase; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter; import com.chwl.app.R; -import com.chwl.app.treasurefairy.dialog.MyFairySendDialog; import com.chwl.app.ui.utils.ImageLoadUtils; import com.chwl.core.auth.AuthModel; import com.chwl.core.gift.bean.SimpleUserInfo; @@ -78,22 +77,22 @@ public class MsgViewHolderFairy extends MsgViewHolderBase implements View.OnClic @SuppressLint("CheckResult") @Override public void onClick(View v) { - FairySendAttachment attachment = (FairySendAttachment) message.getAttachment(); - SimpleUserInfo userInfo = new SimpleUserInfo(attachment.getNick(), attachment.getUid(), 0, "", ""); - FairyInfo fairyInfo = new FairyInfo(attachment.getElfId(), 1, 1, attachment.getElfName(), attachment.getElfPicUrl(), 0); - Bundle bundle = new Bundle(); - bundle.putSerializable("userInfo", userInfo); - bundle.putSerializable("fairyInfo", fairyInfo); - bundle.putBoolean("isSend", true); - MyFairySendDialog sendDialog = MyFairySendDialog.Companion.newInstance(bundle, userInfo); - sendDialog.setOnSendListener(() -> { - Map localExtension = message.getLocalExtension(); - if (localExtension == null) localExtension = new HashMap<>(); - localExtension.put(IS_SEND, true); - message.setLocalExtension(localExtension); - IMNetEaseManager.get().updateMessageToLocal(message); - return null; - }); - sendDialog.show(context); +// FairySendAttachment attachment = (FairySendAttachment) message.getAttachment(); +// SimpleUserInfo userInfo = new SimpleUserInfo(attachment.getNick(), attachment.getUid(), 0, "", ""); +// FairyInfo fairyInfo = new FairyInfo(attachment.getElfId(), 1, 1, attachment.getElfName(), attachment.getElfPicUrl(), 0); +// Bundle bundle = new Bundle(); +// bundle.putSerializable("userInfo", userInfo); +// bundle.putSerializable("fairyInfo", fairyInfo); +// bundle.putBoolean("isSend", true); +// MyFairySendDialog sendDialog = MyFairySendDialog.Companion.newInstance(bundle, userInfo); +// sendDialog.setOnSendListener(() -> { +// Map localExtension = message.getLocalExtension(); +// if (localExtension == null) localExtension = new HashMap<>(); +// localExtension.put(IS_SEND, true); +// message.setLocalExtension(localExtension); +// IMNetEaseManager.get().updateMessageToLocal(message); +// return null; +// }); +// sendDialog.show(context); } } diff --git a/app/src/main/res/layout/treasure_fairy_dialog_buy_debris.xml b/app/src/main/res/layout/treasure_fairy_dialog_buy_debris.xml deleted file mode 100644 index 358e63ddd..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_buy_debris.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_dialog_buy_debris_modify_quantity.xml b/app/src/main/res/layout/treasure_fairy_dialog_buy_debris_modify_quantity.xml deleted file mode 100644 index 3787bd250..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_buy_debris_modify_quantity.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_dialog_buy_success.xml b/app/src/main/res/layout/treasure_fairy_dialog_buy_success.xml deleted file mode 100644 index 97dec25e9..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_buy_success.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_dialog_exchange.xml b/app/src/main/res/layout/treasure_fairy_dialog_exchange.xml deleted file mode 100644 index 3d6321992..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_exchange.xml +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_dialog_exchange_record.xml b/app/src/main/res/layout/treasure_fairy_dialog_exchange_record.xml deleted file mode 100644 index 93d9aa556..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_exchange_record.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_dialog_forest.xml b/app/src/main/res/layout/treasure_fairy_dialog_forest.xml deleted file mode 100644 index ac00d4c5b..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_forest.xml +++ /dev/null @@ -1,303 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_dialog_forest_prize.xml b/app/src/main/res/layout/treasure_fairy_dialog_forest_prize.xml deleted file mode 100644 index bd51dc430..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_forest_prize.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_dialog_forest_record.xml b/app/src/main/res/layout/treasure_fairy_dialog_forest_record.xml deleted file mode 100644 index efae2195d..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_forest_record.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_dialog_home.xml b/app/src/main/res/layout/treasure_fairy_dialog_home.xml deleted file mode 100644 index 26ab73fa8..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_home.xml +++ /dev/null @@ -1,533 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_dialog_home_prize.xml b/app/src/main/res/layout/treasure_fairy_dialog_home_prize.xml deleted file mode 100644 index 9c13cbdd7..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_home_prize.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_dialog_my_fairy.xml b/app/src/main/res/layout/treasure_fairy_dialog_my_fairy.xml deleted file mode 100644 index 79d9fe59d..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_my_fairy.xml +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_dialog_my_fairy_record.xml b/app/src/main/res/layout/treasure_fairy_dialog_my_fairy_record.xml deleted file mode 100644 index ef1e12301..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_my_fairy_record.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_dialog_my_fairy_search_friend.xml b/app/src/main/res/layout/treasure_fairy_dialog_my_fairy_search_friend.xml deleted file mode 100644 index d70214bf9..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_my_fairy_search_friend.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_dialog_my_fairy_send.xml b/app/src/main/res/layout/treasure_fairy_dialog_my_fairy_send.xml deleted file mode 100644 index e0f769101..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_my_fairy_send.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_dialog_resolve_fairy_result.xml b/app/src/main/res/layout/treasure_fairy_dialog_resolve_fairy_result.xml deleted file mode 100644 index a251e6962..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_resolve_fairy_result.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_dialog_test_fairy.xml b/app/src/main/res/layout/treasure_fairy_dialog_test_fairy.xml deleted file mode 100644 index 9d1098c19..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_test_fairy.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_dialog_test_fairy_record.xml b/app/src/main/res/layout/treasure_fairy_dialog_test_fairy_record.xml deleted file mode 100644 index c18b293ce..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_test_fairy_record.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_dialog_test_fairy_result.xml b/app/src/main/res/layout/treasure_fairy_dialog_test_fairy_result.xml deleted file mode 100644 index 8d0f43b48..000000000 --- a/app/src/main/res/layout/treasure_fairy_dialog_test_fairy_result.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_fragment_exchange_debris.xml b/app/src/main/res/layout/treasure_fairy_fragment_exchange_debris.xml deleted file mode 100644 index 8ecc8218f..000000000 --- a/app/src/main/res/layout/treasure_fairy_fragment_exchange_debris.xml +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_fragment_exchange_fairy.xml b/app/src/main/res/layout/treasure_fairy_fragment_exchange_fairy.xml deleted file mode 100644 index 79a3e33bb..000000000 --- a/app/src/main/res/layout/treasure_fairy_fragment_exchange_fairy.xml +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_fragment_exchange_record_debris.xml b/app/src/main/res/layout/treasure_fairy_fragment_exchange_record_debris.xml deleted file mode 100644 index b69c7f535..000000000 --- a/app/src/main/res/layout/treasure_fairy_fragment_exchange_record_debris.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_fragment_exchange_record_fairy.xml b/app/src/main/res/layout/treasure_fairy_fragment_exchange_record_fairy.xml deleted file mode 100644 index 9c7fe261c..000000000 --- a/app/src/main/res/layout/treasure_fairy_fragment_exchange_record_fairy.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_fragment_forest_prizes.xml b/app/src/main/res/layout/treasure_fairy_fragment_forest_prizes.xml deleted file mode 100644 index 0c389ffe9..000000000 --- a/app/src/main/res/layout/treasure_fairy_fragment_forest_prizes.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_fragment_forest_prizes_child.xml b/app/src/main/res/layout/treasure_fairy_fragment_forest_prizes_child.xml deleted file mode 100644 index 8a75697aa..000000000 --- a/app/src/main/res/layout/treasure_fairy_fragment_forest_prizes_child.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/app/src/main/res/layout/treasure_fairy_fragment_forest_record.xml b/app/src/main/res/layout/treasure_fairy_fragment_forest_record.xml deleted file mode 100644 index 74479f835..000000000 --- a/app/src/main/res/layout/treasure_fairy_fragment_forest_record.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_fragment_my_fairy.xml b/app/src/main/res/layout/treasure_fairy_fragment_my_fairy.xml deleted file mode 100644 index c4b3702f1..000000000 --- a/app/src/main/res/layout/treasure_fairy_fragment_my_fairy.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_fragment_test_fairy.xml b/app/src/main/res/layout/treasure_fairy_fragment_test_fairy.xml deleted file mode 100644 index c890e0351..000000000 --- a/app/src/main/res/layout/treasure_fairy_fragment_test_fairy.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_item_exchange.xml b/app/src/main/res/layout/treasure_fairy_item_exchange.xml deleted file mode 100644 index 711371681..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_exchange.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_item_exchange_debris.xml b/app/src/main/res/layout/treasure_fairy_item_exchange_debris.xml deleted file mode 100644 index fdf7d9f42..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_exchange_debris.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/treasure_fairy_item_exchange_debris_record.xml b/app/src/main/res/layout/treasure_fairy_item_exchange_debris_record.xml deleted file mode 100644 index 0619c1ff3..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_exchange_debris_record.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/treasure_fairy_item_exchange_fairy_record.xml b/app/src/main/res/layout/treasure_fairy_item_exchange_fairy_record.xml deleted file mode 100644 index caac0aa42..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_exchange_fairy_record.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/treasure_fairy_item_exchange_summon.xml b/app/src/main/res/layout/treasure_fairy_item_exchange_summon.xml deleted file mode 100644 index bdea0e45d..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_exchange_summon.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/treasure_fairy_item_forest_prize.xml b/app/src/main/res/layout/treasure_fairy_item_forest_prize.xml deleted file mode 100644 index b4c3fdc49..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_forest_prize.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/treasure_fairy_item_forest_prize_single.xml b/app/src/main/res/layout/treasure_fairy_item_forest_prize_single.xml deleted file mode 100644 index e386445b0..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_forest_prize_single.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/treasure_fairy_item_forest_prize_single_resolve.xml b/app/src/main/res/layout/treasure_fairy_item_forest_prize_single_resolve.xml deleted file mode 100644 index b761f8014..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_forest_prize_single_resolve.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/treasure_fairy_item_forest_prizes_child.xml b/app/src/main/res/layout/treasure_fairy_item_forest_prizes_child.xml deleted file mode 100644 index 7c066e95a..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_forest_prizes_child.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_item_forest_prizes_record.xml b/app/src/main/res/layout/treasure_fairy_item_forest_prizes_record.xml deleted file mode 100644 index bc3b5f571..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_forest_prizes_record.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/treasure_fairy_item_home.xml b/app/src/main/res/layout/treasure_fairy_item_home.xml deleted file mode 100644 index c1656a025..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_home.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_item_home_prize.xml b/app/src/main/res/layout/treasure_fairy_item_home_prize.xml deleted file mode 100644 index c56cbb690..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_home_prize.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/treasure_fairy_item_home_prize_single.xml b/app/src/main/res/layout/treasure_fairy_item_home_prize_single.xml deleted file mode 100644 index 03456fb7a..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_home_prize_single.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/treasure_fairy_item_my_fairy_base.xml b/app/src/main/res/layout/treasure_fairy_item_my_fairy_base.xml deleted file mode 100644 index 611405c23..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_my_fairy_base.xml +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/treasure_fairy_item_my_fairy_epic.xml b/app/src/main/res/layout/treasure_fairy_item_my_fairy_epic.xml deleted file mode 100644 index 7beae7a31..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_my_fairy_epic.xml +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/treasure_fairy_item_my_fairy_friend.xml b/app/src/main/res/layout/treasure_fairy_item_my_fairy_friend.xml deleted file mode 100644 index 3872d4e94..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_my_fairy_friend.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/treasure_fairy_item_my_fairy_legend.xml b/app/src/main/res/layout/treasure_fairy_item_my_fairy_legend.xml deleted file mode 100644 index 0144fbcc2..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_my_fairy_legend.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/treasure_fairy_item_my_fairy_record.xml b/app/src/main/res/layout/treasure_fairy_item_my_fairy_record.xml deleted file mode 100644 index 89ac4b9d5..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_my_fairy_record.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/treasure_fairy_item_resolve_fairy.xml b/app/src/main/res/layout/treasure_fairy_item_resolve_fairy.xml deleted file mode 100644 index 7c0cd1cd2..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_resolve_fairy.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_item_test_fairy.xml b/app/src/main/res/layout/treasure_fairy_item_test_fairy.xml deleted file mode 100644 index c03a8aa65..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_test_fairy.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/treasure_fairy_item_test_fairy_record.xml b/app/src/main/res/layout/treasure_fairy_item_test_fairy_record.xml deleted file mode 100644 index 97d1b83a4..000000000 --- a/app/src/main/res/layout/treasure_fairy_item_test_fairy_record.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/treasure_fairy_popup_window_home_more.xml b/app/src/main/res/layout/treasure_fairy_popup_window_home_more.xml deleted file mode 100644 index c311cf97e..000000000 --- a/app/src/main/res/layout/treasure_fairy_popup_window_home_more.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/module_mini_world/res/layout/fragment_av_room_game.xml b/app/src/module_mini_world/res/layout/fragment_av_room_game.xml index a5ec6dd10..13fb5516f 100644 --- a/app/src/module_mini_world/res/layout/fragment_av_room_game.xml +++ b/app/src/module_mini_world/res/layout/fragment_av_room_game.xml @@ -205,18 +205,18 @@ android:layout_marginEnd="16dp" app:rollviewpager_hint_gravity="center" /> - + + + + + + + + + + + + - + + + + + + + + + + + + + - + + + + + + + + + + + + + + app:layout_constraintBottom_toTopOf="@id/fl_speedy_message" + app:layout_constraintEnd_toEndOf="parent"/> - implements CarMagicIndicator.OnItemSelectListener, View.OnClickListener { - - private final String[] titles = {ResUtil.getString(R.string.treasure_box_activity_boxrankingactivity_01), ResUtil.getString(R.string.treasure_box_activity_boxrankingactivity_02)}; - public static final int TYPE_TODAY = 1;//今日 - public static final int TYPE_YESTERDAY = 2;//今日 - - - public static void start(Context context) { - Intent starter = new Intent(context, BoxRankingActivity.class); - context.startActivity(starter); - } - - @SuppressLint("CheckResult") - public void init() { - EventBus.getDefault().register(this); - - binding.rootView.setOnClickListener(this); - - List tabInfoList = new ArrayList<>(2); - for (int i = 0; i < titles.length; i++) { - tabInfoList.add(new TabInfo(i, titles[i])); - } - binding.viewpager.setOffscreenPageLimit(2); - binding.viewpager.setAdapter(new ViewPagerAdapter(getSupportFragmentManager(), getFragment(), titles)); - binding.viewIndicator.setViewPager(binding.viewpager, titles, this, getFragment()); - - IMNetEaseManager.get().getChatRoomEventObservable() - .compose(bindToLifecycle()) - .filter(roomEvent -> roomEvent.getEvent() == RoomEvent.KICK_OUT_ROOM) - .subscribe(roomEvent -> finish()); - - binding.ivRefresh.setOnClickListener(v -> EventBus.getDefault().post(new RefreshBoxRankingEvent())); - } - - @Override - protected boolean needSteepStateBar() { - return false; - } - - @Override - protected void onDestroy() { - super.onDestroy(); - EventBus.getDefault().unregister(this); - } - - private ArrayList getFragment() { - ArrayList list = new ArrayList<>(); - list.add(BoxRankingFragment.newInstance(TYPE_TODAY)); - list.add(BoxRankingFragment.newInstance(TYPE_YESTERDAY)); - return list; - } - - @Override - public void onItemSelect(int position) { - binding.viewpager.setCurrentItem(position); - } - - @Override - public void onClick(View view) { - if(view.getId() == R.id.root_view){ - finish(); - } - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onRootViewClicked(ClickRootViewEvent event) { - finish(); - } - -} \ No newline at end of file diff --git a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/activity/TreasureBoxActivity.java b/app/src/module_treasure_box/java/com/chwl/app/treasure_box/activity/TreasureBoxActivity.java deleted file mode 100644 index 976bc6112..000000000 --- a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/activity/TreasureBoxActivity.java +++ /dev/null @@ -1,538 +0,0 @@ -package com.chwl.app.treasure_box.activity; - -import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_BOX; -import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_FAIRY; -import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_LUCKY_GIFT; -import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_LUCKY_GIFT_SERVER_ALL; -import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_LUCKY_GIFT_SERVER_NOTIFY; -import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_LUCKY_SEA; -import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_LUCKY_SEA_GIFT_SERVER_ALL; -import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_BOX_ALL_ROOM_NOTIFY_BY_SVGA; -import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_DRAW_GIFT_L5; - -import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.animation.ObjectAnimator; -import android.annotation.SuppressLint; -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.text.Editable; -import android.text.TextUtils; -import android.text.TextWatcher; -import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.view.WindowManager; -import android.view.animation.AccelerateDecelerateInterpolator; -import android.widget.LinearLayout; -import android.widget.TextView; - -import com.alibaba.fastjson.JSON; -import com.hjq.toast.ToastUtils; -import com.netease.nim.uikit.StatusBarUtil; -import com.netease.nim.uikit.common.util.sys.ScreenUtil; -import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder; -import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage; -import com.chwl.app.R; -import com.chwl.app.base.BaseBindingActivity; -import com.chwl.app.databinding.ActivityTreasureBoxBinding; -import com.chwl.app.treasure_box.widget.dialog.BoxLoveLackDialog; -import com.chwl.app.treasure_box.widget.dialog.BoxMoreDialog; -import com.chwl.app.treasure_box.widget.dialog.BuyLoveDialog; -import com.chwl.app.treasure_box.widget.dialog.TreasureBoxDialog; -import com.chwl.app.ui.utils.ImageLoadUtils; -import com.chwl.app.utils.KeyBoardUtils; -import com.chwl.app.utils.UserUtils; -import com.chwl.core.treasure_box.bean.PrizeNewInfo; -import com.chwl.core.treasure_box.bean.UserTicketInfo; -import com.chwl.core.treasure_box.model.BoxModel; -import com.chwl.core.DemoCache; -import com.chwl.core.auth.AuthModel; -import com.chwl.core.bean.BaseProtocol; -import com.chwl.core.exception.FailReasonException; -import com.chwl.core.gift.bean.LuckyBagNoticeInfo; -import com.chwl.core.im.custom.bean.FairyMsgAttachment; -import com.chwl.core.im.custom.bean.RoomBoxPrizeAttachment; -import com.chwl.core.im.custom.bean.RoomBoxPrizeInfo; -import com.chwl.core.im.custom.bean.RoomLuckySeaAttachment; -import com.chwl.core.im.custom.bean.RoomLuckySeaMsgBean; -import com.chwl.core.im.custom.bean.RoomReceivedLuckyGiftAttachment; -import com.chwl.core.manager.AvRoomDataManager; -import com.chwl.core.manager.IMNetEaseManager; -import com.chwl.core.manager.RoomEvent; -import com.chwl.core.pay.PayModel; -import com.chwl.core.pay.bean.WalletInfo; -import com.chwl.core.room.bean.FindLoveSwitchVo; -import com.chwl.core.treasurefairy.FairyMsgInfoBean; -import com.chwl.library.annatation.ActLayoutRes; -import com.chwl.library.common.SpConstants; -import com.chwl.library.common.util.SPUtils; -import com.chwl.library.utils.FormatUtils; -import com.chwl.library.utils.ResUtil; -import com.chwl.library.utils.SingleToastUtil; -import com.chwl.library.utils.TimeUtils; - -import org.greenrobot.eventbus.EventBus; -import org.greenrobot.eventbus.Subscribe; -import org.greenrobot.eventbus.ThreadMode; - -import java.util.ArrayList; -import java.util.Objects; -import java.util.concurrent.TimeUnit; - -import io.reactivex.Observable; -import io.reactivex.android.schedulers.AndroidSchedulers; - -@ActLayoutRes(R.layout.activity_treasure_box) -public class TreasureBoxActivity extends BaseBindingActivity implements View.OnClickListener { - - public static final int MAX_BUY_QUANTITY_LIMIT = 99999; - - private final Runnable removeRunnable = () -> mBinding.llPrizeHint.removeAllViews(); - private ArrayList cacheList = new ArrayList<>(); - private ArrayList hintPrizeCacheList = new ArrayList<>(); - private ObjectAnimator translationXAnimator; - private ObjectAnimator translationYAnimator; - private int height; - private int sendMessageSwitchLevel; - - private int mNum = -1; - - private UserTicketInfo userTicketInfo; - - public static void start(Context context) { - Intent starter = new Intent(context, TreasureBoxActivity.class); - context.startActivity(starter); - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - //这里的height用MATCH_PARENT状态栏会被顶上去,不知道什么鬼 - height = ScreenUtil.screenHeight - ScreenUtil.getStatusBarHeight(context); - getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT); - getWindow().setGravity(Gravity.BOTTOM); - subscribeEvent(); - EventBus.getDefault().register(this); - } - - @SuppressLint("CheckResult") - @Override - protected void init() { - mBinding.setClick(this); - translationXAnimator = ObjectAnimator.ofFloat(mBinding.ivGiftAnim, "translationX", 0, - ScreenUtil.screenWidth / 2f - ScreenUtil.dip2px(15 + 19)).setDuration(100); - translationXAnimator.setInterpolator(new AccelerateDecelerateInterpolator()); - translationXAnimator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - mBinding.ivGiftAnim.setVisibility(View.GONE); - } - }); - mBinding.ivBox.post(() -> { - translationYAnimator = ObjectAnimator.ofFloat(mBinding.ivGiftAnim, "translationY", 0, - height - (mBinding.ivBox.getBottom() + mBinding.ivBox.getTop()) / 2f - ScreenUtil.dip2px(10 + 19)).setDuration(100); - translationYAnimator.setInterpolator(new AccelerateDecelerateInterpolator()); - }); - WalletInfo walletInfo = PayModel.get().getCurrentWalletInfo(); - if (walletInfo != null) { - mBinding.tvDiamondNum.setText(FormatUtils.formatBigInteger(walletInfo.getDiamondNum())); - } - - mBinding.view1.setOnClickListener(v -> setBoxPriceSelect(1)); - mBinding.view2.setOnClickListener(v -> setBoxPriceSelect(2)); - mBinding.view3.setOnClickListener(v -> setBoxPriceSelect(3)); - - mBinding.edInputNum.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - try { - mNum = Integer.parseInt(s.toString()); - if (mNum > MAX_BUY_QUANTITY_LIMIT) { - mNum = MAX_BUY_QUANTITY_LIMIT; - mBinding.edInputNum.setText(String.valueOf(mNum)); - mBinding.edInputNum.setSelection(mBinding.edInputNum.getText().length()); - SingleToastUtil.showToast(getString(R.string.treasure_box_activity_treasureboxactivity_01, MAX_BUY_QUANTITY_LIMIT)); - } - setBoxPriceSelect(0); - } catch (NumberFormatException e) { - e.printStackTrace(); - } - } - }); - - mBinding.tvBuy.setOnClickListener(v -> { - if (userTicketInfo == null) { - return; - } - - if (mNum == -1) { - toast(getString(R.string.please_select_or_enter_the_quantity_of_hearts_purchased)); - return; - } - - long date = SPUtils.getLong(SpConstants.BOX_BUY_LOVE, 0L); - if (date != 0L) { - if (TimeUtils.isToday(date)) { - BoxModel.get() - .buyTicket(mNum) - .compose(bindToLifecycle()) - .doOnError(throwable -> toast(throwable.getMessage())) - .subscribe(userTicketInfo -> { - ToastUtils.show("購買成功"); - onTickerInfoUpdated(userTicketInfo); - }); - } else { - BuyLoveDialog.Companion.newInstance(mNum, (int) userTicketInfo.getTicketPrice() * mNum).show(this); - } - } else { - BuyLoveDialog.Companion.newInstance(mNum, (int) userTicketInfo.getTicketPrice() * mNum).show(this); - } - }); - - loadUserTicket(); - loadKeyInfo(); - looperPrize(); - looperHintPrize(); - - } - - @SuppressLint("CheckResult") - private void loadUserTicket() { - BoxModel.get() - .getUserTicket() - .compose(bindToLifecycle()) - .subscribe(userTicketInfo -> onTickerInfoUpdated(userTicketInfo)); - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onTickerInfoUpdated(UserTicketInfo userTicketInfo) { - this.userTicketInfo = userTicketInfo; - mBinding.tvBoxNum.setText(String.valueOf(userTicketInfo.getTicketNum())); - } - - private void setBoxPriceSelect(int pos) { - if (pos == 0) { - mBinding.view1.setSelected(false); - mBinding.view2.setSelected(false); - mBinding.view3.setSelected(false); - mBinding.tv1.setAlpha(0.4f); - mBinding.tv2.setAlpha(0.4f); - mBinding.tv3.setAlpha(0.4f); - return; - } - - mBinding.edInputNum.setText(null); - KeyBoardUtils.hideKeyBoard(this, mBinding.edInputNum); - mBinding.edInputNum.clearFocus(); - - if (pos == 1) { - mNum = 1; - mBinding.view1.setSelected(true); - mBinding.view2.setSelected(false); - mBinding.view3.setSelected(false); - mBinding.tv1.setAlpha(1f); - mBinding.tv2.setAlpha(0.4f); - mBinding.tv3.setAlpha(0.4f); - } else if (pos == 2) { - mNum = 10; - mBinding.view1.setSelected(false); - mBinding.view2.setSelected(true); - mBinding.view3.setSelected(false); - mBinding.tv1.setAlpha(0.4f); - mBinding.tv2.setAlpha(1f); - mBinding.tv3.setAlpha(0.4f); - } else if (pos == 3) { - mNum = 100; - mBinding.view1.setSelected(false); - mBinding.view2.setSelected(false); - mBinding.view3.setSelected(true); - mBinding.tv1.setAlpha(0.4f); - mBinding.tv2.setAlpha(0.4f); - mBinding.tv3.setAlpha(1f); - } - } - - @SuppressLint({"CheckResult", "ClickableViewAccessibility"}) - private void loadKeyInfo() { - FindLoveSwitchVo findLoveSwitchVo = AvRoomDataManager.get().mFindLoveSwitchVo; - if (findLoveSwitchVo == null) { - return; - } - sendMessageSwitchLevel = findLoveSwitchVo.getSendMsgLevel(); - } - - @Override - public void onClick(View v) { - switch (v.getId()) { - case R.id.root_view: - finish(); - break; - case R.id.iv_more: - new BoxMoreDialog(context, sendMessageSwitchLevel).openDialog(); - break; - case R.id.tv_rank: - BoxRankingActivity.start(this); - break; - case R.id.iv_box_1: - openBox(1); - break; - case R.id.iv_box_2: - openBox(10); - break; - case R.id.iv_box_3: - openBox(100); - break; - case R.id.view_bg: - case R.id.iv_title: - //do nothing - break; - default: - break; - } - } - - @SuppressLint("CheckResult") - private void openBox(int count) { - if (count == 0) { - SingleToastUtil.showToast(ResUtil.getString(R.string.treasure_box_activity_treasureboxactivity_03)); - return; - } - if (count > Integer.parseInt(mBinding.tvBoxNum.getText().toString())) { - if (userTicketInfo != null) { - BoxLoveLackDialog.Companion.newInstance(count, (int) userTicketInfo.getTicketPrice()).show(context); - } - return; - } - boolean sendMessage = (sendMessageSwitchLevel != 0 && UserUtils.getExpLevel() < sendMessageSwitchLevel) || DemoCache.readNeedBoxMsg(); - setBoxEnable(false); - mBinding.ivBoxOpen.startAnimation(); - long startTime = System.currentTimeMillis(); - BoxModel.get().openBoxDraw(count, sendMessage) - .compose(bindToLifecycle()) - .doOnError(throwable -> { - setBoxEnable(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 -> { - setBoxEnable(true); - cacheList.addAll(openBoxResult); - - if (userTicketInfo != null) { - userTicketInfo.setTicketNum(userTicketInfo.getTicketNum() - count); - mBinding.tvBoxNum.setText(String.valueOf(userTicketInfo.getTicketNum())); - } - loadUserTicket(); - - return Observable.fromIterable(openBoxResult); - }) - .filter(prizeInfo -> prizeInfo.getLevel() > 2) - .subscribe(prizeInfo -> { - hintPrizeCacheList.add(prizeInfo); - }); - } - - private void setBoxEnable(boolean status) { - mBinding.ivBox1.setEnabled(status); - mBinding.ivBox2.setEnabled(status); - mBinding.ivBox3.setEnabled(status); - } - - @SuppressLint("CheckResult") - private void looperPrize() { - Observable.interval(0, 100, TimeUnit.MILLISECONDS) - .compose(bindToLifecycle()) - .observeOn(AndroidSchedulers.mainThread()) - .filter(aLong -> cacheList.size() > 0) - .subscribe(aLong -> { - 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(); - if (translationYAnimator != null) translationYAnimator.start(); - mBinding.ivGiftAnim.setVisibility(View.VISIBLE); - mBinding.svgaGiftBg.startAnimation(); - ImageLoadUtils.loadImage(context, url, mBinding.ivGiftAnim); - } - } - , e -> looperPrize());//出错了继续looper...... - - } - - @SuppressLint("CheckResult") - private void looperHintPrize() { - Observable.interval(0, 250, TimeUnit.MILLISECONDS) - .compose(bindToLifecycle()) - .observeOn(AndroidSchedulers.mainThread()) - .filter(aLong -> hintPrizeCacheList.size() > 0) - .subscribe(aLong -> addPrizeHintView(hintPrizeCacheList.remove(0)) - , e -> looperHintPrize());//出错了继续looper...... - } - - 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); - LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ScreenUtil.dip2px(21)); - layoutParams.setMargins(0, 0, 0, ScreenUtil.dip2px(5)); - linearLayout.setLayoutParams(layoutParams); - linearLayout.setPadding(ScreenUtil.dip2px(10), 0, ScreenUtil.dip2px(10), 0); - mBinding.llPrizeHint.addView(linearLayout); - if (mBinding.llPrizeHint.getChildCount() > 6) { - mBinding.llPrizeHint.removeViewAt(0); - } - for (int i = 0; i < mBinding.llPrizeHint.getChildCount(); i++) { - ObjectAnimator.ofFloat(mBinding.llPrizeHint.getChildAt(i), "translationY", ScreenUtil.dip2px(21), 0) - .setDuration(200) - .start(); - } - - ImageLoadUtils.loadAvatar(prizeInfo.getPicUrl(), linearLayout.findViewById(R.id.iv_icon)); - ((TextView) linearLayout.findViewById(R.id.tv_prize_name)).setText(prizeInfo.getRewardName()); - ((TextView) linearLayout.findViewById(R.id.tv_diamond)).setText(String.valueOf(prizeInfo.getDiamonds())); - ((TextView) linearLayout.findViewById(R.id.tv_prize_num)).setText("x" + prizeInfo.getNum()); - } - - /** - * 更新钱包 - * - * @param g - */ - private void setGold(double g) { - mBinding.tvDiamondNum.setText(FormatUtils.formatBigInteger(g)); - PayModel.get().getCurrentWalletInfo().setDiamondNum(g); - } - - @SuppressLint("CheckResult") - private void subscribeEvent() { - //更新钻石数量和被踢出房间退出 - IMNetEaseManager.get().getChatRoomEventObservable() - .compose(bindToLifecycle()) - .subscribe(roomEvent -> { - switch (roomEvent.getEvent()) { - case RoomEvent.WALLET_UPDATE: - loadKeyInfo(); - setGold(roomEvent.getWalletInfo().getDiamondNum()); - break; - case RoomEvent.KICK_OUT_ROOM: - finish(); - break; - } - }); - } - - /** - * 接收到全局广播信息 - * - * @param body 信息实体 - */ - protected void onReceivedNimBroadcastMessage(String body) { - BaseProtocol baseProtocol; - try { - baseProtocol = JSON.parseObject(body, BaseProtocol.class); - } catch (Exception e) { - baseProtocol = null; - } - if (baseProtocol == null) return; - switch (baseProtocol.getFirst()) { - case CUSTOM_MSG_BOX://寻爱之旅 - if (baseProtocol.getSecond() == CUSTOM_MSG_SUB_BOX_ALL_ROOM_NOTIFY_BY_SVGA) { - RoomBoxPrizeAttachment roomBoxPrizeAttachment = new RoomBoxPrizeAttachment(CUSTOM_MSG_BOX, CUSTOM_MSG_SUB_BOX_ALL_ROOM_NOTIFY_BY_SVGA); - RoomBoxPrizeInfo roomBoxPrizeBean = JSON.parseObject(String.valueOf(baseProtocol.getData()), RoomBoxPrizeInfo.class); - roomBoxPrizeAttachment.setUid(roomBoxPrizeBean.getUid()); - roomBoxPrizeAttachment.setPrizeName(roomBoxPrizeBean.getPrizeName()); - roomBoxPrizeAttachment.setNick(roomBoxPrizeBean.getNick()); - roomBoxPrizeAttachment.setBoxTypeStr(roomBoxPrizeBean.getBoxTypeStr()); - roomBoxPrizeAttachment.setRoomUid(roomBoxPrizeBean.getRoomUid()); - roomBoxPrizeAttachment.setPrizeNum(roomBoxPrizeBean.getPrizeNum()); - roomBoxPrizeAttachment.setUserLevelLimit(roomBoxPrizeBean.getUserLevelLimit()); - if (AvRoomDataManager.get().isOpenPureMode()) { - // 純凈模式打開後,僅能看跟自己相關的砸蛋消息 - if (Objects.equals(roomBoxPrizeAttachment.getUid(), AuthModel.get().getCurrentUid())) { - ChatRoomMessage message = ChatRoomMessageBuilder.createChatRoomCustomMessage(String.valueOf(AvRoomDataManager.get().getRoomId()), roomBoxPrizeAttachment); - IMNetEaseManager.get().addMessages(message); - } - } else { - ChatRoomMessage message = ChatRoomMessageBuilder.createChatRoomCustomMessage(String.valueOf(AvRoomDataManager.get().getRoomId()), roomBoxPrizeAttachment); - IMNetEaseManager.get().addMessages(message); - IMNetEaseManager.get().getChatRoomEventObservable() - .onNext(new RoomEvent() - .setEvent(RoomEvent.BOX_NOTIFY_SVGA) - .setChatRoomMessage(message)); - } - } - break; - case CUSTOM_MSG_LUCKY_SEA://星级厨房 - if (baseProtocol.getSecond() == CUSTOM_MSG_LUCKY_SEA_GIFT_SERVER_ALL) { - RoomLuckySeaAttachment attachment = new RoomLuckySeaAttachment(CUSTOM_MSG_LUCKY_SEA, CUSTOM_MSG_LUCKY_SEA_GIFT_SERVER_ALL); - attachment.setRoomLuckySeaMsgBean(JSON.parseObject(String.valueOf(baseProtocol.getData()), RoomLuckySeaMsgBean.class)); - ChatRoomMessage message = ChatRoomMessageBuilder.createChatRoomCustomMessage(String.valueOf(AvRoomDataManager.get().getRoomId()), attachment); - IMNetEaseManager.get().addMessages(message); - IMNetEaseManager.get().noticeRoomEvent(message, RoomEvent.LUCKY_SEA_GIFT_SERVER_NOTIFY); - } - break; - case CUSTOM_MSG_LUCKY_GIFT://福袋 - if (baseProtocol.getSecond() == CUSTOM_MSG_LUCKY_GIFT_SERVER_NOTIFY || baseProtocol.getSecond() == CUSTOM_MSG_LUCKY_GIFT_SERVER_ALL) { - RoomReceivedLuckyGiftAttachment attachment = new RoomReceivedLuckyGiftAttachment(CUSTOM_MSG_LUCKY_GIFT_SERVER_NOTIFY); - attachment.setLuckyBagNoticeInfo(JSON.parseObject(String.valueOf(baseProtocol.getData()), LuckyBagNoticeInfo.class)); - ChatRoomMessage message = ChatRoomMessageBuilder.createChatRoomCustomMessage(String.valueOf(AvRoomDataManager.get().getRoomId()), attachment); - IMNetEaseManager.get().noticeServiceLuckyBagNotice(message); - IMNetEaseManager.get().addMessages(message); - } - break; - case CUSTOM_MSG_FAIRY://夺宝精灵 - if (baseProtocol.getSecond() == CUSTOM_MSG_SUB_DRAW_GIFT_L5) { - FairyMsgAttachment attachment = new FairyMsgAttachment(CUSTOM_MSG_FAIRY, CUSTOM_MSG_SUB_DRAW_GIFT_L5); - attachment.setFairyMsgInfo(JSON.parseObject(String.valueOf(baseProtocol.getData()), FairyMsgInfoBean.class)); - ChatRoomMessage message = ChatRoomMessageBuilder.createChatRoomCustomMessage(String.valueOf(AvRoomDataManager.get().getRoomId()), attachment); - IMNetEaseManager.get().noticeRoomEvent(message, RoomEvent.FAIRY_DRAW_GIFT_L5); - } - break; - default: - break; - } - } - - @Override - protected boolean needSteepStateBar() { - return true; - } - - @Override - protected void setStatusBar() { - super.setStatusBar(); - StatusBarUtil.transparencyBar(this); - StatusBarUtil.StatusBarLightMode(this); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - EventBus.getDefault().unregister(this); - } -} diff --git a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/activity/TreasureBoxHonourActivity.java b/app/src/module_treasure_box/java/com/chwl/app/treasure_box/activity/TreasureBoxHonourActivity.java deleted file mode 100644 index 6dec64c1d..000000000 --- a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/activity/TreasureBoxHonourActivity.java +++ /dev/null @@ -1,316 +0,0 @@ -package com.chwl.app.treasure_box.activity; - -import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.animation.ObjectAnimator; -import android.annotation.SuppressLint; -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.text.Editable; -import android.text.TextUtils; -import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.view.WindowManager; -import android.view.animation.AccelerateDecelerateInterpolator; -import android.widget.LinearLayout; -import android.widget.TextView; - -import com.netease.nim.uikit.StatusBarUtil; -import com.netease.nim.uikit.common.util.sys.ScreenUtil; -import com.chwl.app.R; -import com.chwl.app.base.BaseBindingActivity; -import com.chwl.app.databinding.ActivityTreasureBoxHonourBinding; -import com.chwl.app.treasure_box.widget.dialog.BoxMoreDialog; -import com.chwl.app.ui.utils.ImageLoadUtils; -import com.chwl.app.ui.webview.DialogWebViewActivity; -import com.chwl.core.treasure_box.bean.PrizeInfo; -import com.chwl.core.treasure_box.model.BoxModel; -import com.chwl.core.treasure_box.model.IBoxModel; -import com.chwl.core.DemoCache; -import com.chwl.core.UriProvider; -import com.chwl.core.manager.IMNetEaseManager; -import com.chwl.core.manager.RoomEvent; -import com.chwl.core.pay.PayModel; -import com.chwl.core.pay.bean.WalletInfo; -import com.chwl.core.utils.StringUtils; -import com.chwl.library.annatation.ActLayoutRes; -import com.chwl.library.utils.FormatUtils; -import com.chwl.library.utils.ResUtil; -import com.chwl.library.utils.SingleToastUtil; -import com.chwl.library.utils.TextWatcherWrapper; - -import java.util.ArrayList; -import java.util.concurrent.TimeUnit; - -import io.reactivex.Observable; -import io.reactivex.android.schedulers.AndroidSchedulers; - -@ActLayoutRes(R.layout.activity_treasure_box_honour) -public class TreasureBoxHonourActivity extends BaseBindingActivity { - 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 ObjectAnimator translationXAnimator; - private ObjectAnimator translationYAnimator; - private int boxType = IBoxModel.BOX_TYPE_HONOUR; - private int height; - private int sendMessageSwitchLevel; - - public static void start(Context context) { - Intent starter = new Intent(context, TreasureBoxHonourActivity.class); - context.startActivity(starter); - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - //这里的height用MATCH_PARENT状态栏会被顶上去,不知道什么鬼 - height = ScreenUtil.screenHeight - ScreenUtil.getStatusBarHeight(context); - getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, ScreenUtil.screenHeight - ScreenUtil.getStatusBarHeight(context)); - getWindow().setGravity(Gravity.BOTTOM); - subscribeEvent(); - } - - @Override - protected void init() { - mBinding.setClick(this); - translationXAnimator = ObjectAnimator.ofFloat(mBinding.ivGiftAnim, "translationX", 0, - ScreenUtil.screenWidth / 2f - ScreenUtil.dip2px(15 + 19)).setDuration(100); - translationXAnimator.setInterpolator(new AccelerateDecelerateInterpolator()); - translationXAnimator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - mBinding.ivGiftAnim.setVisibility(View.GONE); - } - }); - mBinding.ivBox.post(() -> { - translationYAnimator = ObjectAnimator.ofFloat(mBinding.ivGiftAnim, "translationY", 0, - height - (mBinding.ivBox.getBottom() + mBinding.ivBox.getTop()) / 2f - ScreenUtil.dip2px(55)).setDuration(100); - translationYAnimator.setInterpolator(new AccelerateDecelerateInterpolator()); - }); - WalletInfo walletInfo = PayModel.get().getCurrentWalletInfo(); - if (walletInfo != null) { - mBinding.tvDiamondNum.setText(FormatUtils.formatBigInteger(walletInfo.getDiamondNum())); - } - - mBinding.editNum.addTextChangedListener(new TextWatcherWrapper() { - @Override - public void afterTextChanged(Editable editable) { - int num = StringUtils.toInt(mBinding.editNum.getText().toString(), 0); - mBinding.tvContinuousNum.setText(ResUtil.getString(R.string.treasure_box_activity_treasureboxhonouractivity_01) + num * 10); - } - }); - loadKeyInfo(); - looperPrize(); - looperHintPrize(); - } - - @SuppressLint("CheckResult") - private void loadKeyInfo() { - BoxModel.get() - .getKeyInfo(boxType) - .compose(bindToLifecycle()) - .subscribe(keyInfo -> { - changeKeyNum(keyInfo.getKeyNum()); - price = keyInfo.getKeyPrice(); - sendMessageSwitchLevel = keyInfo.getSendMessageSwitchLevel(); - }); - } - - @Override - public void onClick(View v) { - switch (v.getId()) { - case R.id.root_view: - finish(); - break; - case R.id.iv_open: - openBox(StringUtils.toInt(mBinding.editNum.getText().toString())); - break; - case R.id.iv_more: - new BoxMoreDialog(context, sendMessageSwitchLevel).openDialog(); - break; - case R.id.tv_rank: - BoxRankingActivity.start(this); - break; - case R.id.iv_sub: - mBinding.editNum.setText(String.valueOf(Math.max(StringUtils.toInt(mBinding.editNum.getText().toString(), 0) - 1, 1))); - break; - case R.id.iv_add: - mBinding.editNum.setText(String.valueOf(Math.min((StringUtils.toInt(mBinding.editNum.getText().toString(), 0) + 1), 9999))); - break; - case R.id.view_bg: - case R.id.iv_title: - //do nothing - break; - default: - break; - } - } - - /** - * 检查钥匙(锤子)数量 - * - * @param count 想要使用的数量 - * @return true 表示数量不足,无法进行下一步操作 - * false 表示数量没问题,可以继续操作 - */ - private boolean checkKeyNum(int count) { - if (count == 0) { - SingleToastUtil.showToast(ResUtil.getString(R.string.treasure_box_activity_treasureboxhonouractivity_02)); - return true; - } - if (keyNum < count) { - getDialogManager().showOkCancelDialog(ResUtil.getString(R.string.treasure_box_activity_treasureboxhonouractivity_03), ResUtil.getString(R.string.treasure_box_activity_treasureboxhonouractivity_04), - () -> DialogWebViewActivity.start(context, UriProvider.getBoxKey())); - return true; - } - return false; - } - - @SuppressLint("CheckResult") - private void openBox(int count) { - if (checkKeyNum(count)) { - return; - } - mBinding.ivOpen.setEnabled(false); - mBinding.svgaOpen.startAnimation(); - BoxModel.get() - .openBox(boxType, count, DemoCache.readNeedBoxMsg()) - .compose(bindToLifecycle()) - .doOnError(throwable -> { - mBinding.ivOpen.setEnabled(true); - toast(throwable.getMessage()); - }) - .toObservable() - .flatMap(openBoxResult -> { - mBinding.ivOpen.setEnabled(true); - changeKeyNum(openBoxResult.getRemainKeyNum()); - cacheList.addAll(openBoxResult.getPrizeItemList()); - return Observable.fromIterable(openBoxResult.getPrizeItemList()); - }) - .filter(prizeInfo -> prizeInfo.getPrizeLevel() > 2) - .subscribe(prizeInfo -> hintPrizeCacheList.add(prizeInfo)); - } - - @SuppressLint("CheckResult") - private void looperPrize() { - Observable.interval(0, 100, TimeUnit.MILLISECONDS) - .compose(bindToLifecycle()) - .observeOn(AndroidSchedulers.mainThread()) - .filter(aLong -> cacheList.size() > 0) - .subscribe(aLong -> { - PrizeInfo prizeInfo = cacheList.get(0); - String url = prizeInfo.getPrizeImgUrl(); - if (cacheList.size() > 0) cacheList.remove(0); - if (!TextUtils.isEmpty(url)) { - if (translationXAnimator != null) translationXAnimator.start(); - if (translationYAnimator != null) translationYAnimator.start(); - mBinding.ivGiftAnim.setVisibility(View.VISIBLE); - mBinding.svgaGiftBg.startAnimation(); - ImageLoadUtils.loadImage(context, url, mBinding.ivGiftAnim); - } - } - , e -> looperPrize());//出错了继续looper...... - - } - - @SuppressLint("CheckResult") - private void looperHintPrize() { - Observable.interval(0, 250, TimeUnit.MILLISECONDS) - .compose(bindToLifecycle()) - .observeOn(AndroidSchedulers.mainThread()) - .filter(aLong -> hintPrizeCacheList.size() > 0) - .subscribe(aLong -> addPrizeHintView(hintPrizeCacheList.remove(0)) - , e -> looperHintPrize());//出错了继续looper...... - } - - private void addPrizeHintView(PrizeInfo prizeInfo) { - mBinding.llPrizeHint.removeCallbacks(removeRunnable); - mBinding.llPrizeHint.postDelayed(removeRunnable, 3000); - LinearLayout linearLayout = (LinearLayout) LayoutInflater.from(this).inflate(R.layout.item_box_prize_hint, null); - ViewGroup.MarginLayoutParams layoutParams = new ViewGroup.MarginLayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ScreenUtil.dip2px(21)); - layoutParams.setMargins(0, 0, 0, ScreenUtil.dip2px(5)); - linearLayout.setLayoutParams(layoutParams); - switch (prizeInfo.getPrizeLevel()) { - case 3: - default: - linearLayout.setBackgroundResource(R.drawable.bg_box_prize_hint_v3); - break; - case 4: - linearLayout.setBackgroundResource(R.drawable.bg_box_prize_hint_v4); - break; - case 5: - linearLayout.setBackgroundResource(R.drawable.bg_box_prize_hint_v5); - break; - } - mBinding.llPrizeHint.addView(linearLayout); - if (mBinding.llPrizeHint.getChildCount() > 6) { - mBinding.llPrizeHint.removeViewAt(0); - } - for (int i = 0; i < mBinding.llPrizeHint.getChildCount(); i++) { - ObjectAnimator.ofFloat(mBinding.llPrizeHint.getChildAt(i), "translationY", ScreenUtil.dip2px(21), 0) - .setDuration(200) - .start(); - } - - ((TextView) linearLayout.findViewById(R.id.tv_prize_name)).setText(prizeInfo.getPrizeName()); - ((TextView) linearLayout.findViewById(R.id.tv_prize_num)).setText("x" + prizeInfo.getPrizeNum()); - } - - /** - * 更新钥匙(锤子)数量 - * - * @param num - */ - private void changeKeyNum(int num) { - keyNum = num; - mBinding.tvKeyNum.setText(keyNum + ""); - } - - /** - * 更新钱包 - * - * @param g - */ - private void setGold(double g) { - mBinding.tvDiamondNum.setText(FormatUtils.formatBigInteger(g)); - PayModel.get().getCurrentWalletInfo().setDiamondNum(g); - } - - @SuppressLint("CheckResult") - private void subscribeEvent() { - //更新钻石数量和被踢出房间退出 - IMNetEaseManager.get().getChatRoomEventObservable() - .compose(bindToLifecycle()) - .subscribe(roomEvent -> { - switch (roomEvent.getEvent()) { - case RoomEvent.WALLET_UPDATE: - loadKeyInfo(); - setGold(roomEvent.getWalletInfo().getDiamondNum()); - break; - case RoomEvent.KICK_OUT_ROOM: - finish(); - break; - } - }); - } - - - @Override - protected boolean needSteepStateBar() { - return true; - } - - @Override - protected void setStatusBar() { - super.setStatusBar(); - StatusBarUtil.transparencyBar(this); - StatusBarUtil.StatusBarLightMode(this); - } - -} diff --git a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/adapter/BoxRankingListAdapter.java b/app/src/module_treasure_box/java/com/chwl/app/treasure_box/adapter/BoxRankingListAdapter.java deleted file mode 100644 index e8dc7aec2..000000000 --- a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/adapter/BoxRankingListAdapter.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.chwl.app.treasure_box.adapter; - -import android.annotation.SuppressLint; -import android.content.Context; -import android.view.View; -import android.widget.ImageView; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.core.content.ContextCompat; - -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.chad.library.adapter.base.BaseViewHolder; -import com.chwl.app.R; -import com.chwl.app.ui.utils.ImageLoadKt; -import com.chwl.core.room.treasure_box.bean.TreasureRankingInfo; - -/** - * @author jack - * @Description - * @Date 2018/4/16 - */ - -public class BoxRankingListAdapter extends BaseQuickAdapter { - - private final Context mContext; - - public BoxRankingListAdapter(Context context) { - super(R.layout.box_ranking_list_item); - this.mContext = context; - } - - @SuppressLint("SetTextI18n") - @Override - protected void convert(@NonNull BaseViewHolder baseViewHolder, final TreasureRankingInfo rankVosBeans) { - if (rankVosBeans == null) return; - - baseViewHolder.setText(R.id.tv_userName, rankVosBeans.getNick()).setText(R.id.tv_amount, rankVosBeans.getDiamonds() + ""); - ImageLoadKt.loadAvatar(baseViewHolder.getView(R.id.iv_avatar), rankVosBeans.getAvatar()); - TextView tvPosition = baseViewHolder.getView(R.id.tv_position); - ImageView ivPosition = baseViewHolder.getView(R.id.iv_position); - switch (baseViewHolder.getLayoutPosition()) { - case 0: - tvPosition.setVisibility(View.GONE); - ivPosition.setVisibility(View.VISIBLE); - ivPosition.setImageDrawable(ContextCompat.getDrawable(mContext, R.drawable.ic_box_ranking_first)); - break; - case 1: - tvPosition.setVisibility(View.GONE); - ivPosition.setVisibility(View.VISIBLE); - ivPosition.setImageDrawable(ContextCompat.getDrawable(mContext, R.drawable.ic_box_ranking_second)); - break; - case 2: - tvPosition.setVisibility(View.GONE); - ivPosition.setVisibility(View.VISIBLE); - ivPosition.setImageDrawable(ContextCompat.getDrawable(mContext, R.drawable.ic_box_ranking_third)); - break; - default: - tvPosition.setVisibility(View.VISIBLE); - ivPosition.setVisibility(View.GONE); - tvPosition.setText(baseViewHolder.getLayoutPosition() + 1 + ""); - break; - } - baseViewHolder.addOnClickListener(R.id.iv_avatar); - } -} diff --git a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/fragment/BoxRankingFragment.java b/app/src/module_treasure_box/java/com/chwl/app/treasure_box/fragment/BoxRankingFragment.java deleted file mode 100644 index 03a093265..000000000 --- a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/fragment/BoxRankingFragment.java +++ /dev/null @@ -1,199 +0,0 @@ -package com.chwl.app.treasure_box.fragment; - -import android.os.Bundle; -import android.view.View; - -import androidx.annotation.Nullable; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; - -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.netease.nim.uikit.common.ui.recyclerview.loadmore.MsgListFetchLoadMoreView; -import com.chwl.app.R; -import com.chwl.app.base.BaseMvpFragment; -import com.chwl.app.common.NoDataFragment; -import com.chwl.app.treasure_box.adapter.BoxRankingListAdapter; -import com.chwl.app.treasure_box.module.IBoxRankingView; -import com.chwl.app.treasure_box.presenter.BoxRankingPresenter; -import com.chwl.app.treasure_box.widget.BoxRankLoadMoreView; -import com.chwl.app.ui.user.activity.UserInfoActivity; -import com.chwl.app.ui.widget.magicindicator.buildins.UIUtil; -import com.chwl.app.ui.widget.recyclerview.decoration.HorizontalDecoration; -import com.chwl.core.room.treasure_box.bean.TreasureRankingInfo; -import com.chwl.core.room.treasure_box.event.RefreshBoxRankingEvent; -import com.chwl.library.base.factory.CreatePresenter; -import com.chwl.library.utils.ListUtils; - -import org.greenrobot.eventbus.EventBus; -import org.greenrobot.eventbus.Subscribe; -import org.greenrobot.eventbus.ThreadMode; - -import java.util.List; - -/** - * 房间内寻爱排行榜 - * - * @author MadisonRong RoomNewbieListFragment - */ -@CreatePresenter(BoxRankingPresenter.class) -public class BoxRankingFragment extends BaseMvpFragment implements IBoxRankingView, BaseQuickAdapter.RequestLoadMoreListener { - private RecyclerView recyclerView; - private SwipeRefreshLayout swipeRefresh; - private BoxRankingListAdapter mAdapter; - private int datetype; - - public static BoxRankingFragment newInstance(int datetype) { - Bundle args = new Bundle(); - args.putInt("datetype", datetype); - BoxRankingFragment fragment = new BoxRankingFragment(); - fragment.setArguments(args); - return fragment; - } - - @Override - public void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - EventBus.getDefault().register(this); - if (getArguments() != null) { - datetype = getArguments().getInt("datetype"); - } - } - - @Override - public int getRootLayoutId() { - return R.layout.fragment_newbie_list; - } - - @Override - public void onFindViews() { - recyclerView = mView.findViewById(R.id.recycler_view); - swipeRefresh = mView.findViewById(R.id.swipe_refresh); - } - - @Override - public void onSetListener() { - swipeRefresh.setOnRefreshListener(() -> { - mAdapter.setEnableLoadMore(true); - loadData(true, datetype); - }); - } - - @Override - public void initiate() { - initRecyclerView(); - loadData(true, datetype); - } - - - /** - * 刷新数据 - */ - private void loadData(boolean isRefresh, int datetype) { - getMvpPresenter().loadData(isRefresh, datetype); - } - - @Override - public View.OnClickListener getLoadMoreListener() { - return super.getLoadMoreListener(); - } - - private void initRecyclerView() { - recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); - recyclerView.setItemAnimator(null); - recyclerView.addItemDecoration(new HorizontalDecoration(UIUtil.dip2px(mContext, 8), false, false)); - mAdapter = new BoxRankingListAdapter(mContext); - mAdapter.setLoadMoreView(new BoxRankLoadMoreView()); - mAdapter.setOnLoadMoreListener(this, recyclerView); - mAdapter.setOnItemChildClickListener((adapter, view, position) -> UserInfoActivity.Companion.start(mContext, mAdapter.getData().get(position).getUid())); - LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext()); - recyclerView.setLayoutManager(linearLayoutManager); - recyclerView.setAdapter(mAdapter); - } - - - @Override - public void getBoxRankingSuccess(List rankingInfo) { - hideStatus(); - if (mAdapter != null) { - int page = getMvpPresenter().getPage(); - if (page <= 1) { - swipeRefresh.setRefreshing(false); - - if (rankingInfo == null || rankingInfo.size() == 0) { - showNoData(getString(R.string.empty_data)); - } else { - mAdapter.setNewData(rankingInfo); - } - } - } - } - - @Override - public void showNoData(View view, int drawable, CharSequence charSequence) { - if (!checkActivityValid()) - return; - - if (view == null) { - return; - } - View status = view.findViewById(R.id.status_layout); - if (status == null || status.getId() == View.NO_ID) { - return; - } - NoDataFragment fragment = NoDataFragment.newInstance(R.layout.fragment_box_rank_no_data, drawable, charSequence); - fragment.setListener(getLoadListener()); - getChildFragmentManager().beginTransaction().replace(status.getId(), fragment, STATUS_TAG).commitAllowingStateLoss(); - } - - @Override - public void getBoxRankingFails(String error) { - hideStatus(); - - int page = getMvpPresenter().getPage(); - if (page <= 1) { - showNoData(getString(R.string.empty_data)); - } - } - - @Override - public void getBoxRankingLoadMoreSuccess(List rankingInfo) { - if (ListUtils.isListEmpty(rankingInfo)) { - mAdapter.loadMoreEnd(); - return; - } - mAdapter.addData(rankingInfo); - mAdapter.loadMoreComplete(); - } - - @Override - public void getBoxRankingLoadMoreFails(String error) { - hideStatus(); - int page = getMvpPresenter().getPage(); - if (page <= 1) { - showNoData(getString(R.string.empty_data)); - } - } - - @Override - public void onReloadData() { - super.onReloadData(); - loadData(true, datetype); - } - - @Override - public void onLoadMoreRequested() { - loadData(false, datetype); - } - - @Override - public void onDestroy() { - super.onDestroy(); - EventBus.getDefault().unregister(this); - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onRefreshRanking(RefreshBoxRankingEvent event) { - loadData(true, datetype); - } -} diff --git a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/fragment/ChooseTreasureBoxDialogFragment.java b/app/src/module_treasure_box/java/com/chwl/app/treasure_box/fragment/ChooseTreasureBoxDialogFragment.java deleted file mode 100644 index 60a25d231..000000000 --- a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/fragment/ChooseTreasureBoxDialogFragment.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.chwl.app.treasure_box.fragment; - -import android.app.Dialog; -import android.os.Bundle; -import android.util.DisplayMetrics; -import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.view.Window; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.constraintlayout.widget.ConstraintLayout; -import androidx.fragment.app.DialogFragment; - -import com.coorchice.library.utils.LogUtils; -import com.chwl.app.R; -import com.chwl.app.ui.webview.DialogWebViewActivity; -import com.chwl.core.UriProvider; -import com.chwl.library.utils.ResUtil; -import com.chwl.library.utils.TimeUtils; - -public class ChooseTreasureBoxDialogFragment extends DialogFragment implements View.OnClickListener { - - private ConstraintLayout clBoxNormal, clBoxHonour; - - private OnTreasureBoxChooseListener onTreasureBoxChooseListener; - - private TextView tvOpenTime; - - private String mOpenTime; - - private TextView mTvOpenHonour; - - public ChooseTreasureBoxDialogFragment(String openTime) { - this.mOpenTime = openTime; - } - - @Nullable - @Override - public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_choose_treasure_box_dialog, container); - getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);// 去掉标题 - if (getDialog().getWindow() != null) { - getDialog().getWindow().setBackgroundDrawableResource(android.R.color.transparent);// 透明 - } - return view; - } - - @Override - public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - clBoxNormal = view.findViewById(R.id.cl_box_normal); - clBoxHonour = view.findViewById(R.id.cl_box_honour); - tvOpenTime = view.findViewById(R.id.tv_open_time); - mTvOpenHonour = view.findViewById(R.id.tv_open_honour); - view.findViewById(R.id.iv_close).setOnClickListener(this); - clBoxNormal.setOnClickListener(this); - tvOpenTime.setText(ResUtil.getString(R.string.treasure_box_fragment_choosetreasureboxdialogfragment_01) + mOpenTime); -// String mOpenTime = "11:10-02:00"; - int startTime = Integer.parseInt(mOpenTime.substring(0, mOpenTime.indexOf("-")).replace(":", "")); - int endTime = Integer.parseInt(mOpenTime.substring(mOpenTime.indexOf("-") + 1).replace(":", "")); - LogUtils.e("startTime" + startTime); - LogUtils.e("endTime" + endTime); - LogUtils.e(ResUtil.getString(R.string.treasure_box_fragment_choosetreasureboxdialogfragment_02) + TimeUtils.getTimeLimit(startTime, endTime)); - - mTvOpenHonour.setEnabled(TimeUtils.getTimeLimit(startTime, endTime)); - if (TimeUtils.getTimeLimit(startTime, endTime)) { - clBoxHonour.setOnClickListener(this); - } - view.findViewById(R.id.ll_get_key).setOnClickListener(v -> DialogWebViewActivity.start(getContext(), UriProvider.getBoxKey())); - } - - @Override - public void onStart() { - super.onStart(); - Dialog dialog = getDialog(); - if (dialog != null) { - DisplayMetrics dm = new DisplayMetrics(); - if (getActivity() != null && getActivity().getWindowManager() != null - && dialog.getWindow() != null) { - getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm); - dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); - dialog.getWindow().setGravity(Gravity.CENTER); - } - } - - } - - @Override - public void onClick(View view) { - int id = view.getId(); - if (id == R.id.iv_close) { - dismiss(); - } else if (id == R.id.cl_box_normal) { - if (onTreasureBoxChooseListener != null) { - onTreasureBoxChooseListener.onBoxClick(0); - } - dismiss(); - } else if (id == R.id.cl_box_honour) { - if (onTreasureBoxChooseListener != null) { - onTreasureBoxChooseListener.onBoxClick(1); - } - dismiss(); - } - } - - public interface OnTreasureBoxChooseListener { - /** - * @param type 选择的宝箱类型 0 黄金(原始) 1 钻石 - */ - void onBoxClick(int type); - } - - public void setOnTreasureBoxChooseListener(OnTreasureBoxChooseListener onTreasureBoxChooseListener) { - this.onTreasureBoxChooseListener = onTreasureBoxChooseListener; - } -} diff --git a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/module/BoxRankingModel.java b/app/src/module_treasure_box/java/com/chwl/app/treasure_box/module/BoxRankingModel.java deleted file mode 100644 index 6cd205c49..000000000 --- a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/module/BoxRankingModel.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.chwl.app.treasure_box.module; - -import com.chwl.core.auth.AuthModel; -import com.chwl.core.bean.response.ServiceResult; -import com.chwl.core.community.CommunityConstant; -import com.chwl.core.room.treasure_box.bean.TreasureRankingInfo; -import com.chwl.core.utils.net.RxHelper; -import com.chwl.library.net.rxnet.RxNet; - -import java.util.List; - -import io.reactivex.Single; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public class BoxRankingModel { - - private final Api api = RxNet.create(Api.class); - - public Single> getBoxRankingList(int datetype,int page,int pageSize) { - return api.apiNewbieList(String.valueOf(AuthModel.get().getCurrentUid()), - CommunityConstant.VERSION_VALID_TYPE, - AuthModel.get().getTicket(), - datetype, - page, - pageSize) - .compose(RxHelper.handleBeanData()) - .compose(RxHelper.handleSchedulers()); - } - - - private static final class Helper { - public static final BoxRankingModel INSTANCE = new BoxRankingModel(); - } - - public static BoxRankingModel get() { - return BoxRankingModel.Helper.INSTANCE; - } - - - private interface Api { - - /** - * 排行榜 - * - * @return - - */ - @GET("/findLove/rank") - Single>> apiNewbieList( - @Query("uid") String uid, - @Query("types") String types, - @Query("ticket") String ticket, - @Query("type") int type, - @Query("page") int page, - @Query("pageSize") int pageSize); - - - } -} diff --git a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/module/IBoxRankingView.java b/app/src/module_treasure_box/java/com/chwl/app/treasure_box/module/IBoxRankingView.java deleted file mode 100644 index ea247d407..000000000 --- a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/module/IBoxRankingView.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.chwl.app.treasure_box.module; - -import com.chwl.core.room.treasure_box.bean.TreasureRankingInfo; -import com.chwl.library.base.IMvpBaseView; - -import java.util.List; - -public interface IBoxRankingView extends IMvpBaseView { - void getBoxRankingSuccess(List list); - void getBoxRankingFails(String error); - void getBoxRankingLoadMoreSuccess(List list); - void getBoxRankingLoadMoreFails(String error); - -} diff --git a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/presenter/BoxRankingPresenter.java b/app/src/module_treasure_box/java/com/chwl/app/treasure_box/presenter/BoxRankingPresenter.java deleted file mode 100644 index 479c31509..000000000 --- a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/presenter/BoxRankingPresenter.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.chwl.app.treasure_box.presenter; - -import com.chwl.app.R; -import com.chwl.app.base.BaseMvpPresenter; -import com.chwl.app.treasure_box.module.BoxRankingModel; -import com.chwl.app.treasure_box.module.IBoxRankingView; -import com.chwl.core.Constants; -import com.chwl.core.room.treasure_box.bean.BoxRankingInfo; -import com.chwl.core.room.treasure_box.bean.TreasureRankingInfo; -import com.chwl.library.utils.ResUtil; - -import java.util.List; - -import io.reactivex.SingleObserver; -import io.reactivex.disposables.Disposable; - -public class BoxRankingPresenter extends BaseMvpPresenter { - - private int page = 0; - - public void loadData(boolean isRefresh,int datetype) { - if (isRefresh) { - page = 1; - } else { - page++; - } - - BoxRankingModel.get().getBoxRankingList(datetype,page, Constants.PAGE_SIZE) - .compose(bindToLifecycle()).subscribe(new SingleObserver>() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(List roomNewbieInfos) { - if (roomNewbieInfos != null) { - if (mMvpView != null) { - if (isRefresh){ - mMvpView.getBoxRankingSuccess(roomNewbieInfos); - }else { - mMvpView.getBoxRankingLoadMoreSuccess(roomNewbieInfos); - } - } - } else { - if (mMvpView != null) { - if (isRefresh){ - mMvpView.getBoxRankingFails(ResUtil.getString(R.string.treasure_box_presenter_boxrankingpresenter_01)); - }else { - mMvpView.getBoxRankingLoadMoreFails(ResUtil.getString(R.string.treasure_box_presenter_boxrankingpresenter_02)); - } - } - } - } - - @Override - public void onError(Throwable e) { - if (mMvpView != null) { - mMvpView.getBoxRankingFails(e.getMessage()); - } - - } - }); - } - - public int getPage() { - return page; - } -} diff --git a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/BoxRankLoadMoreView.java b/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/BoxRankLoadMoreView.java deleted file mode 100644 index 5695a6667..000000000 --- a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/BoxRankLoadMoreView.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.chwl.app.treasure_box.widget; - -import com.chad.library.adapter.base.loadmore.LoadMoreView; -import com.chwl.app.R; - -public final class BoxRankLoadMoreView extends LoadMoreView { - - @Override - public int getLayoutId() { - return R.layout.box_rank_view_load_more; - } - - @Override - protected int getLoadingViewId() { - return R.id.load_more_loading_view; - } - - @Override - protected int getLoadFailViewId() { - return R.id.load_more_load_fail_view; - } - - @Override - protected int getLoadEndViewId() { - return R.id.load_more_load_end_view; - } -} diff --git a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/GoldBoxHelper.java b/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/GoldBoxHelper.java index 771502da9..564fce837 100644 --- a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/GoldBoxHelper.java +++ b/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/GoldBoxHelper.java @@ -1,14 +1,7 @@ package com.chwl.app.treasure_box.widget; -import android.content.Context; - import androidx.annotation.Nullable; -import androidx.fragment.app.FragmentActivity; -import com.chwl.app.R; -import com.chwl.app.treasure_box.activity.TreasureBoxActivity; -import com.chwl.app.treasure_box.activity.TreasureBoxHonourActivity; -import com.chwl.app.treasure_box.fragment.ChooseTreasureBoxDialogFragment; import com.chwl.core.initial.InitialModel; import com.chwl.core.initial.bean.FairyOpenInfo; import com.chwl.core.initial.bean.InitInfo; @@ -18,72 +11,69 @@ import com.chwl.core.market_verify.MarketVerifyModel; import com.chwl.core.super_admin.util.SuperAdminUtil; import com.chwl.core.user.UserModel; import com.chwl.core.user.bean.UserInfo; -import com.chwl.library.utils.ResUtil; -import com.chwl.library.utils.SingleToastUtil; -import com.chwl.library.utils.TimeUtils; import io.reactivex.Single; public class GoldBoxHelper { - public static Single isHideBox() { - return InitialModel.get().getBoxInfo().flatMap(boxInfo -> { - boolean isHide = true; - if (SuperAdminUtil.isSuperAdmin()) { - return Single.just(true); - } - UserInfo myInfo = UserModel.get().getCacheLoginUserInfo(); - UserLevelVo levelVo = null; - if (myInfo != null) { - levelVo = myInfo.getUserLevelVo(); - } - if (myInfo != null && levelVo != null) { - //1.审核模式 2.全局隐藏 3. 用户等级小于后台配置等级 都需要隐藏开箱子 - isHide = MarketVerifyModel.get().isMarketChecking() || !AvRoomDataManager.get().mFindLoveSwitchVo.isOpen() - || levelVo.getExperLevelSeq() < AvRoomDataManager.get().mFindLoveSwitchVo.getOpenLevel() || AvRoomDataManager.get().isOpenPureMode(); - } - return Single.just(isHide); - }); - } +// public static Single isHideBox() { +// return InitialModel.get().getBoxInfo().flatMap(boxInfo -> { +// boolean isHide = true; +// if (SuperAdminUtil.isSuperAdmin()) { +// return Single.just(true); +// } +// UserInfo myInfo = UserModel.get().getCacheLoginUserInfo(); +// UserLevelVo levelVo = null; +// if (myInfo != null) { +// levelVo = myInfo.getUserLevelVo(); +// } +// if (myInfo != null && levelVo != null) { +// //1.审核模式 2.全局隐藏 3. 用户等级小于后台配置等级 都需要隐藏开箱子 +// isHide = MarketVerifyModel.get().isMarketChecking() || !AvRoomDataManager.get().mFindLoveSwitchVo.isOpen() +// || levelVo.getExperLevelSeq() < AvRoomDataManager.get().mFindLoveSwitchVo.getOpenLevel() || AvRoomDataManager.get().isOpenPureMode(); +// } +// return Single.just(isHide); +// }); +// } - public static void handleBoxClick(Context context) { - String openTime = GoldBoxHelper.getBoxOpenTime(); - if (openTime == null || openTime.isEmpty()) { - SingleToastUtil.showToast(ResUtil.getString(R.string.treasure_box_widget_goldboxhelper_01)); - return; - } - int startTime = Integer.parseInt(openTime.substring(0, openTime.indexOf("-")).replace(":", "")); - int endTime = Integer.parseInt(openTime.substring(openTime.indexOf("-") + 1).replace(":", "")); - - if (startTime != endTime && TimeUtils.getTimeLimit(startTime, endTime)) { - ChooseTreasureBoxDialogFragment chooseTreasureBoxDialogFragment = new ChooseTreasureBoxDialogFragment(openTime); - chooseTreasureBoxDialogFragment.setOnTreasureBoxChooseListener(type -> { - if (type == 0) {// 幸运许愿池(默认) - TreasureBoxActivity.start(context); - } else if (type == 1) {// 梦幻许愿池 - TreasureBoxHonourActivity.start(context); - } - }); - chooseTreasureBoxDialogFragment.show(((FragmentActivity) context).getSupportFragmentManager(), "chooseTreasureBoxDialogFragment"); - } else { - TreasureBoxActivity.start(context); - } - } - - public static boolean isShowDiamondBox() { - return AvRoomDataManager.get().mBoxSwitchVo.isDiamondBoxSwitch(); - } - - @Nullable - public static String getBoxIcon() { - if (AvRoomDataManager.get().mBoxSwitchVo == null) return null; - return AvRoomDataManager.get().mBoxSwitchVo.getOpenBoxIcon(); - } - - @Nullable - public static String getBoxOpenTime() { - if (AvRoomDataManager.get().mBoxSwitchVo == null) return null; - return AvRoomDataManager.get().mBoxSwitchVo.getDiamondBoxOpenTime(); - } +// public static void handleBoxClick(Context context) { +// String openTime = GoldBoxHelper.getBoxOpenTime(); +// if (openTime == null || openTime.isEmpty()) { +// SingleToastUtil.showToast(ResUtil.getString(R.string.treasure_box_widget_goldboxhelper_01)); +// return; +// } +// int startTime = Integer.parseInt(openTime.substring(0, openTime.indexOf("-")).replace(":", "")); +// int endTime = Integer.parseInt(openTime.substring(openTime.indexOf("-") + 1).replace(":", "")); +// +// if (startTime != endTime && TimeUtils.getTimeLimit(startTime, endTime)) { +// ChooseTreasureBoxDialogFragment chooseTreasureBoxDialogFragment = new ChooseTreasureBoxDialogFragment(openTime); +// chooseTreasureBoxDialogFragment.setOnTreasureBoxChooseListener(type -> { +// if (type == 0) {// 幸运许愿池(默认) +// TreasureBoxActivity.start(context); +// } else if (type == 1) {// 梦幻许愿池 +// TreasureBoxHonourActivity.start(context); +// } +// }); +// chooseTreasureBoxDialogFragment.show(((FragmentActivity) context).getSupportFragmentManager(), "chooseTreasureBoxDialogFragment"); +// } else { +// TreasureBoxActivity.start(context); +// } +// } +// +// public static boolean isShowDiamondBox() { +// return AvRoomDataManager.get().mBoxSwitchVo.isDiamondBoxSwitch(); +// } +// +// @Nullable +// public static String getBoxIcon() { +// if (AvRoomDataManager.get().mBoxSwitchVo == null) return null; +// return AvRoomDataManager.get().mBoxSwitchVo.getOpenBoxIcon(); +// } +// +// @Nullable +// public static String getBoxOpenTime() { +// if (AvRoomDataManager.get().mBoxSwitchVo == null) return null; +// return AvRoomDataManager.get().mBoxSwitchVo.getDiamondBoxOpenTime(); +// } public static boolean isShowRadish() { InitInfo initInfo = InitialModel.get().getCacheInitInfo(); @@ -102,10 +92,10 @@ public class GoldBoxHelper { return false; } - public static boolean isShowFairy() { - FairyOpenInfo fairyOpenInfo = InitialModel.get().getFairyOpenInfo(); - if (fairyOpenInfo == null) return false; - return fairyOpenInfo.isOpen(); - } +// public static boolean isShowFairy() { +// FairyOpenInfo fairyOpenInfo = InitialModel.get().getFairyOpenInfo(); +// if (fairyOpenInfo == null) return false; +// return fairyOpenInfo.isOpen(); +// } } diff --git a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/dialog/BoxLoveLackDialog.kt b/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/dialog/BoxLoveLackDialog.kt deleted file mode 100644 index 1d31245ea..000000000 --- a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/dialog/BoxLoveLackDialog.kt +++ /dev/null @@ -1,139 +0,0 @@ -package com.chwl.app.treasure_box.widget.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.text.Editable -import android.view.Gravity -import android.view.WindowManager -import com.hjq.toast.ToastUtils -import com.chwl.app.R -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureBoxDialogLoveLackBinding -import com.chwl.app.treasure_box.activity.TreasureBoxActivity.MAX_BUY_QUANTITY_LIMIT -import com.chwl.app.treasure_box.widget.dialog.TreasureBoxDialog.Companion.newInstance -import com.chwl.core.treasure_box.bean.UserTicketInfo -import com.chwl.core.treasure_box.model.BoxModel -import com.chwl.core.exception.FailReasonException -import com.chwl.core.utils.StringUtils -import com.chwl.library.common.SpConstants -import com.chwl.library.common.util.SPUtils -import com.chwl.library.common.util.SoftKeyboardStateHelper -import com.chwl.library.common.util.SoftKeyboardStateHelper.SoftKeyboardStateListener -import com.chwl.library.utils.SingleToastUtil -import com.chwl.library.utils.TextWatcherWrapper -import com.chwl.library.utils.TimeUtils -import org.greenrobot.eventbus.EventBus - -/** - * 购买碎片 - */ -class BoxLoveLackDialog : BaseDialog() { - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var height = WindowManager.LayoutParams.WRAP_CONTENT - override var gravity = Gravity.CENTER - - private var num: Int = 0 - - companion object { - @JvmStatic - fun newInstance(num: Int, ticketPrice: Int): BoxLoveLackDialog { - val args = Bundle() - args.putInt("num", num) - args.putInt("ticketPrice", ticketPrice) - val fragment = BoxLoveLackDialog() - fragment.arguments = args - return fragment - } - } - - private val ticketPrice by lazy { requireArguments().getInt("ticketPrice") } - - @SuppressLint("CheckResult", "SetTextI18n") - override fun init() { - num = requireArguments().getInt("num") - - binding.editNum.setText(num.toString()) - binding.tvPrizeName.text = (num * ticketPrice).toString() - - binding.ivSub.setOnClickListener { - val editNum = - (StringUtils.toInt(binding.editNum.text.toString(), 0) - 10).coerceAtLeast(1) - binding.editNum.setText(editNum.toString()) - binding.tvPrizeName.text = (editNum * ticketPrice).toString() - } - - binding.ivAdd.setOnClickListener { - val editNum = - (StringUtils.toInt(binding.editNum.text.toString(), 0) + 10).coerceAtMost( - MAX_BUY_QUANTITY_LIMIT - ) - binding.editNum.setText(editNum.toString()) - binding.tvPrizeName.text = (editNum * ticketPrice).toString() - } - - binding.ivClose.setOnClickListener { - dismissAllowingStateLoss() - } - - binding.tvBuy.setOnClickListener { - BoxModel.get() - .buyTicket(num) - .compose(bindToLifecycle()) - .doOnError { dealError(it) } - .subscribe { userTicketInfo: UserTicketInfo -> - EventBus.getDefault().post(userTicketInfo) - dismissAllowingStateLoss() - val date = SPUtils.getLong(SpConstants.BOX_BUY_SUCCESS, 0L) - if (TimeUtils.isToday(date)) { - ToastUtils.show("購買成功") - return@subscribe - } - BuyLoveSuccessDialog.newInstance(num).show(context) - } - } - - binding.editNum.addTextChangedListener(object : TextWatcherWrapper() { - override fun afterTextChanged(editable: Editable) { - var n = StringUtils.toInt(binding.editNum.text.toString(), 0) - if (n > MAX_BUY_QUANTITY_LIMIT) { - n = MAX_BUY_QUANTITY_LIMIT - binding.editNum.setText(n.toString()) - binding.editNum.setSelection(3) - SingleToastUtil.showToast( - getString( - R.string.treasure_box_activity_treasureboxactivity_01, - MAX_BUY_QUANTITY_LIMIT - ) - ) - } - binding.tvPrizeName.text = (n * ticketPrice).toString() - num = n - } - }) - - SoftKeyboardStateHelper(binding.editNum).addSoftKeyboardStateListener(object : - SoftKeyboardStateListener { - override fun onSoftKeyboardOpened(keyboardHeightInPx: Int) {} - override fun onSoftKeyboardClosed() { - val num = StringUtils.toInt(binding.editNum.text.toString(), 0) - if (num == 0) { - binding.editNum.setText("1") - binding.editNum.setSelection(1) - } - } - }) - } - - private fun dealError(error: Throwable) { - if (error is FailReasonException) { - if (error.code == BoxModel.ERROR_CODE_DIAMOND) { - newInstance().show(context) - } else { - SingleToastUtil.showToast(error.message) - } - } else { - SingleToastUtil.showToast(error.message) - } - } -} \ No newline at end of file diff --git a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/dialog/BoxMoreDialog.java b/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/dialog/BoxMoreDialog.java deleted file mode 100644 index 06e8881fa..000000000 --- a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/dialog/BoxMoreDialog.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.chwl.app.treasure_box.widget.dialog; - -import android.content.Context; -import android.view.Gravity; -import android.view.Window; -import android.view.WindowManager; - -import com.chwl.app.R; -import com.chwl.app.databinding.DialogBoxMoreBinding; -import com.chwl.app.ui.webview.DialogWebViewActivity; -import com.chwl.app.utils.UserUtils; -import com.chwl.core.DemoCache; -import com.chwl.core.UriProvider; -import com.chwl.core.utils.Logger; -import com.chwl.library.annatation.ActLayoutRes; -import com.chwl.library.utils.ResUtil; -import com.chwl.library.utils.SingleToastUtil; - -@ActLayoutRes(R.layout.dialog_box_more) -public class BoxMoreDialog extends BaseBindingDialog { - - private int sendMessageSwitchLevel; - - public BoxMoreDialog(Context context, int sendMessageSwitchLevel) { - super(context); - width = WindowManager.LayoutParams.MATCH_PARENT; - height = WindowManager.LayoutParams.WRAP_CONTENT; - this.sendMessageSwitchLevel = sendMessageSwitchLevel; - } - - @Override - protected void onStart() { - super.onStart(); - Window window = getWindow(); - if (window != null) { - WindowManager.LayoutParams windowParams = window.getAttributes(); - windowParams.gravity = Gravity.BOTTOM; - window.setAttributes(windowParams); - } - } - - @Override - protected void init() { - binding.tvHistory.setOnClickListener(v -> { - DialogWebViewActivity.start(context, UriProvider.getBoxHistory(), false); - closeDialog(); - }); - binding.tvBoxRule.setOnClickListener(v -> { - DialogWebViewActivity.start(context, UriProvider.getBoxHelp(), false); - closeDialog(); - }); - - boolean canSwitch = sendMessageSwitchLevel != 0 && UserUtils.getExpLevel() >= sendMessageSwitchLevel; - - updateMsgSwitch(canSwitch && DemoCache.readNeedBoxMsg()); - binding.ivSwitch.setOnClickListener(v -> { - if (canSwitch) { - boolean sendMsg = !DemoCache.readNeedBoxMsg(); - updateMsgSwitch(sendMsg); - DemoCache.saveNeedBoxMsg(sendMsg); - SingleToastUtil.showToast(ResUtil.getString(R.string.widget_dialog_boxmoredialog_01)); - } else { - SingleToastUtil.showToast(ResUtil.getString(R.string.widget_dialog_boxmoredialog_02) + sendMessageSwitchLevel + ResUtil.getString(R.string.widget_dialog_boxmoredialog_03)); - } - }); - } - - private void updateMsgSwitch(boolean sendMsg) { - binding.ivSwitch.setImageResource(sendMsg ? - R.drawable.icon_room_set_lock_true : R.drawable.icon_room_set_lock_false); - } -} diff --git a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/dialog/BuyLoveDialog.kt b/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/dialog/BuyLoveDialog.kt deleted file mode 100644 index 9dba11788..000000000 --- a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/dialog/BuyLoveDialog.kt +++ /dev/null @@ -1,100 +0,0 @@ -package com.chwl.app.treasure_box.widget.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import com.hjq.toast.ToastUtils -import com.chwl.app.R -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureBoxDialogBuyLoveBinding -import com.chwl.core.treasure_box.bean.UserTicketInfo -import com.chwl.core.treasure_box.model.BoxModel -import com.chwl.core.exception.FailReasonException -import com.chwl.library.common.SpConstants -import com.chwl.library.common.util.SPUtils -import com.chwl.library.utils.SingleToastUtil -import com.chwl.library.utils.TimeUtils -import org.greenrobot.eventbus.EventBus - -/** - * 购买爱心 - */ -class BuyLoveDialog : BaseDialog() { - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var height = WindowManager.LayoutParams.WRAP_CONTENT - override var gravity = Gravity.CENTER - - companion object { - @JvmStatic - fun newInstance(num: Int, ticketPrice: Int): BuyLoveDialog { - val args = Bundle() - args.putInt("num", num) - args.putInt("ticketPrice", ticketPrice) - val fragment = BuyLoveDialog() - fragment.arguments = args - return fragment - } - } - - private val num by lazy { requireArguments().getInt("num") } - private val ticketPrice by lazy { requireArguments().getInt("ticketPrice") } - - @SuppressLint("CheckResult", "SetTextI18n") - override fun init() { - binding?.tvLackLove?.text = getString(R.string.buy_love_num, num) - binding?.tvPrizeName?.text = ticketPrice.toString() - - binding?.cbPay?.setOnCheckedChangeListener { _, isChecked -> - if (isChecked) { - SPUtils.putLong(SpConstants.BOX_BUY_LOVE, System.currentTimeMillis()) - } else { - SPUtils.putLong(SpConstants.BOX_BUY_LOVE, 0L) - } - } - - binding?.ivClose?.setOnClickListener { - dismissAllowingStateLoss() - } - - binding?.tvBuy?.setOnClickListener { - val date = SPUtils.getLong(SpConstants.BOX_BUY_SUCCESS, 0L) - if (TimeUtils.isToday(date)) { - BoxModel.get() - .buyTicket(num) - .compose(bindToLifecycle()) - .doOnError { dealError(it) } - .subscribe { userTicketInfo: UserTicketInfo -> - ToastUtils.show("購買成功") - dismissAllowingStateLoss() - EventBus.getDefault().post(userTicketInfo) - } - return@setOnClickListener - } - - BoxModel.get() - .buyTicket(num) - .compose(bindToLifecycle()) - .doOnError { dealError(it) } - .subscribe { userTicketInfo: UserTicketInfo -> - BuyLoveSuccessDialog.newInstance(num).show(context) - dismissAllowingStateLoss() - EventBus.getDefault().post(userTicketInfo) - } - } - } - - private fun dealError(error: Throwable) { - if (error is FailReasonException) { - if (error.code == BoxModel.ERROR_CODE_DIAMOND) { - TreasureBoxDialog.newInstance().show(context) - } else { - SingleToastUtil.showToast(error.message) - } - } else { - SingleToastUtil.showToast(error.message) - } - } - -} \ No newline at end of file diff --git a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/dialog/BuyLoveSuccessDialog.kt b/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/dialog/BuyLoveSuccessDialog.kt deleted file mode 100644 index 098672b7c..000000000 --- a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/dialog/BuyLoveSuccessDialog.kt +++ /dev/null @@ -1,50 +0,0 @@ -package com.chwl.app.treasure_box.widget.dialog - -import android.annotation.SuppressLint -import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.TreasureBoxDialogBuyLoveSuccessBinding -import com.chwl.library.common.SpConstants -import com.chwl.library.common.util.SPUtils - -/** - * 购买爱心 - */ -class BuyLoveSuccessDialog : BaseDialog() { - - override var width = WindowManager.LayoutParams.MATCH_PARENT - override var height = WindowManager.LayoutParams.WRAP_CONTENT - override var gravity = Gravity.CENTER - - companion object { - @JvmStatic - fun newInstance(num: Int): BuyLoveSuccessDialog { - val args = Bundle() - args.putInt("num", num) - val fragment = BuyLoveSuccessDialog() - fragment.arguments = args - return fragment - } - } - - private val num by lazy { requireArguments().getInt("num") } - - @SuppressLint("CheckResult", "SetTextI18n") - override fun init() { - binding?.tvPrizeName?.text = "x${num}" - - binding?.cbPay?.setOnCheckedChangeListener { _, isChecked -> - if (isChecked) { - SPUtils.putLong(SpConstants.BOX_BUY_SUCCESS, System.currentTimeMillis()) - } else { - SPUtils.putLong(SpConstants.BOX_BUY_SUCCESS, 0L) - } - } - - binding?.ivClose?.setOnClickListener { - dismissAllowingStateLoss() - } - } -} \ No newline at end of file diff --git a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/dialog/TreasureBoxDialog.kt b/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/dialog/TreasureBoxDialog.kt deleted file mode 100644 index c133a2c9c..000000000 --- a/app/src/module_treasure_box/java/com/chwl/app/treasure_box/widget/dialog/TreasureBoxDialog.kt +++ /dev/null @@ -1,41 +0,0 @@ -package com.chwl.app.treasure_box.widget.dialog - -import com.chwl.app.base.BaseDialog -import com.chwl.app.databinding.DialogTreasureBoxBinding -import com.chwl.app.ui.pay.ChargeActivity -import com.chwl.app.ui.webview.CommonWebViewActivity -import com.chwl.core.Constants -import com.chwl.core.UriProvider -import com.chwl.library.common.util.DeviceUtil.getDeviceId -import com.chwl.library.utils.AppMetaDataUtil - -/** - * author: wushaocheng - * time: 2023/3/23 - * desc: 寻爱钻石不足提示 - */ -class TreasureBoxDialog : BaseDialog() { - - companion object { - @JvmStatic - fun newInstance(): TreasureBoxDialog { - return TreasureBoxDialog() - } - } - - override fun init() { - binding?.tvCharge?.setOnClickListener { - if (AppMetaDataUtil.getChannelID() == Constants.GOOGLE) { - ChargeActivity.start(context) - } else { - CommonWebViewActivity.start( - context, UriProvider.getOfficialPay( - 4, - getDeviceId(context) - ) - ) - } - } - } - -} \ No newline at end of file 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 deleted file mode 100644 index 8e8fa2f2c..000000000 --- a/app/src/module_treasure_box/res/layout/activity_treasure_box.xml +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/module_treasure_box/res/layout/activity_treasure_box_honour.xml b/app/src/module_treasure_box/res/layout/activity_treasure_box_honour.xml deleted file mode 100644 index cbb04c2b2..000000000 --- a/app/src/module_treasure_box/res/layout/activity_treasure_box_honour.xml +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/module_treasure_box/res/layout/fragment_choose_treasure_box_dialog.xml b/app/src/module_treasure_box/res/layout/fragment_choose_treasure_box_dialog.xml deleted file mode 100644 index 9b3cb30df..000000000 --- a/app/src/module_treasure_box/res/layout/fragment_choose_treasure_box_dialog.xml +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/module_treasure_box/res/layout/treasure_box_dialog_buy_love.xml b/app/src/module_treasure_box/res/layout/treasure_box_dialog_buy_love.xml deleted file mode 100644 index 856847e66..000000000 --- a/app/src/module_treasure_box/res/layout/treasure_box_dialog_buy_love.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/module_treasure_box/res/layout/treasure_box_dialog_buy_love_success.xml b/app/src/module_treasure_box/res/layout/treasure_box_dialog_buy_love_success.xml deleted file mode 100644 index ecbdeb4bc..000000000 --- a/app/src/module_treasure_box/res/layout/treasure_box_dialog_buy_love_success.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/app/src/module_treasure_box/res/layout/treasure_box_dialog_love_lack.xml b/app/src/module_treasure_box/res/layout/treasure_box_dialog_love_lack.xml deleted file mode 100644 index 027dd32ff..000000000 --- a/app/src/module_treasure_box/res/layout/treasure_box_dialog_love_lack.xml +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/com/chwl/core/home/bean/BannerInfo.java b/core/src/main/java/com/chwl/core/home/bean/BannerInfo.java index b8c04a53f..b0662c748 100644 --- a/core/src/main/java/com/chwl/core/home/bean/BannerInfo.java +++ b/core/src/main/java/com/chwl/core/home/bean/BannerInfo.java @@ -57,9 +57,9 @@ public class BannerInfo implements Parcelable, Serializable { private int showType; private boolean isFirstCharge; - private boolean isBox; +// private boolean isBox; private boolean isRadish; - private boolean isFairy; +// private boolean isFairy; private String bannerUrl; public BannerInfo(){