16a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvistpackage com.android.server.wifi.anqp;
26a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist
36a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvistimport java.net.ProtocolException;
46a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvistimport java.nio.ByteBuffer;
56a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvistimport java.util.ArrayList;
66a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvistimport java.util.Collections;
76a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvistimport java.util.List;
86a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist
96a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist/**
106a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist * The Operator Friendly Name vendor specific ANQP Element,
116a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist * Wi-Fi Alliance Hotspot 2.0 (Release 2) Technical Specification - Version 5.00,
126a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist * section 4.3
136a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist */
146a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvistpublic class HSFriendlyNameElement extends ANQPElement {
156a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist    private final List<I18Name> mNames;
166a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist
176a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist    public HSFriendlyNameElement(Constants.ANQPElementType infoID, ByteBuffer payload)
186a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist            throws ProtocolException {
196a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist        super(infoID);
206a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist
216a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist        mNames = new ArrayList<I18Name>();
226a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist
236a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist        while (payload.hasRemaining()) {
246a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist            mNames.add(new I18Name(payload));
256a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist        }
266a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist    }
276a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist
286a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist    public List<I18Name> getNames() {
296a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist        return Collections.unmodifiableList(mNames);
306a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist    }
316a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist
326a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist    @Override
336a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist    public String toString() {
3477f2b82a2e80af8da52c22d69a76def6d4209757Jan Nordqvist        return "HSFriendlyName{" +
356a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist                "mNames=" + mNames +
366a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist                '}';
376a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist    }
386a3903fed590e369b576bddbe1ae2d788768ddfeJan Nordqvist}
39