diff --git a/app/src/main/java/com/mango/moshen/avroom/presenter/BaseRoomPresenter.java b/app/src/main/java/com/mango/moshen/avroom/presenter/BaseRoomPresenter.java index c30b6724d..5424ff41e 100644 --- a/app/src/main/java/com/mango/moshen/avroom/presenter/BaseRoomPresenter.java +++ b/app/src/main/java/com/mango/moshen/avroom/presenter/BaseRoomPresenter.java @@ -484,7 +484,7 @@ public class BaseRoomPresenter extends BaseMvpPresenter .takeWhile(aBoolean -> !aBoolean && getMvpView() != null) .doOnNext(aBoolean -> getMvpView().noFollow()) //个人主播房新加的关注提醒弹窗,以后还会不会有呢??? - .takeWhile(aBoolean -> !AvRoomDataManager.get().isSingleRoom()) + .takeWhile(aBoolean -> AvRoomDataManager.get().isSingleRoom()) .delay(4, TimeUnit.MINUTES) .single(false) .flatMap(aBoolean -> PraiseModel.get().isPraised(AuthModel.get().getCurrentUid(), uid)) diff --git a/app/src/module_treasure_box/java/com/mango/moshen/treasure_box/activity/TreasureBoxActivity.java b/app/src/module_treasure_box/java/com/mango/moshen/treasure_box/activity/TreasureBoxActivity.java index 5272b6ece..5a6a37f30 100644 --- a/app/src/module_treasure_box/java/com/mango/moshen/treasure_box/activity/TreasureBoxActivity.java +++ b/app/src/module_treasure_box/java/com/mango/moshen/treasure_box/activity/TreasureBoxActivity.java @@ -1,67 +1,54 @@ package com.mango.moshen.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 androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; -import com.mango.core.room.treasure_box.event.RefreshBoxRankingEvent; -import com.mango.core.statistic.StatisticManager; -import com.mango.core.statistic.protocol.StatisticsProtocol; -import com.mango.moshen.treasure_box.fragment.BoxRecordFragment; -import com.mango.moshen.treasure_box.fragment.BoxRuleFragment; -import com.mango.moshen.ui.utils.ImageLoadKt; -import com.mango.moshen.ui.widget.SimpleAnimListener; -import com.mango.treasure_box.event.MoreClickEvent; -import com.netease.nim.uikit.StatusBarUtil; -import com.netease.nim.uikit.common.util.sys.ScreenUtil; -import com.mango.moshen.R; -import com.mango.moshen.base.BaseBindingActivity; -import com.mango.moshen.databinding.ActivityTreasureBoxBinding; -import com.mango.moshen.treasure_box.widget.dialog.BoxMoreDialog; -import com.mango.moshen.ui.utils.ImageLoadUtils; -import com.mango.moshen.ui.webview.DialogWebViewActivity; -import com.mango.moshen.utils.UserUtils; -import com.mango.treasure_box.bean.PrizeInfo; -import com.mango.treasure_box.model.BoxModel; -import com.mango.treasure_box.model.IBoxModel; import com.mango.core.DemoCache; import com.mango.core.UriProvider; import com.mango.core.manager.IMNetEaseManager; import com.mango.core.manager.RoomEvent; import com.mango.core.pay.PayModel; import com.mango.core.pay.bean.WalletInfo; +import com.mango.core.statistic.StatisticManager; +import com.mango.core.statistic.protocol.StatisticsProtocol; import com.mango.core.utils.StringUtils; +import com.mango.moshen.R; +import com.mango.moshen.base.BaseBindingActivity; +import com.mango.moshen.databinding.ActivityTreasureBoxBinding; +import com.mango.moshen.treasure_box.fragment.BoxRecordFragment; +import com.mango.moshen.treasure_box.fragment.BoxRuleFragment; +import com.mango.moshen.treasure_box.widget.dialog.BoxMoreDialog; +import com.mango.moshen.ui.webview.DialogWebViewActivity; +import com.mango.moshen.utils.UserUtils; +import com.mango.treasure_box.bean.PrizeInfo; +import com.mango.treasure_box.event.MoreClickEvent; +import com.mango.treasure_box.model.BoxModel; +import com.mango.treasure_box.model.IBoxModel; import com.mango.xchat_android_library.annatation.ActLayoutRes; import com.mango.xchat_android_library.utils.FormatUtils; import com.mango.xchat_android_library.utils.SingleToastUtil; import com.mango.xchat_android_library.utils.TextWatcherWrapper; -import com.tencent.qgame.animplayer.AnimConfig; -import com.tencent.qgame.animplayer.inter.IAnimListener; +import com.netease.nim.uikit.StatusBarUtil; +import com.netease.nim.uikit.common.util.sys.ScreenUtil; import com.tencent.qgame.animplayer.util.ScaleType; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; -import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.concurrent.TimeUnit; @@ -72,13 +59,9 @@ import io.reactivex.android.schedulers.AndroidSchedulers; @ActLayoutRes(R.layout.activity_treasure_box) public class TreasureBoxActivity extends BaseBindingActivity implements View.OnClickListener { private final Runnable removeRunnable = () -> mBinding.llPrizeHint.removeAllViews(); - private int price = 20; private volatile int keyNum; - private ArrayList cacheList = new ArrayList<>(); - private ArrayList hintPrizeCacheList = new ArrayList<>(); - private ObjectAnimator translationXAnimator; - private ObjectAnimator translationYAnimator; - private int boxType = IBoxModel.BOX_TYPE_NORMAL; + private final ArrayList hintPrizeCacheList = new ArrayList<>(); + private final int boxType = IBoxModel.BOX_TYPE_NORMAL; private int height; private int sendMessageSwitchLevel; @@ -111,20 +94,6 @@ public class TreasureBoxActivity extends BaseBindingActivity { - 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())); @@ -145,7 +114,6 @@ public class TreasureBoxActivity extends BaseBindingActivity { changeKeyNum(keyInfo.getKeyNum()); - price = keyInfo.getKeyPrice(); sendMessageSwitchLevel = keyInfo.getSendMessageSwitchLevel(); }); } @@ -272,36 +239,14 @@ public class TreasureBoxActivity extends BaseBindingActivity { + .doOnNext(openBoxResult ->{ mBinding.ivOpen.setEnabled(true); changeKeyNum(openBoxResult.getRemainKeyNum()); - cacheList.addAll(openBoxResult.getPrizeItemList()); - return Observable.fromIterable(openBoxResult.getPrizeItemList()); + mBinding.svgaGiftBg.startAnimation(); }) + .flatMap(openBoxResult -> 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...... - + .subscribe(hintPrizeCacheList::add); } @SuppressLint("CheckResult") diff --git a/app/src/module_treasure_box/res/layout/activity_treasure_box.xml b/app/src/module_treasure_box/res/layout/activity_treasure_box.xml index b8b1ec80a..395a127b3 100644 --- a/app/src/module_treasure_box/res/layout/activity_treasure_box.xml +++ b/app/src/module_treasure_box/res/layout/activity_treasure_box.xml @@ -106,15 +106,6 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> - -