Merge remote-tracking branch 'origin/dev_6.6.3'
# Conflicts: # common/src/main/java/com/yunbao/common/bean/IMLoginModel.java # config.gradle
This commit is contained in:
BIN
live/src/main/assets/littlepanda1.svga
Normal file
BIN
live/src/main/assets/littlepanda1.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda10.svga
Normal file
BIN
live/src/main/assets/littlepanda10.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda11.svga
Normal file
BIN
live/src/main/assets/littlepanda11.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda12.svga
Normal file
BIN
live/src/main/assets/littlepanda12.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda13.svga
Normal file
BIN
live/src/main/assets/littlepanda13.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda14.svga
Normal file
BIN
live/src/main/assets/littlepanda14.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda15.svga
Normal file
BIN
live/src/main/assets/littlepanda15.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda16.svga
Normal file
BIN
live/src/main/assets/littlepanda16.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda17.svga
Normal file
BIN
live/src/main/assets/littlepanda17.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda18.svga
Normal file
BIN
live/src/main/assets/littlepanda18.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda19.svga
Normal file
BIN
live/src/main/assets/littlepanda19.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda2.svga
Normal file
BIN
live/src/main/assets/littlepanda2.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda3.svga
Normal file
BIN
live/src/main/assets/littlepanda3.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda4.svga
Normal file
BIN
live/src/main/assets/littlepanda4.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda5.svga
Normal file
BIN
live/src/main/assets/littlepanda5.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda6.svga
Normal file
BIN
live/src/main/assets/littlepanda6.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda7.svga
Normal file
BIN
live/src/main/assets/littlepanda7.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda8.svga
Normal file
BIN
live/src/main/assets/littlepanda8.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda9.svga
Normal file
BIN
live/src/main/assets/littlepanda9.svga
Normal file
Binary file not shown.
BIN
live/src/main/assets/littlepanda_craft.svga
Normal file
BIN
live/src/main/assets/littlepanda_craft.svga
Normal file
Binary file not shown.
@@ -70,7 +70,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;
|
||||
@@ -1727,14 +1729,13 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
.dismissOnTouchOutside(false)
|
||||
.dismissOnBackPressed(false)
|
||||
.asCustom(liveSudGamePopupXPopup).show();
|
||||
}else {
|
||||
} else {
|
||||
if (liveSudGamePopupXPopup != null) {
|
||||
liveSudGamePopupXPopup.dialog.show();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case 1:
|
||||
@@ -1763,6 +1764,36 @@ 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) {
|
||||
if (TextUtils.isEmpty(event.getHotNum())) {
|
||||
if (TextUtils.isEmpty(event.getGiftRemainingQuantity())) {
|
||||
if (event.isReminder()) {
|
||||
manager.onQuickGifting3();
|
||||
} else {
|
||||
if (event.isShow()) {
|
||||
manager.onQuickGifting2(true);
|
||||
} else {
|
||||
manager.onQuickGifting(event.getIndex(), event.getSvgaName());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
manager.setGiftRemainingQuantity(event.getGiftRemainingQuantity());
|
||||
}
|
||||
} else {
|
||||
manager.setHotNum(event.getHotNum());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onNewRoleCustomDrawerPopupEvent(NewRoleCustomDrawerPopupEvent event) {
|
||||
//是否关闭弹窗
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.yunbao.live.bean;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import com.yunbao.common.bean.BaseModel;
|
||||
|
||||
public class SendQuickGiftModel extends BaseModel {
|
||||
|
||||
@SerializedName("_method_")
|
||||
private String method;
|
||||
@SerializedName("user_nicename")
|
||||
private String userNicename;
|
||||
@SerializedName("quick_gift_number")
|
||||
private String quickGiftNumber;
|
||||
@SerializedName("hot_num")
|
||||
private String hotNum;
|
||||
|
||||
public String getHotNum() {
|
||||
return hotNum;
|
||||
}
|
||||
|
||||
public SendQuickGiftModel setHotNum(String hotNum) {
|
||||
this.hotNum = hotNum;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getMethod() {
|
||||
return method;
|
||||
}
|
||||
|
||||
public SendQuickGiftModel setMethod(String method) {
|
||||
this.method = method;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUserNicename() {
|
||||
return userNicename;
|
||||
}
|
||||
|
||||
public SendQuickGiftModel setUserNicename(String userNicename) {
|
||||
this.userNicename = userNicename;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getQuickGiftNumber() {
|
||||
return quickGiftNumber;
|
||||
}
|
||||
|
||||
public SendQuickGiftModel setQuickGiftNumber(String quickGiftNumber) {
|
||||
this.quickGiftNumber = quickGiftNumber;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -38,6 +38,7 @@ import com.yunbao.common.bean.XydCompleteModel;
|
||||
import com.yunbao.common.event.AllServerNotifyEvent;
|
||||
import com.yunbao.common.event.CustomFullServiceNotifyEvent;
|
||||
import com.yunbao.common.event.GiftWallIlluminateEvent;
|
||||
import com.yunbao.common.event.QuickGiftingEvent;
|
||||
import com.yunbao.common.event.SendBlindGiftEvent;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.HttpClient;
|
||||
@@ -62,6 +63,7 @@ import com.yunbao.live.bean.LiveGiftPrizePoolWinBean;
|
||||
import com.yunbao.live.bean.LiveLuckGiftWinBean;
|
||||
import com.yunbao.live.bean.LivePKUserListBean;
|
||||
import com.yunbao.live.bean.LiveReceiveGiftBean;
|
||||
import com.yunbao.live.bean.SendQuickGiftModel;
|
||||
import com.yunbao.live.event.LiveAnchorEvent;
|
||||
import com.yunbao.live.event.LiveAudienceEvent;
|
||||
import com.yunbao.live.views.LiveEndViewHolder;
|
||||
@@ -762,6 +764,16 @@ public class SocketRyClient {
|
||||
.setAvatar(WordUtil.isNewZh() ? map.getString("sud_game_name") : map.getString("sud_game_name_en"))
|
||||
.setCreateSudRoomModel(GsonUtils.fromJson(map.toString(), SudGameDateModel.class)));
|
||||
break;
|
||||
case "sendQuickGift":
|
||||
SendQuickGiftModel sendQuickGiftModel = GsonUtils.fromJson(map.toString(), SendQuickGiftModel.class);
|
||||
StringBuffer stringBuffer = new StringBuffer();
|
||||
stringBuffer.append(sendQuickGiftModel.getUserNicename())
|
||||
.append(WordUtil.isNewZh() ? " 送出了 " : " sent ")
|
||||
.append(sendQuickGiftModel.getQuickGiftNumber())
|
||||
.append(WordUtil.isNewZh() ? " 個小PD " : " small pandas ");
|
||||
systemChatMessage2(stringBuffer.toString());
|
||||
Bus.get().post(new QuickGiftingEvent().setHotNum(sendQuickGiftModel.getHotNum()));
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,19 +28,24 @@ import com.lxj.xpopup.XPopup;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
import com.yunbao.common.bean.NewPeopleInfo;
|
||||
import com.yunbao.common.bean.QuickGiftSendGiftModel;
|
||||
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;
|
||||
import com.yunbao.common.http.HttpClient;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.ProcessResultUtil;
|
||||
import com.yunbao.common.utils.SpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.CircleProgress2;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
@@ -58,7 +63,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;
|
||||
@@ -76,7 +84,7 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
||||
private View v_msg_redpoint, stationHornBanner;
|
||||
private Activity context;
|
||||
private ViewFlipper viewFlipper;
|
||||
private TextView goToRomm;
|
||||
private TextView goToRomm, quick_gift_remaining_quantity, time_text;
|
||||
private int icon = 0;
|
||||
private String nobleName, nobleTtext;
|
||||
private ImageView giftImage, liveNewPeople;
|
||||
@@ -86,10 +94,13 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
||||
private ImageView mRole;//特权
|
||||
private ImageView mPlay;//玩
|
||||
private ImageView mCheat;//整蛊
|
||||
private ImageView pd_pao, combo;
|
||||
private CircleProgress2 circleProgress;
|
||||
|
||||
public LiveAudienceViewHolder(Context context, ViewGroup parentView) {
|
||||
super(context, parentView);
|
||||
this.context = (Activity) context;
|
||||
initLittlePanda();
|
||||
}
|
||||
|
||||
|
||||
@@ -110,6 +121,8 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
||||
findViewById(R.id.btn_zg).setOnClickListener(this);
|
||||
voiceButton = (LinearLayout) findViewById(R.id.voice_button);
|
||||
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);
|
||||
|
||||
viewFlipper = (ViewFlipper) findViewById(R.id.viewflipper_banner);
|
||||
@@ -118,6 +131,10 @@ 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);
|
||||
circleProgress = (CircleProgress2) findViewById(R.id.circleProgress);
|
||||
combo.setVisibility(View.GONE);
|
||||
liveNewPeople.setOnClickListener(this);
|
||||
mRole.setOnClickListener(this);
|
||||
mCheat.setOnClickListener(this);
|
||||
@@ -261,6 +278,249 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
||||
return true;
|
||||
});
|
||||
mProcessResultUtil = new ProcessResultUtil((FragmentActivity) mContext);
|
||||
quick_gift_remaining_quantity.setVisibility(View.GONE);
|
||||
time_text.setVisibility(View.GONE);
|
||||
ViewClicksAntiShake.clicksAntiShake(time_text, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo();
|
||||
StringBuffer urlString = new StringBuffer();
|
||||
urlString.append(CommonAppConfig.HOST)
|
||||
.append("/h5/exchangeShop/index.html?uid=")
|
||||
.append(userInfo.getId())
|
||||
.append("&token=")
|
||||
.append(userInfo.getToken()).append("&isZh=")
|
||||
.append(WordUtil.isNewZh() ? "1" : 0);
|
||||
Bundle bundle1 = new Bundle();
|
||||
bundle1.putString("url", urlString.toString());
|
||||
LiveHDDialogFragment liveHDDialogFragment = new LiveHDDialogFragment();
|
||||
liveHDDialogFragment.setArguments(bundle1);
|
||||
liveHDDialogFragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveHDDialogFragment");
|
||||
Bus.get().post(new QuickGiftingEvent().setReminder(true));
|
||||
}
|
||||
});
|
||||
pd_pao.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
public boolean onLongClick(View view) {
|
||||
IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo();
|
||||
StringBuffer urlString = new StringBuffer();
|
||||
urlString.append(CommonAppConfig.HOST)
|
||||
.append("/h5/exchangeShop/index.html?uid=")
|
||||
.append(userInfo.getId())
|
||||
.append("&token=")
|
||||
.append(userInfo.getToken()).append("&isZh=")
|
||||
.append(WordUtil.isNewZh() ? "1" : 0);
|
||||
Bundle bundle1 = new Bundle();
|
||||
bundle1.putString("url", urlString.toString());
|
||||
LiveHDDialogFragment liveHDDialogFragment = new LiveHDDialogFragment();
|
||||
liveHDDialogFragment.setArguments(bundle1);
|
||||
liveHDDialogFragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveHDDialogFragment");
|
||||
Bus.get().post(new QuickGiftingEvent().setReminder(true));
|
||||
MobclickAgent.onEvent(mContext, "small_pd_gifts", "长按");
|
||||
return true;
|
||||
}
|
||||
});
|
||||
pd_pao.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
if (mQuickGiftRemainingQuantity > 0) {
|
||||
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));
|
||||
mQuickGiftRemainingQuantity = mQuickGiftRemainingQuantity - 1;
|
||||
quick_gift_remaining_quantity.setText(String.valueOf(mQuickGiftRemainingQuantity));
|
||||
MobclickAgent.onEvent(mContext, "small_pd_gifts", "连点");
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
combo.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
if (mQuickGiftRemainingQuantity > 0) {
|
||||
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));
|
||||
}
|
||||
|
||||
}
|
||||
mQuickGiftRemainingQuantity = mQuickGiftRemainingQuantity - 1;
|
||||
quick_gift_remaining_quantity.setText(String.valueOf(mQuickGiftRemainingQuantity));
|
||||
MobclickAgent.onEvent(mContext, "small_pd_gifts", "连点"+quickGiftingIndex);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void setGiftRemainingQuantity(String giftRemainingQuantity) {
|
||||
mQuickGiftRemainingQuantity = Integer.parseInt(giftRemainingQuantity);
|
||||
if (mQuickGiftRemainingQuantity > 0) {
|
||||
quick_gift_remaining_quantity.setVisibility(View.VISIBLE);
|
||||
quick_gift_remaining_quantity.setText(String.valueOf(mQuickGiftRemainingQuantity));
|
||||
} else {
|
||||
quick_gift_remaining_quantity.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
private int mQuickGiftRemainingQuantity = 0, mIfViewingDurationComplete;
|
||||
|
||||
public void upDataQuickGift(int quickGiftRemainingQuantity, int ifViewingDurationComplete) {
|
||||
mQuickGiftRemainingQuantity = quickGiftRemainingQuantity;
|
||||
mIfViewingDurationComplete = ifViewingDurationComplete;
|
||||
if (!(quickGiftContDown > 0 && quickGiftContDown < 120)) {
|
||||
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) {
|
||||
if (!(quickGiftContDown > 0 && quickGiftContDown < 120)) {
|
||||
quickGiftHandler.postDelayed(quickGiftRunnable, 1000);
|
||||
}
|
||||
}else {
|
||||
circleProgress.setCurrent(2);
|
||||
}
|
||||
}
|
||||
|
||||
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) {
|
||||
|
||||
upDataQuickGift(data.getQuickGiftRemainingQuantity(), data.getIfViewingDurationComplete());
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
public void resetView() {
|
||||
pd_pao.setVisibility(View.VISIBLE);
|
||||
combo.setVisibility(View.GONE);
|
||||
lianSongHandler.removeCallbacks(lianSongRunnable);
|
||||
lianSongHandler.removeCallbacks(lianSongRunnable);
|
||||
quickGiftHandler.removeCallbacks(quickGiftRunnable);
|
||||
}
|
||||
|
||||
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);
|
||||
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 (data.getIfHiddenEgg() == 3) {
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "恭喜您解鎖隱藏彩蛋! 獎勵已發放!" : "Congratulations on unlocking the hidden easter egg! Rewards have been distributed!");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(error);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
lianSongHandler.postDelayed(lianSongRunnable, 1000);
|
||||
}
|
||||
Log.e("QuickGiftingEvent", removeRunnable + " " + mLianCountDownCount);
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
private List<String> highSvgas = new ArrayList<>();
|
||||
private List<String> 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;
|
||||
@@ -528,6 +788,7 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
|
||||
super.release();
|
||||
EventBus.getDefault().unregister(this);
|
||||
removeCallbacks();
|
||||
resetView();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -198,7 +198,7 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
|
||||
// ImgLoader.displayBlurLive(mContext, coverUrl, mCover, 400, 600);
|
||||
//
|
||||
// }
|
||||
}
|
||||
}//
|
||||
|
||||
@Override
|
||||
public synchronized void setLiveBeanLandscape(int landscape) {
|
||||
@@ -206,7 +206,10 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
|
||||
Log.i(TAG, "setLiveBeanLandscape: " + landscape + " isPk: " + isPk);
|
||||
this.landscape = landscape;
|
||||
this.videoLandscape = landscape;
|
||||
mPlayer.setViewResizeMode(landscape == VIDEO_VERTICAL);
|
||||
if (mPlayer != null) {
|
||||
mPlayer.setViewResizeMode(landscape == VIDEO_VERTICAL);
|
||||
}
|
||||
|
||||
if (landscape == 2) {
|
||||
Log.i(TAG, "还原9:16");
|
||||
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) mVideoView.getLayoutParams();
|
||||
@@ -1111,19 +1114,19 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
|
||||
int maxRate = 900;
|
||||
switch (IMLoginManager.get(mContext).getSelectClarity()) {
|
||||
case 0:
|
||||
rcrtcVideoResolution = RCRTCParamsType.RCRTCVideoResolution.RESOLUTION_480_848;
|
||||
minRate = 200;
|
||||
maxRate = 900;
|
||||
rcrtcVideoResolution = landscape == 1 ? RCRTCParamsType.RCRTCVideoResolution.parseVideoResolution(960, 720) : RCRTCParamsType.RCRTCVideoResolution.RESOLUTION_480_848;
|
||||
minRate = landscape == 1 ? 900 : 200;
|
||||
maxRate = landscape == 1 ? 700 : 900;
|
||||
break;
|
||||
case 1:
|
||||
rcrtcVideoResolution = RCRTCParamsType.RCRTCVideoResolution.RESOLUTION_720_1280;
|
||||
minRate = 250;
|
||||
maxRate = 2200;
|
||||
rcrtcVideoResolution = landscape == 1 ? RCRTCParamsType.RCRTCVideoResolution.parseVideoResolution(960, 720) : RCRTCParamsType.RCRTCVideoResolution.RESOLUTION_720_1280;
|
||||
minRate = landscape == 1 ? 900 : 250;
|
||||
maxRate = landscape == 1 ? 700 : 2200;
|
||||
break;
|
||||
case 2:
|
||||
rcrtcVideoResolution = RCRTCParamsType.RCRTCVideoResolution.RESOLUTION_1080_1920;
|
||||
minRate = 400;
|
||||
maxRate = 4000;
|
||||
rcrtcVideoResolution = landscape == 1 ? RCRTCParamsType.RCRTCVideoResolution.parseVideoResolution(960, 720) : RCRTCParamsType.RCRTCVideoResolution.RESOLUTION_1080_1920;
|
||||
minRate = landscape == 1 ? 900 : 400;
|
||||
maxRate = landscape == 1 ? 700 : 4000;
|
||||
break;
|
||||
}
|
||||
// 示例代码使用480x640分辨率演示
|
||||
@@ -1146,6 +1149,15 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
|
||||
ArrayList<RCRTCOutputStream> streams = new ArrayList<>();
|
||||
// streams.add(RCRTCEngine.getInstance().getDefaultVideoStream());
|
||||
streams.add(RCRTCEngine.getInstance().getDefaultAudioStream());
|
||||
if (landscape == 1) {
|
||||
new Handler(Looper.getMainLooper()).post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
setLiveBeanLandscape(1);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
// 开启摄像头
|
||||
// RCRTCEngine.getInstance().getDefaultVideoStream().startCamera(null);
|
||||
// 开始切换为主播身份
|
||||
|
||||
@@ -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,10 @@ 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;
|
||||
private View quick_gift_reminder ;
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onUpdata(String str) {
|
||||
@@ -703,6 +707,90 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
|
||||
}
|
||||
|
||||
HashMap<String, SVGAImageView> svgaImageViewHashMap = new HashMap<>();
|
||||
|
||||
public void onQuickGifting2(boolean show) {
|
||||
if (show) {
|
||||
combo_layout.setVisibility(View.GONE);
|
||||
if (IMLoginManager.get(mContext).getQuickGiftIfFirst()) {
|
||||
quick_gift_reminder.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
quick_gift_reminder.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void onQuickGifting3() {
|
||||
IMLoginManager.get(mContext).setQuickGiftIfFirst();
|
||||
quick_gift_reminder.setVisibility(View.GONE);
|
||||
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
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,6 +1561,12 @@ 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);
|
||||
quick_gift_reminder = findViewById(R.id.quick_gift_reminder);
|
||||
pa_pao_layout.setVisibility(View.GONE);
|
||||
combo_layout.setVisibility(View.GONE);
|
||||
|
||||
}
|
||||
|
||||
@@ -1730,8 +1824,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 = "";
|
||||
@@ -2446,11 +2544,11 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
* @param rank 小时榜
|
||||
*/
|
||||
public void setHourRankData(long rank) {
|
||||
if (mHourRank != null) {
|
||||
if (mHotText != null) {
|
||||
if (rank == 0) {
|
||||
mHourRank.setText(R.string.no_rank_data);
|
||||
mHotText.setText(R.string.no_rank_data);
|
||||
} else {
|
||||
mHourRank.setText(String.format(mContext.getString(R.string.hour_rank), formatBigNum.formatBigNum(rank + "")));
|
||||
mHotText.setText(String.format(mContext.getString(R.string.hour_rank), formatBigNum.formatBigNum(rank + "")));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2470,12 +2568,14 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
* @param hot 热度值
|
||||
*/
|
||||
public void setHotData(String hot) {
|
||||
if (mHotText != null && !TextUtils.isEmpty(hot)) {
|
||||
mHotText.setText(hot);
|
||||
if (mHourRank != null && !TextUtils.isEmpty(hot)) {
|
||||
mHourRank.setText(hot);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void setHotNum(String hotNum) {
|
||||
setHotData(formatBigNum.formatBigNum(hotNum));
|
||||
}
|
||||
/**
|
||||
* 更新心愿单进度
|
||||
*
|
||||
@@ -3987,6 +4087,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);
|
||||
|
||||
@@ -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,34 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
||||
}
|
||||
}
|
||||
|
||||
public void onQuickGifting(int index, String svgaName) {
|
||||
if (mLiveRoomViewHolder != null) {
|
||||
mLiveRoomViewHolder.onQuickGifting(index, svgaName);
|
||||
}
|
||||
}
|
||||
|
||||
public void onQuickGifting2(boolean show) {
|
||||
if (mLiveRoomViewHolder != null) {
|
||||
mLiveRoomViewHolder.onQuickGifting2(show);
|
||||
}
|
||||
}
|
||||
|
||||
public void onQuickGifting3() {
|
||||
if (mLiveRoomViewHolder != null) {
|
||||
mLiveRoomViewHolder.onQuickGifting3();
|
||||
}
|
||||
}
|
||||
|
||||
public void setGiftRemainingQuantity(String giftRemainingQuantity) {
|
||||
if (mLiveAudienceViewHolder!=null){
|
||||
mLiveAudienceViewHolder.setGiftRemainingQuantity(giftRemainingQuantity);
|
||||
}
|
||||
}
|
||||
public void setHotNum(String hotNum) {
|
||||
if (mLiveRoomViewHolder!=null){
|
||||
mLiveRoomViewHolder.setHotNum(hotNum);
|
||||
}
|
||||
}
|
||||
public PortraitLiveManager(Activity context, Intent intent) {
|
||||
this.mContext = context;
|
||||
this.mIntent = intent;
|
||||
@@ -386,6 +415,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
||||
}
|
||||
});
|
||||
mLiveRoomViewHolder.resetView();
|
||||
mLiveAudienceViewHolder.resetView();
|
||||
enterRoomModel.clear();
|
||||
enterRoomLeaveHandler.removeCallbacks(enterRoomLeaveRunnable);
|
||||
mLiveRoomViewHolder.setAvatar(data.getAvatar());
|
||||
@@ -726,6 +756,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
||||
mLiveRoomViewHolder.setSudName(WordUtil.isNewZh() ? data.getSudGameDateModel().getSudGameName() : data.getSudGameDateModel().getSud_game_name_en(), data.getSudGameDateModel());
|
||||
}
|
||||
}
|
||||
mLiveAudienceViewHolder.upDataQuickGift(data.getQuickGiftRemainingQuantity(), data.getIfViewingDurationComplete());
|
||||
|
||||
}
|
||||
|
||||
@@ -832,8 +863,8 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
||||
mLivePlayViewHolder.release();
|
||||
}
|
||||
if (mLiveRoomViewHolder != null) {
|
||||
mLiveRoomViewHolder.removeFromParent();
|
||||
mLiveRoomViewHolder.clearData();
|
||||
mLiveRoomViewHolder.removeFromParent();
|
||||
mLiveRoomViewHolder.countDownTimerTrickery = null;
|
||||
}
|
||||
|
||||
@@ -932,7 +963,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();
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical">
|
||||
|
||||
<RelativeLayout
|
||||
@@ -345,11 +345,11 @@
|
||||
<!--整蛊-->
|
||||
<ImageView
|
||||
android:id="@+id/live_cheat"
|
||||
android:visibility="gone"
|
||||
android:layout_width="35dp"
|
||||
android:layout_height="35dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:src="@mipmap/icon_prank" />
|
||||
android:src="@mipmap/icon_prank"
|
||||
android:visibility="gone" />
|
||||
<!--玩-->
|
||||
<ImageView
|
||||
android:id="@+id/live_play"
|
||||
@@ -384,31 +384,74 @@
|
||||
android:background="@drawable/background_ff5075"
|
||||
android:visibility="invisible" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_marginEnd="8dp">
|
||||
|
||||
<com.yunbao.common.views.weight.CircleProgress2
|
||||
android:id="@+id/circleProgress"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/pd_pao"
|
||||
android:layout_width="27dp"
|
||||
|
||||
android:layout_height="27dp"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:src="@mipmap/icon_pd_pao" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/time_text"
|
||||
android:layout_width="27dp"
|
||||
android:layout_height="27dp"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:background="@drawable/backgroud_panda_time"
|
||||
android:gravity="center"
|
||||
android:text="120S"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="10sp"
|
||||
android:visibility="gone" />
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/combo"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:src="@mipmap/icon_combo"
|
||||
android:visibility="gone" />
|
||||
</RelativeLayout>
|
||||
|
||||
<!--礼物-->
|
||||
<ImageView
|
||||
android:id="@+id/gift_image"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:background="@drawable/background_gift"
|
||||
/>
|
||||
android:background="@drawable/background_gift" />
|
||||
<!--特权-->
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp">
|
||||
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/live_privilege"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:src="@mipmap/icon_privilege"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:src="@mipmap/icon_privilege" />
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<View
|
||||
android:id="@+id/privilege_red_point"
|
||||
android:layout_width="10dp"
|
||||
@@ -433,10 +476,6 @@
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="100dp"
|
||||
@@ -455,6 +494,18 @@
|
||||
android:visibility="gone" />
|
||||
</RelativeLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/quick_gift_remaining_quantity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginEnd="150dp"
|
||||
android:layout_marginBottom="-2dp"
|
||||
android:text="99"
|
||||
android:textColor="#FFB403"
|
||||
android:textSize="8sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
@@ -2484,13 +2484,13 @@
|
||||
android:layout_height="40dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:background="@drawable/background_live_sud_hint"
|
||||
android:gravity="center"
|
||||
android:layout_marginStart="21dp"
|
||||
android:layout_marginEnd="42dp"
|
||||
android:background="@drawable/background_live_sud_hint"
|
||||
android:gravity="center"
|
||||
android:paddingStart="21dp"
|
||||
android:visibility="gone"
|
||||
android:paddingEnd="15dp">
|
||||
android:paddingEnd="15dp"
|
||||
android:visibility="gone">
|
||||
|
||||
<com.yunbao.common.views.weight.MarqueeTextView
|
||||
android:id="@+id/sud_text_name"
|
||||
@@ -2501,8 +2501,47 @@
|
||||
android:singleLine="true"
|
||||
android:text="主播創建了【游戲名】房間,快來與主播同玩~"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp"
|
||||
/>
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/pa_pao_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="384dp"
|
||||
android:layout_alignParentBottom="true" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/combo_layout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginStart="220dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/combo"
|
||||
android:textColor="#FFDD25"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/combo_number"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="1"
|
||||
android:textColor="#FFDD25"
|
||||
android:textSize="45sp"
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/quick_gift_reminder"
|
||||
android:layout_width="63dp"
|
||||
android:layout_height="72dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginEnd="125dp"
|
||||
android:src="@mipmap/background_quick_gift_reminder"
|
||||
android:visibility="gone" />
|
||||
</RelativeLayout>
|
||||
|
||||
Reference in New Issue
Block a user