移除糖果树开奖礼物展示

This commit is contained in:
huangjian
2023-02-08 18:18:19 +08:00
parent b7e99ddc68
commit c57e64d07b
3 changed files with 23 additions and 87 deletions

View File

@@ -484,7 +484,7 @@ public class BaseRoomPresenter<V extends IBaseRoomView> 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))

View File

@@ -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<ActivityTreasureBoxBinding> implements View.OnClickListener {
private final Runnable removeRunnable = () -> mBinding.llPrizeHint.removeAllViews();
private int price = 20;
private volatile int keyNum;
private ArrayList<PrizeInfo> cacheList = new ArrayList<>();
private ArrayList<PrizeInfo> hintPrizeCacheList = new ArrayList<>();
private ObjectAnimator translationXAnimator;
private ObjectAnimator translationYAnimator;
private int boxType = IBoxModel.BOX_TYPE_NORMAL;
private final ArrayList<PrizeInfo> 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<ActivityTreasureBox
@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()));
@@ -145,7 +114,6 @@ public class TreasureBoxActivity extends BaseBindingActivity<ActivityTreasureBox
mBinding.ivBox.startPlay(getAssets(), "vap/gold_box_open.mp4");
mBinding.ivBox.setLoop(999999);
mBinding.ivBox.setScaleType(ScaleType.CENTER_CROP);
looperPrize();
looperHintPrize();
}
@@ -162,7 +130,6 @@ public class TreasureBoxActivity extends BaseBindingActivity<ActivityTreasureBox
.compose(bindToLifecycle())
.subscribe(keyInfo -> {
changeKeyNum(keyInfo.getKeyNum());
price = keyInfo.getKeyPrice();
sendMessageSwitchLevel = keyInfo.getSendMessageSwitchLevel();
});
}
@@ -272,36 +239,14 @@ public class TreasureBoxActivity extends BaseBindingActivity<ActivityTreasureBox
.toObservable()
.delay(startTime - System.currentTimeMillis() + 300, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread())
.flatMap(openBoxResult -> {
.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")

View File

@@ -106,15 +106,6 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<ImageView
android:id="@+id/iv_gift_anim"
android:layout_width="50dp"
android:layout_height="50dp"
app:layout_constraintBottom_toBottomOf="@id/iv_box"
app:layout_constraintEnd_toEndOf="@id/iv_box"
app:layout_constraintStart_toStartOf="@id/iv_box"
app:layout_constraintTop_toTopOf="@id/iv_box" />
<TextView
android:id="@+id/tv_continuous_num"
android:layout_width="wrap_content"