package com.android.server.wifi.anqp; import java.net.ProtocolException; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * The Domain Name ANQP Element, IEEE802.11-2012 section 8.4.4.15 */ public class DomainNameElement extends ANQPElement { private final List mDomains; public DomainNameElement(Constants.ANQPElementType infoID, ByteBuffer payload) throws ProtocolException { super(infoID); mDomains = new ArrayList<>(); while (payload.hasRemaining()) { // Use latin-1 to decode for now - safe for ASCII and retains encoding mDomains.add(Constants.getPrefixedString(payload, 1, StandardCharsets.ISO_8859_1)); } } public List getDomains() { return Collections.unmodifiableList(mDomains); } @Override public String toString() { return "DomainName{" + "mDomains=" + mDomains + '}'; } }