diff --git a/common/src/main/java/com/yunbao/common/event/QuickGiftingEvent.java b/common/src/main/java/com/yunbao/common/event/QuickGiftingEvent.java new file mode 100644 index 000000000..979053457 --- /dev/null +++ b/common/src/main/java/com/yunbao/common/event/QuickGiftingEvent.java @@ -0,0 +1,26 @@ +package com.yunbao.common.event; + +import com.yunbao.common.bean.BaseModel; + +public class QuickGiftingEvent extends BaseModel { + private int index; + private String svgaName; + + public int getIndex() { + return index; + } + + public QuickGiftingEvent setIndex(int index) { + this.index = index; + return this; + } + + public String getSvgaName() { + return svgaName; + } + + public QuickGiftingEvent setSvgaName(String svgaName) { + this.svgaName = svgaName; + return this; + } +} diff --git a/common/src/main/java/com/yunbao/common/event/SlideEvent.java b/common/src/main/java/com/yunbao/common/event/SlideEvent.java new file mode 100644 index 000000000..482dff588 --- /dev/null +++ b/common/src/main/java/com/yunbao/common/event/SlideEvent.java @@ -0,0 +1,15 @@ +package com.yunbao.common.event; + +import com.yunbao.common.bean.BaseModel; + +public class SlideEvent extends BaseModel { + private boolean isSlide; + + public boolean isSlide() { + return isSlide; + } + public SlideEvent setSlide(boolean slide) { + isSlide = slide; + return this; + } +} diff --git a/common/src/main/java/com/yunbao/common/views/weight/CircleProgress2.java b/common/src/main/java/com/yunbao/common/views/weight/CircleProgress2.java new file mode 100644 index 000000000..a41c1e55f --- /dev/null +++ b/common/src/main/java/com/yunbao/common/views/weight/CircleProgress2.java @@ -0,0 +1,73 @@ +package com.yunbao.common.views.weight; + + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.graphics.RectF; +import android.util.AttributeSet; +import android.view.View; + +public class CircleProgress2 extends View { + private Paint mPaint; + private RectF mRectF; + private int mCurrent = 1, mMax = 100; + //圆弧(也可以说是圆环)的宽度 + private float mArcWidth =8; + //控件的宽度 + private float mWidth; + + public CircleProgress2(Context context) { + this(context, null); + } + + public CircleProgress2(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public CircleProgress2(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + mPaint = new Paint(); + mPaint.setAntiAlias(true); + mRectF = new RectF(); + } + + public void setCurrent(int mCurrent) { + this.mCurrent = mCurrent; + invalidate(); + } + + public void setMax(int mMax) { + this.mMax = mMax; + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + //getMeasuredWidth获取的是view的原始大小,也就是xml中配置或者代码中设置的大小 + //getWidth获取的是view最终显示的大小,这个大小不一定等于原始大小 + mWidth = getMeasuredWidth(); + } + + @Override + protected void onDraw(Canvas canvas) { + super.onDraw(canvas); + mPaint.setStyle(Paint.Style.STROKE); + //设置圆弧的宽度(圆环的宽度) + mPaint.setStrokeWidth(mArcWidth); + mPaint.setColor(Color.parseColor("#FEC51B")); + //大圆的半径 + float bigCircleRadius = mWidth / 2; + //小圆的半径 + float smallCircleRadius = bigCircleRadius - mArcWidth; + //绘制小圆 + canvas.drawCircle(bigCircleRadius, bigCircleRadius, smallCircleRadius, mPaint); + mPaint.setColor(Color.parseColor("#46433F")); + mRectF.set(mArcWidth, mArcWidth, mWidth - mArcWidth, mWidth - mArcWidth); + //绘制圆弧 + canvas.drawArc(mRectF, -90, mCurrent * 360 / mMax, false, mPaint); + setBackgroundColor(Color.TRANSPARENT); + } + +} diff --git a/common/src/main/res/drawable/backgroud_panda_time.xml b/common/src/main/res/drawable/backgroud_panda_time.xml new file mode 100644 index 000000000..399a3cc0c --- /dev/null +++ b/common/src/main/res/drawable/backgroud_panda_time.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/common/src/main/res/mipmap-xxhdpi/icon_combo.png b/common/src/main/res/mipmap-xxhdpi/icon_combo.png new file mode 100644 index 000000000..3ce65fe8c Binary files /dev/null and b/common/src/main/res/mipmap-xxhdpi/icon_combo.png differ diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml index 1d9a1b650..a7de8ca9e 100644 --- a/common/src/main/res/values/strings.xml +++ b/common/src/main/res/values/strings.xml @@ -1389,4 +1389,5 @@ Limited ride And limited avatar frame 0-100 coins 100-500 coins Above 500 coins + 連擊× diff --git a/config.gradle b/config.gradle index 056734b2e..f0bd50618 100644 --- a/config.gradle +++ b/config.gradle @@ -9,9 +9,9 @@ ext { ] manifestPlaceholders = [ //正式、 - serverHost : "https://napi.yaoulive.com", +// serverHost : "https://napi.yaoulive.com", // 测试 -// serverHost : " https://ceshi.yaoulive.com", + serverHost : " https://ceshi.yaoulive.com", diff --git a/live/src/main/assets/littlepanda1.svga b/live/src/main/assets/littlepanda1.svga new file mode 100644 index 000000000..1903ebe28 Binary files /dev/null and b/live/src/main/assets/littlepanda1.svga differ diff --git a/live/src/main/assets/littlepanda10.svga b/live/src/main/assets/littlepanda10.svga new file mode 100644 index 000000000..39b52deeb Binary files /dev/null and b/live/src/main/assets/littlepanda10.svga differ diff --git a/live/src/main/assets/littlepanda11.svga b/live/src/main/assets/littlepanda11.svga new file mode 100644 index 000000000..86ff67d6f Binary files /dev/null and b/live/src/main/assets/littlepanda11.svga differ diff --git a/live/src/main/assets/littlepanda12.svga b/live/src/main/assets/littlepanda12.svga new file mode 100644 index 000000000..18f0e3eb5 Binary files /dev/null and b/live/src/main/assets/littlepanda12.svga differ diff --git a/live/src/main/assets/littlepanda13.svga b/live/src/main/assets/littlepanda13.svga new file mode 100644 index 000000000..c2a56376c Binary files /dev/null and b/live/src/main/assets/littlepanda13.svga differ diff --git a/live/src/main/assets/littlepanda14.svga b/live/src/main/assets/littlepanda14.svga new file mode 100644 index 000000000..0c0af324a Binary files /dev/null and b/live/src/main/assets/littlepanda14.svga differ diff --git a/live/src/main/assets/littlepanda15.svga b/live/src/main/assets/littlepanda15.svga new file mode 100644 index 000000000..4e0ac1b7d Binary files /dev/null and b/live/src/main/assets/littlepanda15.svga differ diff --git a/live/src/main/assets/littlepanda16.svga b/live/src/main/assets/littlepanda16.svga new file mode 100644 index 000000000..b4c0838ac Binary files /dev/null and b/live/src/main/assets/littlepanda16.svga differ diff --git a/live/src/main/assets/littlepanda17.svga b/live/src/main/assets/littlepanda17.svga new file mode 100644 index 000000000..72ceb9999 Binary files /dev/null and b/live/src/main/assets/littlepanda17.svga differ diff --git a/live/src/main/assets/littlepanda18.svga b/live/src/main/assets/littlepanda18.svga new file mode 100644 index 000000000..b4a561697 Binary files /dev/null and b/live/src/main/assets/littlepanda18.svga differ diff --git a/live/src/main/assets/littlepanda19.svga b/live/src/main/assets/littlepanda19.svga new file mode 100644 index 000000000..7f0fdd99e Binary files /dev/null and b/live/src/main/assets/littlepanda19.svga differ diff --git a/live/src/main/assets/littlepanda2.svga b/live/src/main/assets/littlepanda2.svga new file mode 100644 index 000000000..632bbb87f Binary files /dev/null and b/live/src/main/assets/littlepanda2.svga differ diff --git a/live/src/main/assets/littlepanda3.svga b/live/src/main/assets/littlepanda3.svga new file mode 100644 index 000000000..92b53d058 Binary files /dev/null and b/live/src/main/assets/littlepanda3.svga differ diff --git a/live/src/main/assets/littlepanda4.svga b/live/src/main/assets/littlepanda4.svga new file mode 100644 index 000000000..7b6ab0692 Binary files /dev/null and b/live/src/main/assets/littlepanda4.svga differ diff --git a/live/src/main/assets/littlepanda5.svga b/live/src/main/assets/littlepanda5.svga new file mode 100644 index 000000000..42293109f Binary files /dev/null and b/live/src/main/assets/littlepanda5.svga differ diff --git a/live/src/main/assets/littlepanda6.svga b/live/src/main/assets/littlepanda6.svga new file mode 100644 index 000000000..6d0311b04 Binary files /dev/null and b/live/src/main/assets/littlepanda6.svga differ diff --git a/live/src/main/assets/littlepanda7.svga b/live/src/main/assets/littlepanda7.svga new file mode 100644 index 000000000..f01bc2fc6 Binary files /dev/null and b/live/src/main/assets/littlepanda7.svga differ diff --git a/live/src/main/assets/littlepanda8.svga b/live/src/main/assets/littlepanda8.svga new file mode 100644 index 000000000..d6d150eb5 Binary files /dev/null and b/live/src/main/assets/littlepanda8.svga differ diff --git a/live/src/main/assets/littlepanda9.svga b/live/src/main/assets/littlepanda9.svga new file mode 100644 index 000000000..45cacbb11 Binary files /dev/null and b/live/src/main/assets/littlepanda9.svga differ diff --git a/live/src/main/assets/littlepanda_craft.svga b/live/src/main/assets/littlepanda_craft.svga new file mode 100644 index 000000000..a612ba08a Binary files /dev/null and b/live/src/main/assets/littlepanda_craft.svga differ diff --git a/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java b/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java index c50d63b21..40fdc5761 100644 --- a/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java +++ b/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java @@ -71,7 +71,9 @@ import com.yunbao.common.event.LiveOpenSudRoomEvent; import com.yunbao.common.event.LiveRoomChangeEvent; import com.yunbao.common.event.LiveSudGamePopupShowOrHideEvent; import com.yunbao.common.event.NewRoleCustomDrawerPopupEvent; +import com.yunbao.common.event.QuickGiftingEvent; import com.yunbao.common.event.ShowHideEvent; +import com.yunbao.common.event.SlideEvent; import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.http.CommonHttpConsts; import com.yunbao.common.http.CommonHttpUtil; @@ -1729,14 +1731,13 @@ public class LiveAudienceActivity extends LiveActivity { .dismissOnTouchOutside(false) .dismissOnBackPressed(false) .asCustom(liveSudGamePopupXPopup).show(); - }else { + } else { if (liveSudGamePopupXPopup != null) { liveSudGamePopupXPopup.dialog.show(); } } - break; case 1: @@ -1765,6 +1766,19 @@ public class LiveAudienceActivity extends LiveActivity { } } + @Subscribe(threadMode = ThreadMode .MAIN) + public void onSlideEvent(SlideEvent event) { + verticalViewPager.setEnableScroll(event.isSlide()); + } + + @Subscribe(threadMode = ThreadMode.MAIN) + public void onQuickGiftingEvent(QuickGiftingEvent event) { + if (manager != null) { + + manager.onQuickGifting(event.getIndex(), event.getSvgaName()); + } + } + @Subscribe(threadMode = ThreadMode.MAIN) public void onNewRoleCustomDrawerPopupEvent(NewRoleCustomDrawerPopupEvent event) { //是否关闭弹窗 diff --git a/live/src/main/java/com/yunbao/live/views/LiveAudienceViewHolder.java b/live/src/main/java/com/yunbao/live/views/LiveAudienceViewHolder.java index 90152b196..0d0cb93bb 100644 --- a/live/src/main/java/com/yunbao/live/views/LiveAudienceViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LiveAudienceViewHolder.java @@ -31,6 +31,7 @@ import com.yunbao.common.Constants; import com.yunbao.common.bean.NewPeopleInfo; import com.yunbao.common.dialog.LiveNewRolePopup; import com.yunbao.common.event.MessageIMEvent; +import com.yunbao.common.event.QuickGiftingEvent; import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.http.API; import com.yunbao.common.http.HttpCallback; @@ -58,7 +59,10 @@ import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; +import java.util.ArrayList; +import java.util.List; import java.util.Locale; +import java.util.Random; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; @@ -86,10 +90,12 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder { private ImageView mRole;//特权 private ImageView mPlay;//玩 private ImageView mCheat;//整蛊 + private ImageView pd_pao, combo; public LiveAudienceViewHolder(Context context, ViewGroup parentView) { super(context, parentView); this.context = (Activity) context; + initLittlePanda(); } @@ -118,6 +124,9 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder { mPlay = (ImageView) findViewById(R.id.live_play); stationHornBanner = findViewById(R.id.station_horn_banner); mNewPeopleRedDot = findViewById(R.id.live_new_people_red_dot); + pd_pao = (ImageView) findViewById(R.id.pd_pao); + combo = (ImageView) findViewById(R.id.combo); + combo.setVisibility(View.GONE); liveNewPeople.setOnClickListener(this); mRole.setOnClickListener(this); mCheat.setOnClickListener(this); @@ -261,6 +270,104 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder { return true; }); mProcessResultUtil = new ProcessResultUtil((FragmentActivity) mContext); + + pd_pao.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + quickGiftingIndex = 1; + combo.setVisibility(View.VISIBLE); + removeRunnable = true; + lianSongHandler.postDelayed(lianSongRunnable, 1000); + Random random = new Random(); + int randomNumber = random.nextInt(shortSvgas.size()); + String randomName = shortSvgas.get(randomNumber); + Bus.get().post(new QuickGiftingEvent().setIndex(quickGiftingIndex).setSvgaName(randomName)); + } + }); + combo.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + quickGiftingIndex = quickGiftingIndex + 1; + removeRunnable = true; + lianSongHandler.postDelayed(lianSongRunnable, 1000); + Random random = new Random(); + if (quickGiftingIndex<11){ + int randomNumber = random.nextInt(shortSvgas.size()); + String randomName = shortSvgas.get(randomNumber); + Bus.get().post(new QuickGiftingEvent().setIndex(quickGiftingIndex).setSvgaName(randomName)); + }else { + int randomNumber = random.nextInt(highSvgas.size()); + String randomName = highSvgas.get(randomNumber); + if (quickGiftingIndex>=88){ + + Bus.get().post(new QuickGiftingEvent().setIndex(quickGiftingIndex).setSvgaName("littlepanda_craft.svga")); + }else { + Bus.get().post(new QuickGiftingEvent().setIndex(quickGiftingIndex).setSvgaName(randomName)); + } + + } + + } + }); + } + + public void resetView() { + pd_pao.setVisibility(View.VISIBLE); + combo.setVisibility(View.GONE); + lianSongHandler.removeCallbacks(lianSongRunnable); + } + private boolean removeRunnable = false; + private int mLianCountDownCount;//连送倒计时的数字 + private Handler lianSongHandler = new Handler(); + private Runnable lianSongRunnable = new Runnable() { + @Override + public void run() { + if (removeRunnable) { + lianSongHandler.removeCallbacks(lianSongRunnable); + mLianCountDownCount = 5; + lianSongHandler.postDelayed(lianSongRunnable, 1000); + removeRunnable = false; + Log.e("QuickGiftingEvent", removeRunnable + " " + mLianCountDownCount); + } else { + mLianCountDownCount--; + if (mLianCountDownCount == 0) { + pd_pao.setVisibility(View.VISIBLE); + combo.setVisibility(View.GONE); + lianSongHandler.removeCallbacks(lianSongRunnable); + } else { + lianSongHandler.postDelayed(lianSongRunnable, 1000); + } + Log.e("QuickGiftingEvent", removeRunnable + " " + mLianCountDownCount); + } + + } + }; + private List highSvgas = new ArrayList<>(); + private List shortSvgas = new ArrayList<>(); + private int quickGiftingIndex = 1; + + private void initLittlePanda() { + highSvgas = new ArrayList<>(); + shortSvgas = new ArrayList<>(); + highSvgas.add("littlepanda1.svga"); + highSvgas.add("littlepanda2.svga"); + highSvgas.add("littlepanda3.svga"); + highSvgas.add("littlepanda4.svga"); + highSvgas.add("littlepanda5.svga"); + highSvgas.add("littlepanda6.svga"); + highSvgas.add("littlepanda7.svga"); + highSvgas.add("littlepanda8.svga"); + highSvgas.add("littlepanda9.svga"); + highSvgas.add("littlepanda10.svga"); + shortSvgas.add("littlepanda11.svga"); + shortSvgas.add("littlepanda12.svga"); + shortSvgas.add("littlepanda13.svga"); + shortSvgas.add("littlepanda14.svga"); + shortSvgas.add("littlepanda15.svga"); + shortSvgas.add("littlepanda16.svga"); + shortSvgas.add("littlepanda17.svga"); + shortSvgas.add("littlepanda18.svga"); + shortSvgas.add("littlepanda19.svga"); } private float downY = 0; diff --git a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java index edd4f5943..07a4b5c9f 100644 --- a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java @@ -56,6 +56,7 @@ import com.makeramen.roundedimageview.RoundedImageView; import com.ms.banner.Banner; import com.ms.banner.BannerConfig; import com.ms.banner.listener.OnBannerClickListener; +import com.opensource.svgaplayer.SVGACallback; import com.opensource.svgaplayer.SVGADrawable; import com.opensource.svgaplayer.SVGAImageView; import com.opensource.svgaplayer.SVGAParser; @@ -99,9 +100,9 @@ import com.yunbao.common.bean.XydCompleteModel; import com.yunbao.common.event.AllServerNotifyEvent; import com.yunbao.common.event.AnchorInfoEvent; import com.yunbao.common.event.CustomFullServiceNotifyEvent; -import com.yunbao.common.event.HideShowEvent; import com.yunbao.common.event.LiveRoomChangeEvent; import com.yunbao.common.event.LiveSudGamePopupShowOrHideEvent; +import com.yunbao.common.event.SlideEvent; import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.http.API; import com.yunbao.common.http.CommonHttpConsts; @@ -131,7 +132,6 @@ import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.WordUtil; import com.yunbao.common.utils.formatBigNum; import com.yunbao.common.views.AbsViewHolder; -import com.yunbao.common.views.LiveSudGamePopup; import com.yunbao.common.views.weight.ClipPathCircleImage; import com.yunbao.common.views.weight.FullServiceNotificationView; import com.yunbao.common.views.weight.NobleNoticeView; @@ -384,6 +384,9 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis private String mAnchorName;//主播名字 private boolean isHinde = false; private boolean isFans = false; + private FrameLayout pa_pao_layout; + private LinearLayout combo_layout; + private TextView combo_number; @Subscribe(threadMode = ThreadMode.MAIN) public void onUpdata(String str) { @@ -703,6 +706,74 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis } + HashMap svgaImageViewHashMap = new HashMap<>(); + + public void onQuickGifting(int index, String svgaName) { + pa_pao_layout.setVisibility(View.VISIBLE); + combo_layout.setVisibility(View.VISIBLE); + combo_number.setText(String.valueOf(index)); + SVGAImageView svgaImageView = new SVGAImageView(mContext); +String tag = svgaName+System.currentTimeMillis(); + svgaImageViewHashMap.put(tag, svgaImageView); + + Bus.get().post(new SlideEvent().setSlide(!(svgaImageViewHashMap.size() > 0))); + svgaImageView.setLoops(1); + svgaImageView.setTag(tag); + pa_pao_layout.addView(svgaImageView); + Log.e("QuickGiftingEvent", "pa_pao_layout:getChildCount:" + pa_pao_layout.getChildCount()); + Log.e("QuickGiftingEvent", "index:" + index + " svgaName:" + svgaName); + svgaImageView.setCallback(new SVGACallback() { + @Override + public void onPause() { + + } + + @Override + public void onFinished() { + if (svgaImageViewHashMap.size() != 0) { + svgaImageView.clear(); + pa_pao_layout.removeView(svgaImageView); + Log.e("QuickGiftingEvent", "svgaImageView.getTag:" + svgaImageView.getTag()); + svgaImageViewHashMap.remove(svgaName); + Log.e("QuickGiftingEvent", "svgaImageViewHashMap:" + svgaImageViewHashMap.toString()); + Log.e("QuickGiftingEvent", "pa_pao_layout:getChildCount:" + pa_pao_layout.getChildCount()); + if (pa_pao_layout.getChildCount() == 0) { + pa_pao_layout.setVisibility(View.GONE); + combo_layout.setVisibility(View.GONE); + Bus.get().post(new SlideEvent().setSlide(true)); + } + } + + } + + @Override + public void onRepeat() { + + } + + @Override + public void onStep(int i, double v) { + + } + }); + + new SVGAParser(mContext).decodeFromAssets(svgaName, new SVGAParser.ParseCompletion() { + @Override + public void onComplete(@NonNull SVGAVideoEntity svgaVideoEntity) { + SVGADrawable drawable = new SVGADrawable(svgaVideoEntity); + svgaImageView.setImageDrawable(drawable); + + svgaImageView.startAnimation(); + + } + + @Override + public void onError() { + + } + }, null); + } + /** * 获取下一秒钟的时间 */ @@ -1473,7 +1544,11 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis new LoadDian9TuUtil().loadDian9TuAssets2(mContext, wishListLayout2, "rectangle_new.png", 1); - + pa_pao_layout = (FrameLayout) findViewById(R.id.pa_pao_layout); + combo_layout = (LinearLayout) findViewById(R.id.combo_layout); + combo_number = (TextView) findViewById(R.id.combo_number); + pa_pao_layout.setVisibility(View.GONE); + combo_layout.setVisibility(View.GONE); } private FrameLayout redPacket; @@ -1730,8 +1805,12 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis * 重置数据 */ public void resetView() { + svgaImageViewHashMap.clear(); + pa_pao_layout.removeAllViews(); timeHandler.removeCallbacks(timeRunnable); anchorTimeHandler.removeCallbacks(anchorTimeRunnable); + pa_pao_layout.setVisibility(View.GONE); + combo_layout.setVisibility(View.GONE); resetViewGone(); visibility = false; pkUidTmp = ""; @@ -3987,6 +4066,8 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis } public void clearData() { + svgaImageViewHashMap.clear(); + pa_pao_layout.removeAllViews(); timeHandler.removeCallbacks(timeRunnable); anchorTimeHandler.removeCallbacks(anchorTimeRunnable); LiveHttpUtil.cancel(LiveHttpConsts.GET_USER_LIST); diff --git a/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java b/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java index 5ba3690a5..da271916a 100644 --- a/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java +++ b/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java @@ -56,6 +56,7 @@ import com.yunbao.common.event.LiveFloatEvent; import com.yunbao.common.event.LiveGiftDialogEvent; import com.yunbao.common.event.LiveRoomChangeEvent; import com.yunbao.common.event.LiveSudGamePopupShowOrHideEvent; +import com.yunbao.common.event.QuickGiftingEvent; import com.yunbao.common.event.SendBlindGiftEvent; import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.http.CommonHttpConsts; @@ -223,6 +224,12 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe } } + public void onQuickGifting(int index,String svgaName) { + if (mLiveRoomViewHolder != null) { + mLiveRoomViewHolder.onQuickGifting(index,svgaName); + } + } + public PortraitLiveManager(Activity context, Intent intent) { this.mContext = context; this.mIntent = intent; @@ -386,6 +393,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe } }); mLiveRoomViewHolder.resetView(); + mLiveAudienceViewHolder.resetView(); enterRoomModel.clear(); enterRoomLeaveHandler.removeCallbacks(enterRoomLeaveRunnable); mLiveRoomViewHolder.setAvatar(data.getAvatar()); @@ -932,7 +940,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe * 申请连麦但是主播还未同意的状态 */ public void micIngTypeOne(LiveBean bean, int liveType, int liveTypeVal) { - DialogUitl.showSimpleDialog(mContext, null, WordUtil.isNewZh()?"您已申請,退出將取消語音連麥申請!":"You have applied, logout will cancel the voice connection application!", false, new DialogUitl.SimpleCallback3() { + DialogUitl.showSimpleDialog(mContext, null, WordUtil.isNewZh() ? "您已申請,退出將取消語音連麥申請!" : "You have applied, logout will cancel the voice connection application!", false, new DialogUitl.SimpleCallback3() { @Override public void onConfirmClick(Dialog dialog) { MicStatusManager.getInstance().clear(); diff --git a/live/src/main/res/layout/view_live_audience.xml b/live/src/main/res/layout/view_live_audience.xml index ca4ab61d2..85a8358bf 100644 --- a/live/src/main/res/layout/view_live_audience.xml +++ b/live/src/main/res/layout/view_live_audience.xml @@ -1,9 +1,9 @@ + android:src="@mipmap/icon_prank" + android:visibility="gone" /> + + + + + + + + + + + + + android:background="@drawable/background_gift" /> - + app:layout_constraintTop_toTopOf="parent" /> + - - - - + android:paddingEnd="15dp" + android:visibility="gone"> + android:textSize="14sp" /> + + + + + + +