小礼物逻辑第er次上传
This commit is contained in:
parent
7b1f3ddd79
commit
089b1881f1
@ -39,6 +39,28 @@ public class EnterRoomNewModel extends BaseModel {
|
|||||||
private String sudGameRoomName;
|
private String sudGameRoomName;
|
||||||
@SerializedName("sud_gameDate")
|
@SerializedName("sud_gameDate")
|
||||||
private SudGameDateModel sudGameDateModel;
|
private SudGameDateModel sudGameDateModel;
|
||||||
|
@SerializedName("quick_gift_remaining_quantity")
|
||||||
|
private int quickGiftRemainingQuantity;//剩余的小PD礼物数量
|
||||||
|
@SerializedName("if_viewing_duration_complete")
|
||||||
|
private int ifViewingDurationComplete;//通过观看时间获取小PD礼物的次数
|
||||||
|
|
||||||
|
public int getQuickGiftRemainingQuantity() {
|
||||||
|
return quickGiftRemainingQuantity;
|
||||||
|
}
|
||||||
|
|
||||||
|
public EnterRoomNewModel setQuickGiftRemainingQuantity(int quickGiftRemainingQuantity) {
|
||||||
|
this.quickGiftRemainingQuantity = quickGiftRemainingQuantity;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIfViewingDurationComplete() {
|
||||||
|
return ifViewingDurationComplete;
|
||||||
|
}
|
||||||
|
|
||||||
|
public EnterRoomNewModel setIfViewingDurationComplete(int ifViewingDurationComplete) {
|
||||||
|
this.ifViewingDurationComplete = ifViewingDurationComplete;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public SudGameDateModel getSudGameDateModel() {
|
public SudGameDateModel getSudGameDateModel() {
|
||||||
return sudGameDateModel;
|
return sudGameDateModel;
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
package com.yunbao.common.bean;
|
||||||
|
|
||||||
|
import com.google.gson.annotations.SerializedName;
|
||||||
|
|
||||||
|
public class QuickGiftSendGiftModel extends BaseModel {
|
||||||
|
@SerializedName("quick_gift_remaining_quantity")
|
||||||
|
private int quickGiftRemainingQuantity;//剩余的小PD礼物数量
|
||||||
|
@SerializedName("if_viewing_duration_complete")
|
||||||
|
private int ifViewingDurationComplete;//通过观看时间获取小PD礼物的次数
|
||||||
|
|
||||||
|
public int getQuickGiftRemainingQuantity() {
|
||||||
|
return quickGiftRemainingQuantity;
|
||||||
|
}
|
||||||
|
|
||||||
|
public QuickGiftSendGiftModel setQuickGiftRemainingQuantity(int quickGiftRemainingQuantity) {
|
||||||
|
this.quickGiftRemainingQuantity = quickGiftRemainingQuantity;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIfViewingDurationComplete() {
|
||||||
|
return ifViewingDurationComplete;
|
||||||
|
}
|
||||||
|
|
||||||
|
public QuickGiftSendGiftModel setIfViewingDurationComplete(int ifViewingDurationComplete) {
|
||||||
|
this.ifViewingDurationComplete = ifViewingDurationComplete;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
@ -5,6 +5,16 @@ import com.yunbao.common.bean.BaseModel;
|
|||||||
public class QuickGiftingEvent extends BaseModel {
|
public class QuickGiftingEvent extends BaseModel {
|
||||||
private int index;
|
private int index;
|
||||||
private String svgaName;
|
private String svgaName;
|
||||||
|
private boolean show =false;
|
||||||
|
|
||||||
|
public boolean isShow() {
|
||||||
|
return show;
|
||||||
|
}
|
||||||
|
|
||||||
|
public QuickGiftingEvent setShow(boolean show) {
|
||||||
|
this.show = show;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public int getIndex() {
|
public int getIndex() {
|
||||||
return index;
|
return index;
|
||||||
|
@ -46,6 +46,7 @@ import com.yunbao.common.bean.OpenAdModel;
|
|||||||
import com.yunbao.common.bean.PkRankBean;
|
import com.yunbao.common.bean.PkRankBean;
|
||||||
import com.yunbao.common.bean.PrankGiftBean;
|
import com.yunbao.common.bean.PrankGiftBean;
|
||||||
import com.yunbao.common.bean.PrankHttpTurntableBean;
|
import com.yunbao.common.bean.PrankHttpTurntableBean;
|
||||||
|
import com.yunbao.common.bean.QuickGiftSendGiftModel;
|
||||||
import com.yunbao.common.bean.RandomPkUserBean;
|
import com.yunbao.common.bean.RandomPkUserBean;
|
||||||
import com.yunbao.common.bean.RankPkInfoBean;
|
import com.yunbao.common.bean.RankPkInfoBean;
|
||||||
import com.yunbao.common.bean.RedPacketDetailsBean;
|
import com.yunbao.common.bean.RedPacketDetailsBean;
|
||||||
@ -1061,9 +1062,23 @@ public interface PDLiveApi {
|
|||||||
@GET("/api/public/?service=Sudgameserver.deductMoney")
|
@GET("/api/public/?service=Sudgameserver.deductMoney")
|
||||||
Observable<ResponseModel<Object>> deductMoney(
|
Observable<ResponseModel<Object>> deductMoney(
|
||||||
@Query("room_id") String roomId
|
@Query("room_id") String roomId
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
@GET("/api/public/?service=Sudgameserver.checkCurrency")
|
@GET("/api/public/?service=Sudgameserver.checkCurrency")
|
||||||
Observable<ResponseModel<CheckCurrencyModel>> checkCurrency(
|
Observable<ResponseModel<CheckCurrencyModel>> checkCurrency(
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@GET("/api/public/?service=Quickgift.sendGift")
|
||||||
|
Observable<ResponseModel<QuickGiftSendGiftModel>> quickGiftSendGift(
|
||||||
|
@Query("quick_gift_number") String quickGiftNumber,
|
||||||
|
@Query("liveuid") String liveUid,
|
||||||
|
@Query("stream") String stream
|
||||||
|
);
|
||||||
|
|
||||||
|
@GET("/api/public/?service=Quickgift.viewingDurationGetGift")
|
||||||
|
Observable<ResponseModel<QuickGiftSendGiftModel>> viewingDurationGetGift(
|
||||||
|
@Query("liveuid") String liveUid
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
@ -44,6 +44,7 @@ import com.yunbao.common.bean.OpenAdModel;
|
|||||||
import com.yunbao.common.bean.PkRankBean;
|
import com.yunbao.common.bean.PkRankBean;
|
||||||
import com.yunbao.common.bean.PrankGiftBean;
|
import com.yunbao.common.bean.PrankGiftBean;
|
||||||
import com.yunbao.common.bean.PrankHttpTurntableBean;
|
import com.yunbao.common.bean.PrankHttpTurntableBean;
|
||||||
|
import com.yunbao.common.bean.QuickGiftSendGiftModel;
|
||||||
import com.yunbao.common.bean.RandomPkUserBean;
|
import com.yunbao.common.bean.RandomPkUserBean;
|
||||||
import com.yunbao.common.bean.RankPkInfoBean;
|
import com.yunbao.common.bean.RankPkInfoBean;
|
||||||
import com.yunbao.common.bean.RedPacketDetailsBean;
|
import com.yunbao.common.bean.RedPacketDetailsBean;
|
||||||
@ -2317,21 +2318,21 @@ public class LiveNetManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void deductMoney(String roomId) {
|
public void deductMoney(String roomId) {
|
||||||
API.get().pdLiveApi(mContext)
|
// API.get().pdLiveApi(mContext)
|
||||||
.deductMoney(roomId)
|
// .deductMoney(roomId)
|
||||||
.subscribeOn(Schedulers.io())
|
// .subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
// .observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(new Consumer<ResponseModel<Object>>() {
|
// .subscribe(new Consumer<ResponseModel<Object>>() {
|
||||||
@Override
|
// @Override
|
||||||
public void accept(ResponseModel<Object> objectResponseModel) throws Exception {
|
// public void accept(ResponseModel<Object> objectResponseModel) throws Exception {
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
}, new Consumer<Throwable>() {
|
// }, new Consumer<Throwable>() {
|
||||||
@Override
|
// @Override
|
||||||
public void accept(Throwable throwable) throws Exception {
|
// public void accept(Throwable throwable) throws Exception {
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
}).isDisposed();
|
// }).isDisposed();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void checkCurrency(HttpCallback<CheckCurrencyModel> callback) {
|
public void checkCurrency(HttpCallback<CheckCurrencyModel> callback) {
|
||||||
@ -2384,6 +2385,50 @@ public class LiveNetManager {
|
|||||||
}).isDisposed();
|
}).isDisposed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void viewingDurationGetGift(String liveUid, HttpCallback<QuickGiftSendGiftModel> callback) {
|
||||||
|
API.get().pdLiveApi(mContext)
|
||||||
|
.viewingDurationGetGift(liveUid)
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe(new Consumer<ResponseModel<QuickGiftSendGiftModel>>() {
|
||||||
|
@Override
|
||||||
|
public void accept(ResponseModel<QuickGiftSendGiftModel> quickGiftSendGiftModelResponseModel) throws Exception {
|
||||||
|
if (callback != null) {
|
||||||
|
callback.onSuccess(quickGiftSendGiftModelResponseModel.getData().getInfo());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, new Consumer<Throwable>() {
|
||||||
|
@Override
|
||||||
|
public void accept(Throwable throwable) throws Exception {
|
||||||
|
if (callback != null) {
|
||||||
|
callback.onError(mContext.getString(R.string.net_error));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).isDisposed();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void quickGiftSendGift(String quickGiftNumber, String liveUid, String stream, HttpCallback<QuickGiftSendGiftModel> callback) {
|
||||||
|
API.get().pdLiveApi(mContext)
|
||||||
|
.quickGiftSendGift(quickGiftNumber, liveUid, stream)
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe(new Consumer<ResponseModel<QuickGiftSendGiftModel>>() {
|
||||||
|
@Override
|
||||||
|
public void accept(ResponseModel<QuickGiftSendGiftModel> quickGiftSendGiftModelResponseModel) throws Exception {
|
||||||
|
if (callback != null) {
|
||||||
|
callback.onSuccess(quickGiftSendGiftModelResponseModel.getData().getInfo());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, new Consumer<Throwable>() {
|
||||||
|
@Override
|
||||||
|
public void accept(Throwable throwable) throws Exception {
|
||||||
|
if (callback != null) {
|
||||||
|
callback.onError(mContext.getString(R.string.net_error));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).isDisposed();
|
||||||
|
}
|
||||||
|
|
||||||
public void getRoomList(String sudGameId, String threshold, String roomHolderType, String liveUid, String currencyType, int page, HttpCallback<List<SudRoomListModel>> callback) {
|
public void getRoomList(String sudGameId, String threshold, String roomHolderType, String liveUid, String currencyType, int page, HttpCallback<List<SudRoomListModel>> callback) {
|
||||||
API.get().pdLiveApi(mContext)
|
API.get().pdLiveApi(mContext)
|
||||||
.getRoomList(sudGameId, threshold, roomHolderType, liveUid, currencyType, page)
|
.getRoomList(sudGameId, threshold, roomHolderType, liveUid, currencyType, page)
|
||||||
|
@ -14,7 +14,7 @@ public class CircleProgress2 extends View {
|
|||||||
private RectF mRectF;
|
private RectF mRectF;
|
||||||
private int mCurrent = 1, mMax = 100;
|
private int mCurrent = 1, mMax = 100;
|
||||||
//圆弧(也可以说是圆环)的宽度
|
//圆弧(也可以说是圆环)的宽度
|
||||||
private float mArcWidth =8;
|
private float mArcWidth =9;
|
||||||
//控件的宽度
|
//控件的宽度
|
||||||
private float mWidth;
|
private float mWidth;
|
||||||
|
|
||||||
@ -56,14 +56,14 @@ public class CircleProgress2 extends View {
|
|||||||
mPaint.setStyle(Paint.Style.STROKE);
|
mPaint.setStyle(Paint.Style.STROKE);
|
||||||
//设置圆弧的宽度(圆环的宽度)
|
//设置圆弧的宽度(圆环的宽度)
|
||||||
mPaint.setStrokeWidth(mArcWidth);
|
mPaint.setStrokeWidth(mArcWidth);
|
||||||
mPaint.setColor(Color.parseColor("#FEC51B"));
|
mPaint.setColor(Color.parseColor("#46433F"));
|
||||||
//大圆的半径
|
//大圆的半径
|
||||||
float bigCircleRadius = mWidth / 2;
|
float bigCircleRadius = mWidth / 2;
|
||||||
//小圆的半径
|
//小圆的半径
|
||||||
float smallCircleRadius = bigCircleRadius - mArcWidth;
|
float smallCircleRadius = bigCircleRadius - mArcWidth;
|
||||||
//绘制小圆
|
//绘制小圆
|
||||||
canvas.drawCircle(bigCircleRadius, bigCircleRadius, smallCircleRadius, mPaint);
|
canvas.drawCircle(bigCircleRadius, bigCircleRadius, smallCircleRadius, mPaint);
|
||||||
mPaint.setColor(Color.parseColor("#46433F"));
|
mPaint.setColor(Color.parseColor("#FEC51B"));
|
||||||
mRectF.set(mArcWidth, mArcWidth, mWidth - mArcWidth, mWidth - mArcWidth);
|
mRectF.set(mArcWidth, mArcWidth, mWidth - mArcWidth, mWidth - mArcWidth);
|
||||||
//绘制圆弧
|
//绘制圆弧
|
||||||
canvas.drawArc(mRectF, -90, mCurrent * 360 / mMax, false, mPaint);
|
canvas.drawArc(mRectF, -90, mCurrent * 360 / mMax, false, mPaint);
|
||||||
|
@ -1766,7 +1766,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Subscribe(threadMode = ThreadMode .MAIN)
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||||
public void onSlideEvent(SlideEvent event) {
|
public void onSlideEvent(SlideEvent event) {
|
||||||
verticalViewPager.setEnableScroll(event.isSlide());
|
verticalViewPager.setEnableScroll(event.isSlide());
|
||||||
}
|
}
|
||||||
@ -1775,7 +1775,12 @@ public class LiveAudienceActivity extends LiveActivity {
|
|||||||
public void onQuickGiftingEvent(QuickGiftingEvent event) {
|
public void onQuickGiftingEvent(QuickGiftingEvent event) {
|
||||||
if (manager != null) {
|
if (manager != null) {
|
||||||
|
|
||||||
manager.onQuickGifting(event.getIndex(), event.getSvgaName());
|
|
||||||
|
if (event.isShow()) {
|
||||||
|
manager.onQuickGifting2(true);
|
||||||
|
} else {
|
||||||
|
manager.onQuickGifting(event.getIndex(), event.getSvgaName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@ import com.umeng.analytics.MobclickAgent;
|
|||||||
import com.yunbao.common.CommonAppConfig;
|
import com.yunbao.common.CommonAppConfig;
|
||||||
import com.yunbao.common.Constants;
|
import com.yunbao.common.Constants;
|
||||||
import com.yunbao.common.bean.NewPeopleInfo;
|
import com.yunbao.common.bean.NewPeopleInfo;
|
||||||
|
import com.yunbao.common.bean.QuickGiftSendGiftModel;
|
||||||
import com.yunbao.common.dialog.LiveNewRolePopup;
|
import com.yunbao.common.dialog.LiveNewRolePopup;
|
||||||
import com.yunbao.common.event.MessageIMEvent;
|
import com.yunbao.common.event.MessageIMEvent;
|
||||||
import com.yunbao.common.event.QuickGiftingEvent;
|
import com.yunbao.common.event.QuickGiftingEvent;
|
||||||
@ -36,12 +37,14 @@ import com.yunbao.common.glide.ImgLoader;
|
|||||||
import com.yunbao.common.http.API;
|
import com.yunbao.common.http.API;
|
||||||
import com.yunbao.common.http.HttpCallback;
|
import com.yunbao.common.http.HttpCallback;
|
||||||
import com.yunbao.common.http.HttpClient;
|
import com.yunbao.common.http.HttpClient;
|
||||||
|
import com.yunbao.common.http.live.LiveNetManager;
|
||||||
import com.yunbao.common.manager.IMLoginManager;
|
import com.yunbao.common.manager.IMLoginManager;
|
||||||
import com.yunbao.common.utils.Bus;
|
import com.yunbao.common.utils.Bus;
|
||||||
import com.yunbao.common.utils.ProcessResultUtil;
|
import com.yunbao.common.utils.ProcessResultUtil;
|
||||||
import com.yunbao.common.utils.SpUtil;
|
import com.yunbao.common.utils.SpUtil;
|
||||||
import com.yunbao.common.utils.ToastUtil;
|
import com.yunbao.common.utils.ToastUtil;
|
||||||
import com.yunbao.common.utils.WordUtil;
|
import com.yunbao.common.utils.WordUtil;
|
||||||
|
import com.yunbao.common.views.weight.CircleProgress2;
|
||||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||||
import com.yunbao.live.R;
|
import com.yunbao.live.R;
|
||||||
import com.yunbao.live.activity.LiveActivity;
|
import com.yunbao.live.activity.LiveActivity;
|
||||||
@ -80,7 +83,7 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
|||||||
private View v_msg_redpoint, stationHornBanner;
|
private View v_msg_redpoint, stationHornBanner;
|
||||||
private Activity context;
|
private Activity context;
|
||||||
private ViewFlipper viewFlipper;
|
private ViewFlipper viewFlipper;
|
||||||
private TextView goToRomm;
|
private TextView goToRomm, quick_gift_remaining_quantity, time_text;
|
||||||
private int icon = 0;
|
private int icon = 0;
|
||||||
private String nobleName, nobleTtext;
|
private String nobleName, nobleTtext;
|
||||||
private ImageView giftImage, liveNewPeople;
|
private ImageView giftImage, liveNewPeople;
|
||||||
@ -91,6 +94,7 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
|||||||
private ImageView mPlay;//玩
|
private ImageView mPlay;//玩
|
||||||
private ImageView mCheat;//整蛊
|
private ImageView mCheat;//整蛊
|
||||||
private ImageView pd_pao, combo;
|
private ImageView pd_pao, combo;
|
||||||
|
private CircleProgress2 circleProgress;
|
||||||
|
|
||||||
public LiveAudienceViewHolder(Context context, ViewGroup parentView) {
|
public LiveAudienceViewHolder(Context context, ViewGroup parentView) {
|
||||||
super(context, parentView);
|
super(context, parentView);
|
||||||
@ -116,6 +120,8 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
|||||||
findViewById(R.id.btn_zg).setOnClickListener(this);
|
findViewById(R.id.btn_zg).setOnClickListener(this);
|
||||||
voiceButton = (LinearLayout) findViewById(R.id.voice_button);
|
voiceButton = (LinearLayout) findViewById(R.id.voice_button);
|
||||||
giftImage = (ImageView) findViewById(R.id.gift_image);
|
giftImage = (ImageView) findViewById(R.id.gift_image);
|
||||||
|
quick_gift_remaining_quantity = (TextView) findViewById(R.id.quick_gift_remaining_quantity);
|
||||||
|
time_text = (TextView) findViewById(R.id.time_text);
|
||||||
liveNewPeople = (ImageView) findViewById(R.id.live_new_people);
|
liveNewPeople = (ImageView) findViewById(R.id.live_new_people);
|
||||||
|
|
||||||
viewFlipper = (ViewFlipper) findViewById(R.id.viewflipper_banner);
|
viewFlipper = (ViewFlipper) findViewById(R.id.viewflipper_banner);
|
||||||
@ -126,6 +132,7 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
|||||||
mNewPeopleRedDot = findViewById(R.id.live_new_people_red_dot);
|
mNewPeopleRedDot = findViewById(R.id.live_new_people_red_dot);
|
||||||
pd_pao = (ImageView) findViewById(R.id.pd_pao);
|
pd_pao = (ImageView) findViewById(R.id.pd_pao);
|
||||||
combo = (ImageView) findViewById(R.id.combo);
|
combo = (ImageView) findViewById(R.id.combo);
|
||||||
|
circleProgress = (CircleProgress2) findViewById(R.id.circleProgress);
|
||||||
combo.setVisibility(View.GONE);
|
combo.setVisibility(View.GONE);
|
||||||
liveNewPeople.setOnClickListener(this);
|
liveNewPeople.setOnClickListener(this);
|
||||||
mRole.setOnClickListener(this);
|
mRole.setOnClickListener(this);
|
||||||
@ -270,52 +277,121 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
|||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
mProcessResultUtil = new ProcessResultUtil((FragmentActivity) mContext);
|
mProcessResultUtil = new ProcessResultUtil((FragmentActivity) mContext);
|
||||||
|
quick_gift_remaining_quantity.setVisibility(View.GONE);
|
||||||
|
time_text.setVisibility(View.GONE);
|
||||||
pd_pao.setOnClickListener(new View.OnClickListener() {
|
pd_pao.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
quickGiftingIndex = 1;
|
if (mQuickGiftRemainingQuantity > 0) {
|
||||||
combo.setVisibility(View.VISIBLE);
|
quickGiftingIndex = 1;
|
||||||
removeRunnable = true;
|
combo.setVisibility(View.VISIBLE);
|
||||||
lianSongHandler.postDelayed(lianSongRunnable, 1000);
|
removeRunnable = true;
|
||||||
Random random = new Random();
|
lianSongHandler.postDelayed(lianSongRunnable, 1000);
|
||||||
int randomNumber = random.nextInt(shortSvgas.size());
|
Random random = new Random();
|
||||||
String randomName = shortSvgas.get(randomNumber);
|
int randomNumber = random.nextInt(shortSvgas.size());
|
||||||
Bus.get().post(new QuickGiftingEvent().setIndex(quickGiftingIndex).setSvgaName(randomName));
|
String randomName = shortSvgas.get(randomNumber);
|
||||||
|
Bus.get().post(new QuickGiftingEvent().setIndex(quickGiftingIndex).setSvgaName(randomName));
|
||||||
|
mQuickGiftRemainingQuantity = mQuickGiftRemainingQuantity - 1;
|
||||||
|
quick_gift_remaining_quantity.setText(String.valueOf(mQuickGiftRemainingQuantity));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
combo.setOnClickListener(new View.OnClickListener() {
|
combo.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
quickGiftingIndex = quickGiftingIndex + 1;
|
if (mQuickGiftRemainingQuantity > 0) {
|
||||||
removeRunnable = true;
|
quickGiftingIndex = quickGiftingIndex + 1;
|
||||||
lianSongHandler.postDelayed(lianSongRunnable, 1000);
|
removeRunnable = true;
|
||||||
Random random = new Random();
|
lianSongHandler.postDelayed(lianSongRunnable, 1000);
|
||||||
if (quickGiftingIndex<11){
|
Random random = new Random();
|
||||||
int randomNumber = random.nextInt(shortSvgas.size());
|
if (quickGiftingIndex < 11) {
|
||||||
String randomName = shortSvgas.get(randomNumber);
|
int randomNumber = random.nextInt(shortSvgas.size());
|
||||||
Bus.get().post(new QuickGiftingEvent().setIndex(quickGiftingIndex).setSvgaName(randomName));
|
String randomName = shortSvgas.get(randomNumber);
|
||||||
}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));
|
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));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
mQuickGiftRemainingQuantity = mQuickGiftRemainingQuantity - 1;
|
||||||
|
quick_gift_remaining_quantity.setText(String.valueOf(mQuickGiftRemainingQuantity));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int mQuickGiftRemainingQuantity = 0, mIfViewingDurationComplete;
|
||||||
|
|
||||||
|
public void upDataQuickGift(int quickGiftRemainingQuantity, int ifViewingDurationComplete) {
|
||||||
|
mQuickGiftRemainingQuantity = quickGiftRemainingQuantity;
|
||||||
|
mIfViewingDurationComplete = ifViewingDurationComplete;
|
||||||
|
quickGiftContDown = 120;
|
||||||
|
circleProgress.setMax(120);
|
||||||
|
circleProgress.setCurrent(quickGiftContDown);
|
||||||
|
if (quickGiftRemainingQuantity > 0) {
|
||||||
|
quick_gift_remaining_quantity.setVisibility(View.VISIBLE);
|
||||||
|
quick_gift_remaining_quantity.setText(String.valueOf(quickGiftRemainingQuantity));
|
||||||
|
} else {
|
||||||
|
quick_gift_remaining_quantity.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
if (quickGiftRemainingQuantity >= 10 && ifViewingDurationComplete > 0) {
|
||||||
|
quickGiftHandler.postDelayed(quickGiftRunnable, 1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private int quickGiftContDown = 120;
|
||||||
|
private Handler quickGiftHandler = new Handler();
|
||||||
|
private Runnable quickGiftRunnable = new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
if (mQuickGiftRemainingQuantity == 0) {
|
||||||
|
time_text.setVisibility(View.VISIBLE);
|
||||||
|
quick_gift_remaining_quantity.setVisibility(View.GONE);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
time_text.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
if (quickGiftContDown > 0) {
|
||||||
|
quickGiftContDown = quickGiftContDown - 1;
|
||||||
|
if (time_text.getVisibility() == View.VISIBLE) {
|
||||||
|
time_text.setText(String.valueOf(quickGiftContDown) + "s");
|
||||||
|
}
|
||||||
|
circleProgress.setCurrent(quickGiftContDown);
|
||||||
|
quickGiftHandler.postDelayed(quickGiftRunnable, 1000);
|
||||||
|
} else {
|
||||||
|
quickGiftHandler.removeCallbacks(quickGiftRunnable);
|
||||||
|
LiveNetManager.get(mContext).viewingDurationGetGift(mLiveUid, new com.yunbao.common.http.base.HttpCallback<QuickGiftSendGiftModel>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(QuickGiftSendGiftModel data) {
|
||||||
|
if (data.getQuickGiftRemainingQuantity() >= 10 && data.getIfViewingDurationComplete() > 0) {
|
||||||
|
upDataQuickGift(data.getQuickGiftRemainingQuantity(), data.getIfViewingDurationComplete());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(String error) {
|
||||||
|
ToastUtil.show(error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public void resetView() {
|
public void resetView() {
|
||||||
pd_pao.setVisibility(View.VISIBLE);
|
pd_pao.setVisibility(View.VISIBLE);
|
||||||
combo.setVisibility(View.GONE);
|
combo.setVisibility(View.GONE);
|
||||||
lianSongHandler.removeCallbacks(lianSongRunnable);
|
lianSongHandler.removeCallbacks(lianSongRunnable);
|
||||||
|
lianSongHandler.removeCallbacks(lianSongRunnable);
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean removeRunnable = false;
|
private boolean removeRunnable = false;
|
||||||
private int mLianCountDownCount;//连送倒计时的数字
|
private int mLianCountDownCount;//连送倒计时的数字
|
||||||
private Handler lianSongHandler = new Handler();
|
private Handler lianSongHandler = new Handler();
|
||||||
@ -334,6 +410,21 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
|||||||
pd_pao.setVisibility(View.VISIBLE);
|
pd_pao.setVisibility(View.VISIBLE);
|
||||||
combo.setVisibility(View.GONE);
|
combo.setVisibility(View.GONE);
|
||||||
lianSongHandler.removeCallbacks(lianSongRunnable);
|
lianSongHandler.removeCallbacks(lianSongRunnable);
|
||||||
|
Bus.get().post(new QuickGiftingEvent().setShow(true));
|
||||||
|
LiveNetManager.get(mContext).quickGiftSendGift(String.valueOf(quickGiftingIndex), mLiveUid, mStream, new com.yunbao.common.http.base.HttpCallback<QuickGiftSendGiftModel>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(QuickGiftSendGiftModel data) {
|
||||||
|
upDataQuickGift(data.getQuickGiftRemainingQuantity(), data.getIfViewingDurationComplete());
|
||||||
|
if (mQuickGiftRemainingQuantity >= 10 && mIfViewingDurationComplete > 0) {
|
||||||
|
quickGiftHandler.postDelayed(quickGiftRunnable, 1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(String error) {
|
||||||
|
ToastUtil.show(error);
|
||||||
|
}
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
lianSongHandler.postDelayed(lianSongRunnable, 1000);
|
lianSongHandler.postDelayed(lianSongRunnable, 1000);
|
||||||
}
|
}
|
||||||
|
@ -708,12 +708,18 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
|||||||
|
|
||||||
HashMap<String, SVGAImageView> svgaImageViewHashMap = new HashMap<>();
|
HashMap<String, SVGAImageView> svgaImageViewHashMap = new HashMap<>();
|
||||||
|
|
||||||
|
public void onQuickGifting2(boolean show) {
|
||||||
|
if (show) {
|
||||||
|
combo_layout.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void onQuickGifting(int index, String svgaName) {
|
public void onQuickGifting(int index, String svgaName) {
|
||||||
pa_pao_layout.setVisibility(View.VISIBLE);
|
pa_pao_layout.setVisibility(View.VISIBLE);
|
||||||
combo_layout.setVisibility(View.VISIBLE);
|
combo_layout.setVisibility(View.VISIBLE);
|
||||||
combo_number.setText(String.valueOf(index));
|
combo_number.setText(String.valueOf(index));
|
||||||
SVGAImageView svgaImageView = new SVGAImageView(mContext);
|
SVGAImageView svgaImageView = new SVGAImageView(mContext);
|
||||||
String tag = svgaName+System.currentTimeMillis();
|
String tag = svgaName + System.currentTimeMillis();
|
||||||
svgaImageViewHashMap.put(tag, svgaImageView);
|
svgaImageViewHashMap.put(tag, svgaImageView);
|
||||||
|
|
||||||
Bus.get().post(new SlideEvent().setSlide(!(svgaImageViewHashMap.size() > 0)));
|
Bus.get().post(new SlideEvent().setSlide(!(svgaImageViewHashMap.size() > 0)));
|
||||||
@ -739,7 +745,7 @@ String tag = svgaName+System.currentTimeMillis();
|
|||||||
Log.e("QuickGiftingEvent", "pa_pao_layout:getChildCount:" + pa_pao_layout.getChildCount());
|
Log.e("QuickGiftingEvent", "pa_pao_layout:getChildCount:" + pa_pao_layout.getChildCount());
|
||||||
if (pa_pao_layout.getChildCount() == 0) {
|
if (pa_pao_layout.getChildCount() == 0) {
|
||||||
pa_pao_layout.setVisibility(View.GONE);
|
pa_pao_layout.setVisibility(View.GONE);
|
||||||
combo_layout.setVisibility(View.GONE);
|
|
||||||
Bus.get().post(new SlideEvent().setSlide(true));
|
Bus.get().post(new SlideEvent().setSlide(true));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,6 @@ import com.yunbao.common.event.LiveFloatEvent;
|
|||||||
import com.yunbao.common.event.LiveGiftDialogEvent;
|
import com.yunbao.common.event.LiveGiftDialogEvent;
|
||||||
import com.yunbao.common.event.LiveRoomChangeEvent;
|
import com.yunbao.common.event.LiveRoomChangeEvent;
|
||||||
import com.yunbao.common.event.LiveSudGamePopupShowOrHideEvent;
|
import com.yunbao.common.event.LiveSudGamePopupShowOrHideEvent;
|
||||||
import com.yunbao.common.event.QuickGiftingEvent;
|
|
||||||
import com.yunbao.common.event.SendBlindGiftEvent;
|
import com.yunbao.common.event.SendBlindGiftEvent;
|
||||||
import com.yunbao.common.glide.ImgLoader;
|
import com.yunbao.common.glide.ImgLoader;
|
||||||
import com.yunbao.common.http.CommonHttpConsts;
|
import com.yunbao.common.http.CommonHttpConsts;
|
||||||
@ -224,9 +223,15 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onQuickGifting(int index,String svgaName) {
|
public void onQuickGifting(int index, String svgaName) {
|
||||||
if (mLiveRoomViewHolder != null) {
|
if (mLiveRoomViewHolder != null) {
|
||||||
mLiveRoomViewHolder.onQuickGifting(index,svgaName);
|
mLiveRoomViewHolder.onQuickGifting(index, svgaName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onQuickGifting2(boolean show) {
|
||||||
|
if (mLiveRoomViewHolder != null) {
|
||||||
|
mLiveRoomViewHolder.onQuickGifting2(show);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -734,6 +739,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
|||||||
mLiveRoomViewHolder.setSudName(WordUtil.isNewZh() ? data.getSudGameDateModel().getSudGameName() : data.getSudGameDateModel().getSud_game_name_en(), data.getSudGameDateModel());
|
mLiveRoomViewHolder.setSudName(WordUtil.isNewZh() ? data.getSudGameDateModel().getSudGameName() : data.getSudGameDateModel().getSud_game_name_en(), data.getSudGameDateModel());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
mLiveAudienceViewHolder.upDataQuickGift(data.getQuickGiftRemainingQuantity(), data.getIfViewingDurationComplete());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -392,34 +392,50 @@
|
|||||||
|
|
||||||
<com.yunbao.common.views.weight.CircleProgress2
|
<com.yunbao.common.views.weight.CircleProgress2
|
||||||
android:id="@+id/circleProgress"
|
android:id="@+id/circleProgress"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="32dp"
|
||||||
android:layout_height="match_parent" />
|
android:layout_height="32dp"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_centerVertical="true" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/pd_pao"
|
android:id="@+id/pd_pao"
|
||||||
android:layout_width="30dp"
|
android:layout_width="27dp"
|
||||||
android:layout_height="30dp"
|
android:layout_height="27dp"
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_centerHorizontal="true"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:src="@mipmap/icon_pd_pao" />
|
android:src="@mipmap/icon_pd_pao" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="30dp"
|
android:id="@+id/time_text"
|
||||||
android:layout_height="30dp"
|
android:layout_width="27dp"
|
||||||
|
android:layout_height="27dp"
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_centerHorizontal="true"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:background="@drawable/backgroud_panda_time"
|
android:background="@drawable/backgroud_panda_time"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:text="120S"
|
android:text="120S"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="12sp"
|
android:textSize="10sp"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/quick_gift_remaining_quantity"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginBottom="-2dp"
|
||||||
|
android:text="99"
|
||||||
|
android:textColor="#FFB403"
|
||||||
|
android:textSize="10sp"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/combo"
|
android:id="@+id/combo"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:src="@mipmap/icon_combo" />
|
android:src="@mipmap/icon_combo"
|
||||||
|
android:visibility="gone" />
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<!--礼物-->
|
<!--礼物-->
|
||||||
|
Loading…
Reference in New Issue
Block a user