Add visibility modifying helper method in AccountBadge

This commit is contained in:
Ehren Kret 2021-09-20 16:37:28 -05:00
parent 3172b571c6
commit 5c1cde1b28
2 changed files with 13 additions and 8 deletions

View File

@ -484,10 +484,7 @@ public class ProfileController {
// reordering or making visible existing badges
if (existingBadges.containsKey(badgeId)) {
AccountBadge accountBadge = existingBadges.get(badgeId);
if (!accountBadge.isVisible()) {
accountBadge = new AccountBadge(badgeId, accountBadge.getExpiration(), true);
}
AccountBadge accountBadge = existingBadges.get(badgeId).withVisibility(true);
result.put(badgeId, accountBadge);
}
}
@ -495,10 +492,7 @@ public class ProfileController {
// take any remaining account badges and make them invisible
for (final Entry<String, AccountBadge> entry : existingBadges.entrySet()) {
if (!result.containsKey(entry.getKey())) {
AccountBadge accountBadge = entry.getValue();
if (accountBadge.isVisible()) {
accountBadge = new AccountBadge(accountBadge.getId(), accountBadge.getExpiration(), false);
}
AccountBadge accountBadge = entry.getValue().withVisibility(false);
result.put(accountBadge.getId(), accountBadge);
}
}

View File

@ -52,6 +52,17 @@ public class AccountBadge {
);
}
public AccountBadge withVisibility(boolean visible) {
if (this.visible == visible) {
return this;
} else {
return new AccountBadge(
this.id,
this.expiration,
visible);
}
}
public String getId() {
return id;
}