fix whitelists
Some checks failed
/ build_release (push) Has been cancelled

This commit is contained in:
Failure 2025-08-15 12:12:06 -07:00
parent d73dbfba11
commit 09f78c6240

View file

@ -36,6 +36,7 @@ public class TaggerModel extends AbstractTableModel {
private int recentSortedColumn; private int recentSortedColumn;
private boolean recentAscending; private boolean recentAscending;
private Runnable doSort; private Runnable doSort;
private int whitelistCount = 0;
public TaggerModel(Runnable sortFn) { public TaggerModel(Runnable sortFn) {
@ -57,8 +58,10 @@ public class TaggerModel extends AbstractTableModel {
public void clear() { public void clear() {
view = TagRepository.instance.getAllTags(); view = TagRepository.instance.getAllTags();
filtered.clear();
this.whitelist.clear(); this.whitelist.clear();
this.blacklist.clear(); this.blacklist.clear();
fireTableDataChanged();
doSort.run(); doSort.run();
} }
@ -188,17 +191,32 @@ public class TaggerModel extends AbstractTableModel {
public Set<String> buildWhitelist() { public Set<String> buildWhitelist() {
whitelist.clear(); whitelist.clear();
whitelistCount = 0;
// whitelists are a bit weird, each one needs to reduce the next
Set<String> temp = new HashSet<String>();
boolean fresh = true;
for (String key : filtered.keySet()) { for (String key : filtered.keySet()) {
temp.clear();
if (filtered.get(key)) { if (filtered.get(key)) {
whitelistCount++;
for (CardInfo card : TagRepository.instance.getCardsByTagId(key)) { for (CardInfo card : TagRepository.instance.getCardsByTagId(key)) {
whitelist.add(card.getName()); temp.add(card.getName());
} }
if (fresh) {
whitelist.addAll(temp);
} else {
whitelist.retainAll(temp);
}
fresh = false;
} }
} }
return whitelist; return whitelist;
} }
public Set<String> buildBlacklist() { public Set<String> buildBlacklist() {
blacklist.clear(); blacklist.clear();
for (String key : filtered.keySet()) { for (String key : filtered.keySet()) {