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" />
+
+
+
+
+
+
+