16a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvistpackage com.android.server.wifi.anqp;
26a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist
36a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvistimport java.net.ProtocolException;
46a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvistimport java.nio.ByteBuffer;
56a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvistimport java.nio.charset.StandardCharsets;
66a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvistimport java.util.ArrayList;
76a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvistimport java.util.List;
86a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist
96a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist/**
106a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist * The Emergency Number ANQP Element, IEEE802.11-2012 section 8.4.4.5
116a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist */
126a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvistpublic class EmergencyNumberElement extends ANQPElement {
136a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist    private final List<String> mNumbers;
146a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist
156a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist    public EmergencyNumberElement(Constants.ANQPElementType infoID, ByteBuffer payload)
166a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist            throws ProtocolException {
176a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist        super(infoID);
186a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist
196a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist        mNumbers = new ArrayList<String>();
206a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist
216a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist        while (payload.hasRemaining()) {
226a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist            mNumbers.add(Constants.getPrefixedString(payload, 1, StandardCharsets.UTF_8));
236a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist        }
246a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist    }
256a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist
266a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist    public List<String> getNumbers() {
276a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist        return mNumbers;
286a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist    }
296a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist
306a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist    @Override
316a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist    public String toString() {
3277f2b82a2e80af8da52c22d69a76def6d4209757Jan Nordqvist        return "EmergencyNumber{" +
336a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist                "mNumbers=" + mNumbers +
346a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist                '}';
356a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist    }
366a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist}
37