(ChatMessageInfo chatMessageInfo, List<MessageBadge> originalBadges)
| 32 | * Appends our badges to the list of badges if the user has any |
| 33 | */ |
| 34 | public static void appendToBadges(ChatMessageInfo chatMessageInfo, List<MessageBadge> originalBadges) { |
| 35 | String userId = String.valueOf(chatMessageInfo.getUserInfo().getUserId()); |
| 36 | |
| 37 | List<BTTVBadge> ourBadges = userToBadgesMap.get(userId); |
| 38 | |
| 39 | if (ourBadges == null) { |
| 40 | Log.d(TAG, "appendToBadges(" + userId + "): ourBadges: null"); |
| 41 | return; |
| 42 | } |
| 43 | |
| 44 | Log.d(TAG, "appendToBadges(" + userId + "): ourBadges: " + Arrays.toString(ourBadges.toArray())); |
| 45 | |
| 46 | // FFZ supports overwriting badges, so we might have to remove badges from the list later |
| 47 | ArrayList<String> keysToRemove = new ArrayList<>(1); |
| 48 | |
| 49 | // Add new MessageBadges to list |
| 50 | for (int i = 0; i < ourBadges.size(); i++) { |
| 51 | BTTVBadge badge = ourBadges.get(i); |
| 52 | originalBadges.add(new MessageBadge(userId + "-" + i, BADGE_VERSION)); |
| 53 | if (badge.removes != null) { |
| 54 | keysToRemove.add(badge.removes); |
| 55 | } |
| 56 | } |
| 57 | |
| 58 | // Remove overwritten badges |
| 59 | for (String key : keysToRemove) { |
| 60 | MessageBadge target = null; |
| 61 | for (MessageBadge badge : originalBadges) { |
| 62 | if (badge.component1().equalsIgnoreCase(key)) { |
| 63 | target = badge; |
| 64 | break; |
| 65 | } |
| 66 | } |
| 67 | if (target != null) { |
| 68 | originalBadges.remove(target); |
| 69 | } |
| 70 | } |
| 71 | } |
| 72 | |
| 73 | public static String getUrl(int _channelId, String badgeName, String badgeVersion) { |
| 74 | Log.d(TAG, "getUrl(" + badgeName + "): badgeVersion: " + badgeVersion); |
nothing calls this directly
no test coverage detected