diff --git a/app/src/main/java/com/mango/moshen/ui/widget/GiftDialog.java b/app/src/main/java/com/mango/moshen/ui/widget/GiftDialog.java index 3ab4f6f59..e1f137ea0 100644 --- a/app/src/main/java/com/mango/moshen/ui/widget/GiftDialog.java +++ b/app/src/main/java/com/mango/moshen/ui/widget/GiftDialog.java @@ -419,6 +419,7 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene tabInfoList.add(new GiftTab(GiftIndicator.TYPE_LUCKY, "幸运", "幸运")); tabInfoList.add(new GiftTab(GiftIndicator.TYPE_NOBLE, "贵族", "贵族")); tabInfoList.add(new GiftTab(GiftIndicator.TYPE_WEEK, "周星", "周星")); + tabInfoList.add(new GiftTab(GiftIndicator.TYPE_SING_ROOM, "人气", "人气")); tabInfoList.add(new GiftTab(GiftIndicator.TYPE_DRAW_GIFT, "涂鸦礼物", "涂鸦礼物")); tabInfoList.add(new GiftTab(GiftIndicator.TYPE_KNAP, "背包", "背包")); giftIndicator = findViewById(R.id.gift_indicator); @@ -646,6 +647,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(); } //是否背包礼物 final boolean isKnap = (position == GiftIndicator.TYPE_KNAP); @@ -1061,6 +1064,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); } @@ -1320,6 +1329,11 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene giftIndicator.showPosition(GiftIndicator.TYPE_NOBLE); giftIndicator.showPosition(GiftIndicator.TYPE_WEEK); giftIndicator.showPosition(GiftIndicator.TYPE_NORMAL); + if (AvRoomDataManager.get().isSingleRoom()) { + giftIndicator.showPosition(GiftIndicator.TYPE_SING_ROOM); + } else { + giftIndicator.hidePosition(GiftIndicator.TYPE_SING_ROOM); + } giftIndicator.setPosition(position); updateGiftView(giftIndicator.getCurrrentType(), selectGiftInfo); @@ -1337,6 +1351,7 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene giftIndicator.hidePosition(GiftIndicator.TYPE_NOBLE); giftIndicator.hidePosition(GiftIndicator.TYPE_WEEK); giftIndicator.hidePosition(GiftIndicator.TYPE_NORMAL); + giftIndicator.hidePosition(GiftIndicator.TYPE_SING_ROOM); giftIndicator.setPosition(GiftIndicator.TYPE_DRAW_GIFT); updateGiftView(giftIndicator.getCurrrentType()); diff --git a/app/src/main/java/com/mango/moshen/ui/widget/magicindicator/GiftIndicator.java b/app/src/main/java/com/mango/moshen/ui/widget/magicindicator/GiftIndicator.java index 9f7ea8909..73033915a 100644 --- a/app/src/main/java/com/mango/moshen/ui/widget/magicindicator/GiftIndicator.java +++ b/app/src/main/java/com/mango/moshen/ui/widget/magicindicator/GiftIndicator.java @@ -61,6 +61,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<>(); private List tabList = new ArrayList<>(); @Getter diff --git a/core/src/main/java/com/mango/core/gift/GiftModel.java b/core/src/main/java/com/mango/core/gift/GiftModel.java index 84262b485..3b5c79de3 100644 --- a/core/src/main/java/com/mango/core/gift/GiftModel.java +++ b/core/src/main/java/com/mango/core/gift/GiftModel.java @@ -197,6 +197,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; } @@ -571,6 +574,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/mango/core/gift/bean/GiftListInfo.java b/core/src/main/java/com/mango/core/gift/bean/GiftListInfo.java index fe1af09cf..504f0738c 100644 --- a/core/src/main/java/com/mango/core/gift/bean/GiftListInfo.java +++ b/core/src/main/java/com/mango/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/mango/core/gift/bean/GiftType.java b/core/src/main/java/com/mango/core/gift/bean/GiftType.java index b279faf1e..ee2a2ad1a 100644 --- a/core/src/main/java/com/mango/core/gift/bean/GiftType.java +++ b/core/src/main/java/com/mango/core/gift/bean/GiftType.java @@ -38,4 +38,6 @@ 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; }