diff --git a/app/src/main/java/com/chwl/app/ui/widget/GiftDialog.java b/app/src/main/java/com/chwl/app/ui/widget/GiftDialog.java index 01512499d..192485abe 100644 --- a/app/src/main/java/com/chwl/app/ui/widget/GiftDialog.java +++ b/app/src/main/java/com/chwl/app/ui/widget/GiftDialog.java @@ -408,6 +408,7 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene tabInfoList.add(new GiftTab(GiftIndicator.TYPE_NOBLE, ResUtil.getString(R.string.ui_widget_giftdialog_05), ResUtil.getString(R.string.ui_widget_giftdialog_06))); tabInfoList.add(new GiftTab(GiftIndicator.TYPE_WEEK, ResUtil.getString(R.string.ui_widget_giftdialog_07), ResUtil.getString(R.string.ui_widget_giftdialog_08))); // tabInfoList.add(new GiftTab(GiftIndicator.TYPE_DRAW_GIFT, ResUtil.getString(R.string.ui_widget_giftdialog_09), ResUtil.getString(R.string.ui_widget_giftdialog_010))); + tabInfoList.add(new GiftTab(GiftIndicator.TYPE_SING_ROOM, ResUtil.getString(R.string.ui_widget_giftdialog_hot), ResUtil.getString(R.string.ui_widget_giftdialog_hot))); tabInfoList.add(new GiftTab(GiftIndicator.TYPE_KNAP, ResUtil.getString(R.string.ui_widget_giftdialog_011), ResUtil.getString(R.string.ui_widget_giftdialog_012))); giftIndicator = root.findViewById(R.id.gift_indicator); giftIndicator.initTab( @@ -492,6 +493,11 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene giftIndicator.setPosition(indicatorType); updateGiftView(giftIndicator.getCurrrentType(), giftInfo); } + if (AvRoomDataManager.get().isSingleRoom()) { + giftIndicator.showPosition(GiftIndicator.TYPE_SING_ROOM); + } else { + giftIndicator.hidePosition(GiftIndicator.TYPE_SING_ROOM); + } View descLayout = root.findViewById(R.id.desc_layout); @@ -620,6 +626,8 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene currentGiftInfoList = getWeekStarGiftInfos(); } else if (position == GiftIndicator.TYPE_DRAW_GIFT) { currentGiftInfoList = getDrawGiftInfos(); + } else if (position == GiftIndicator.TYPE_SING_ROOM) { + currentGiftInfoList = getSingleRoomGiftInfos(); } // 有贵族礼物才显示贵族礼物的tab if (ListUtils.isListEmpty(nobleGiftInfos)) { @@ -643,6 +651,7 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene showEmptyView(); } else if (position == GiftIndicator.TYPE_LUCKY || position == GiftIndicator.TYPE_WEEK || + position == GiftIndicator.TYPE_SING_ROOM || position == GiftIndicator.TYPE_DRAW_GIFT) { showEmptyView(); updateWeekStarDesc(); @@ -1093,6 +1102,12 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene GiftType.GIFT_TYPE_DRAW_GIFT); } + private List getSingleRoomGiftInfos() { + return GiftModel.get().getGiftInfosByType( + String.valueOf(AvRoomDataManager.get().getRoomUid()), + GiftType.GIFT_TYPE_SINGLE_ROOM); + } + private List getNobleGiftInfos() { return GiftModel.get().getGiftInfoList(GiftType.GIFT_TYPE_VIP); } diff --git a/app/src/main/java/com/chwl/app/ui/widget/magicindicator/GiftIndicator.java b/app/src/main/java/com/chwl/app/ui/widget/magicindicator/GiftIndicator.java index 7ab4ccb12..4d5c80884 100644 --- a/app/src/main/java/com/chwl/app/ui/widget/magicindicator/GiftIndicator.java +++ b/app/src/main/java/com/chwl/app/ui/widget/magicindicator/GiftIndicator.java @@ -48,6 +48,11 @@ public class GiftIndicator extends LinearLayout { /**背包礼物*/ public static final int TYPE_KNAP = 5; + + /**个播人气礼物*/ + public static final int TYPE_SING_ROOM = 6; + + private Map map = new HashMap<>(); public GiftIndicator(Context context, @Nullable AttributeSet attrs) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7d86d213c..351bfaa23 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2738,6 +2738,7 @@ 塗鴉 塗鴉 背包 + 人氣 背包 虛位以待 虛位以待 diff --git a/core/src/main/java/com/chwl/core/gift/GiftModel.java b/core/src/main/java/com/chwl/core/gift/GiftModel.java index 165d44976..68290271a 100644 --- a/core/src/main/java/com/chwl/core/gift/GiftModel.java +++ b/core/src/main/java/com/chwl/core/gift/GiftModel.java @@ -207,6 +207,9 @@ public class GiftModel extends BaseModel implements IGiftModel { case GiftType.GIFT_TYPE_DRAW_GIFT: giftInfos = allGiftListInfo.getDrawGift(); break; + case GiftType.GIFT_TYPE_SINGLE_ROOM: + giftInfos = allGiftListInfo.getSinglePopularGift(); + break; } return giftInfos == null ? new ArrayList<>() : giftInfos; } @@ -581,6 +584,9 @@ public class GiftModel extends BaseModel implements IGiftModel { if (giftInfo == null) { giftInfo = findGiftInfoById(allGiftListInfo.getDrawGift(), giftId); } + if (giftInfo == null) { + giftInfo = findGiftInfoById(allGiftListInfo.getSinglePopularGift(), giftId); + } } return giftInfo; } diff --git a/core/src/main/java/com/chwl/core/gift/bean/GiftListInfo.java b/core/src/main/java/com/chwl/core/gift/bean/GiftListInfo.java index c2488b39b..8e512bcc6 100644 --- a/core/src/main/java/com/chwl/core/gift/bean/GiftListInfo.java +++ b/core/src/main/java/com/chwl/core/gift/bean/GiftListInfo.java @@ -17,6 +17,7 @@ public class GiftListInfo implements Serializable { private List luckyPoolGift; private List weekStarGift; private List drawGift; + private List singlePopularGift; private String giftVersion; } diff --git a/core/src/main/java/com/chwl/core/gift/bean/GiftType.java b/core/src/main/java/com/chwl/core/gift/bean/GiftType.java index 7097b467c..f4c3bc23e 100644 --- a/core/src/main/java/com/chwl/core/gift/bean/GiftType.java +++ b/core/src/main/java/com/chwl/core/gift/bean/GiftType.java @@ -38,4 +38,7 @@ public class GiftType { public static final int GIFT_TYPE_WEEK_STAR = 8; public static final int GIFT_TYPE_DRAW_GIFT = 10; + + public static final int GIFT_TYPE_SINGLE_ROOM = 11; + }