diff --git a/src/main/java/bubble/abp/BlockList.java b/src/main/java/bubble/abp/BlockList.java index 7a1f5b8..670f9cd 100644 --- a/src/main/java/bubble/abp/BlockList.java +++ b/src/main/java/bubble/abp/BlockList.java @@ -92,12 +92,19 @@ public class BlockList { return whitelist.stream().filter(BlockSpec::hasNoSelector).collect(Collectors.toSet()); } + public Set getWhitelistDomainNames() { + return getWhitelistDomains().stream() + .filter(m -> m.getTarget().hasFullDomainBlock() || m.getTarget().hasPartialDomainBlock()) + .map(m -> m.getTarget().hasFullDomainBlock() ? m.getTarget().getFullDomainBlock() : m.getTarget().getPartialDomainBlock()) + .collect(Collectors.toSet()); + } + @JsonIgnore public Set getFullyBlockedDomains() { final Set blockedDomains = new HashSet<>(); final Set whitelistDomains = getWhitelistDomains(); for (BlockSpec spec : getBlacklistDomains()) { if (whitelistDomains.contains(spec) || !spec.getTarget().hasFullDomainBlock()) continue; - blockedDomains.add(spec.getTarget().getFullDomainBlock()); + if (!spec.getTarget().hasConditions()) blockedDomains.add(spec.getTarget().getFullDomainBlock()); } return blockedDomains; }