blob: 15ed8c663eb872bf5347263a1d99a6a5052ff507 [file] [log] [blame]
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 OSU Providers List vendor specific ANQP Element,
* Wi-Fi Alliance Hotspot 2.0 (Release 2) Technical Specification - Version 5.00,
* section 4.8
*/
public class HSOsuProvidersElement extends ANQPElement {
private final String mSSID;
private final List<OSUProvider> mProviders;
public HSOsuProvidersElement(Constants.ANQPElementType infoID, ByteBuffer payload)
throws ProtocolException {
super(infoID);
mSSID = Constants.getPrefixedString(payload, 1, StandardCharsets.UTF_8);
int providerCount = payload.get() & Constants.BYTE_MASK;
mProviders = new ArrayList<OSUProvider>(providerCount);
while (providerCount > 0) {
mProviders.add(new OSUProvider(payload));
providerCount--;
}
}
public String getSSID() {
return mSSID;
}
public List<OSUProvider> getProviders() {
return Collections.unmodifiableList(mProviders);
}
@Override
public String toString() {
return "HSOsuProviders{" +
"mSSID='" + mSSID + '\'' +
", mProviders=" + mProviders +
'}';
}
}