Loading common/moduleutils/src/android/net/shared/ProvisioningConfiguration.java +28 −5 Original line number Diff line number Diff line Loading @@ -231,7 +231,11 @@ public class ProvisioningConfiguration { * InformationElements fields of ScanResult. */ public static class ScanResultInfo { @NonNull private final String mSsid; @NonNull private final String mBssid; @NonNull private final List<InformationElement> mInformationElements; /** Loading @@ -240,6 +244,7 @@ public class ProvisioningConfiguration { */ public static class InformationElement { private final int mId; @NonNull private final byte[] mPayload; public InformationElement(int id, @NonNull ByteBuffer payload) { Loading @@ -257,6 +262,7 @@ public class ProvisioningConfiguration { /** * Get the specific content of the information element. */ @NonNull public ByteBuffer getPayload() { return ByteBuffer.wrap(mPayload).asReadOnlyBuffer(); } Loading Loading @@ -293,6 +299,7 @@ public class ProvisioningConfiguration { * Create an instance of {@link InformationElement} based on the contents of the * specified {@link InformationElementParcelable}. */ @Nullable public static InformationElement fromStableParcelable(InformationElementParcelable p) { if (p == null) return null; return new InformationElement(p.id, Loading @@ -300,8 +307,12 @@ public class ProvisioningConfiguration { } } public ScanResultInfo(String ssid, @NonNull List<InformationElement> informationElements) { public ScanResultInfo(@NonNull String ssid, @NonNull String bssid, @NonNull List<InformationElement> informationElements) { Objects.requireNonNull(ssid, "ssid must not be null."); Objects.requireNonNull(bssid, "bssid must not be null."); mSsid = ssid; mBssid = bssid; mInformationElements = Collections.unmodifiableList(new ArrayList<>(informationElements)); } Loading @@ -309,13 +320,23 @@ public class ProvisioningConfiguration { /** * Get the scanned network name. */ @NonNull public String getSsid() { return mSsid; } /** * Get the address of the access point. */ @NonNull public String getBssid() { return mBssid; } /** * Get all information elements found in the beacon. */ @NonNull public List<InformationElement> getInformationElements() { return mInformationElements; } Loading @@ -324,6 +345,7 @@ public class ProvisioningConfiguration { public String toString() { StringBuffer str = new StringBuffer(); str.append("SSID: ").append(mSsid); str.append(", BSSID: ").append(mBssid); str.append(", Information Elements: {"); for (InformationElement ie : mInformationElements) { str.append("[").append(ie.toString()).append("]"); Loading @@ -338,12 +360,13 @@ public class ProvisioningConfiguration { if (!(o instanceof ScanResultInfo)) return false; ScanResultInfo other = (ScanResultInfo) o; return Objects.equals(mSsid, other.mSsid) && Objects.equals(mBssid, other.mBssid) && mInformationElements.equals(other.mInformationElements); } @Override public int hashCode() { return Objects.hash(mSsid, mInformationElements); return Objects.hash(mSsid, mBssid, mInformationElements); } /** Loading @@ -352,6 +375,7 @@ public class ProvisioningConfiguration { public ScanResultInfoParcelable toStableParcelable() { final ScanResultInfoParcelable p = new ScanResultInfoParcelable(); p.ssid = mSsid; p.bssid = mBssid; p.informationElements = toParcelableArray(mInformationElements, InformationElement::toStableParcelable, InformationElementParcelable.class); return p; Loading @@ -366,11 +390,10 @@ public class ProvisioningConfiguration { final List<InformationElement> ies = new ArrayList<InformationElement>(); ies.addAll(fromParcelableArray(p.informationElements, InformationElement::fromStableParcelable)); return new ScanResultInfo(p.ssid, ies); return new ScanResultInfo(p.ssid, p.bssid, ies); } private static byte[] convertToByteArray(final ByteBuffer buffer) { if (buffer == null) return null; private static byte[] convertToByteArray(@NonNull final ByteBuffer buffer) { final byte[] bytes = new byte[buffer.limit()]; final ByteBuffer copy = buffer.asReadOnlyBuffer(); try { Loading common/networkstackclient/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -71,7 +71,7 @@ aidl_interface { "src/android/net/TcpKeepalivePacketDataParcelable.aidl", "src/android/net/dhcp/DhcpLeaseParcelable.aidl", "src/android/net/dhcp/DhcpServingParamsParcel.aidl", "src/android/net/dhcp/IDhcpLeaseCallbacks.aidl", "src/android/net/dhcp/IDhcpEventCallbacks.aidl", "src/android/net/dhcp/IDhcpServer.aidl", "src/android/net/dhcp/IDhcpServerCallbacks.aidl", "src/android/net/ip/IIpClient.aidl", Loading common/networkstackclient/aidl_api/networkstack-aidl-interfaces/current/android/net/ScanResultInfoParcelable.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -18,5 +18,6 @@ package android.net; parcelable ScanResultInfoParcelable { String ssid; String bssid; android.net.InformationElementParcelable[] informationElements; } common/networkstackclient/aidl_api/networkstack-aidl-interfaces/current/android/net/dhcp/IDhcpLeaseCallbacks.aidl→common/networkstackclient/aidl_api/networkstack-aidl-interfaces/current/android/net/dhcp/IDhcpEventCallbacks.aidl +2 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.net.dhcp; interface IDhcpLeaseCallbacks { interface IDhcpEventCallbacks { oneway void onLeasesChanged(in List<android.net.dhcp.DhcpLeaseParcelable> newLeases); oneway void onNewPrefixRequest(in android.net.IpPrefix currentPrefix); } common/networkstackclient/aidl_api/networkstack-aidl-interfaces/current/android/net/dhcp/IDhcpServer.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ package android.net.dhcp; /* @hide */ interface IDhcpServer { oneway void start(in android.net.INetworkStackStatusCallback cb) = 0; oneway void startWithCallbacks(in android.net.INetworkStackStatusCallback statusCb, in android.net.dhcp.IDhcpLeaseCallbacks leaseCb) = 3; oneway void startWithCallbacks(in android.net.INetworkStackStatusCallback statusCb, in android.net.dhcp.IDhcpEventCallbacks eventCb) = 3; oneway void updateParams(in android.net.dhcp.DhcpServingParamsParcel params, in android.net.INetworkStackStatusCallback cb) = 1; oneway void stop(in android.net.INetworkStackStatusCallback cb) = 2; const int STATUS_UNKNOWN = 0; Loading Loading
common/moduleutils/src/android/net/shared/ProvisioningConfiguration.java +28 −5 Original line number Diff line number Diff line Loading @@ -231,7 +231,11 @@ public class ProvisioningConfiguration { * InformationElements fields of ScanResult. */ public static class ScanResultInfo { @NonNull private final String mSsid; @NonNull private final String mBssid; @NonNull private final List<InformationElement> mInformationElements; /** Loading @@ -240,6 +244,7 @@ public class ProvisioningConfiguration { */ public static class InformationElement { private final int mId; @NonNull private final byte[] mPayload; public InformationElement(int id, @NonNull ByteBuffer payload) { Loading @@ -257,6 +262,7 @@ public class ProvisioningConfiguration { /** * Get the specific content of the information element. */ @NonNull public ByteBuffer getPayload() { return ByteBuffer.wrap(mPayload).asReadOnlyBuffer(); } Loading Loading @@ -293,6 +299,7 @@ public class ProvisioningConfiguration { * Create an instance of {@link InformationElement} based on the contents of the * specified {@link InformationElementParcelable}. */ @Nullable public static InformationElement fromStableParcelable(InformationElementParcelable p) { if (p == null) return null; return new InformationElement(p.id, Loading @@ -300,8 +307,12 @@ public class ProvisioningConfiguration { } } public ScanResultInfo(String ssid, @NonNull List<InformationElement> informationElements) { public ScanResultInfo(@NonNull String ssid, @NonNull String bssid, @NonNull List<InformationElement> informationElements) { Objects.requireNonNull(ssid, "ssid must not be null."); Objects.requireNonNull(bssid, "bssid must not be null."); mSsid = ssid; mBssid = bssid; mInformationElements = Collections.unmodifiableList(new ArrayList<>(informationElements)); } Loading @@ -309,13 +320,23 @@ public class ProvisioningConfiguration { /** * Get the scanned network name. */ @NonNull public String getSsid() { return mSsid; } /** * Get the address of the access point. */ @NonNull public String getBssid() { return mBssid; } /** * Get all information elements found in the beacon. */ @NonNull public List<InformationElement> getInformationElements() { return mInformationElements; } Loading @@ -324,6 +345,7 @@ public class ProvisioningConfiguration { public String toString() { StringBuffer str = new StringBuffer(); str.append("SSID: ").append(mSsid); str.append(", BSSID: ").append(mBssid); str.append(", Information Elements: {"); for (InformationElement ie : mInformationElements) { str.append("[").append(ie.toString()).append("]"); Loading @@ -338,12 +360,13 @@ public class ProvisioningConfiguration { if (!(o instanceof ScanResultInfo)) return false; ScanResultInfo other = (ScanResultInfo) o; return Objects.equals(mSsid, other.mSsid) && Objects.equals(mBssid, other.mBssid) && mInformationElements.equals(other.mInformationElements); } @Override public int hashCode() { return Objects.hash(mSsid, mInformationElements); return Objects.hash(mSsid, mBssid, mInformationElements); } /** Loading @@ -352,6 +375,7 @@ public class ProvisioningConfiguration { public ScanResultInfoParcelable toStableParcelable() { final ScanResultInfoParcelable p = new ScanResultInfoParcelable(); p.ssid = mSsid; p.bssid = mBssid; p.informationElements = toParcelableArray(mInformationElements, InformationElement::toStableParcelable, InformationElementParcelable.class); return p; Loading @@ -366,11 +390,10 @@ public class ProvisioningConfiguration { final List<InformationElement> ies = new ArrayList<InformationElement>(); ies.addAll(fromParcelableArray(p.informationElements, InformationElement::fromStableParcelable)); return new ScanResultInfo(p.ssid, ies); return new ScanResultInfo(p.ssid, p.bssid, ies); } private static byte[] convertToByteArray(final ByteBuffer buffer) { if (buffer == null) return null; private static byte[] convertToByteArray(@NonNull final ByteBuffer buffer) { final byte[] bytes = new byte[buffer.limit()]; final ByteBuffer copy = buffer.asReadOnlyBuffer(); try { Loading
common/networkstackclient/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -71,7 +71,7 @@ aidl_interface { "src/android/net/TcpKeepalivePacketDataParcelable.aidl", "src/android/net/dhcp/DhcpLeaseParcelable.aidl", "src/android/net/dhcp/DhcpServingParamsParcel.aidl", "src/android/net/dhcp/IDhcpLeaseCallbacks.aidl", "src/android/net/dhcp/IDhcpEventCallbacks.aidl", "src/android/net/dhcp/IDhcpServer.aidl", "src/android/net/dhcp/IDhcpServerCallbacks.aidl", "src/android/net/ip/IIpClient.aidl", Loading
common/networkstackclient/aidl_api/networkstack-aidl-interfaces/current/android/net/ScanResultInfoParcelable.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -18,5 +18,6 @@ package android.net; parcelable ScanResultInfoParcelable { String ssid; String bssid; android.net.InformationElementParcelable[] informationElements; }
common/networkstackclient/aidl_api/networkstack-aidl-interfaces/current/android/net/dhcp/IDhcpLeaseCallbacks.aidl→common/networkstackclient/aidl_api/networkstack-aidl-interfaces/current/android/net/dhcp/IDhcpEventCallbacks.aidl +2 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.net.dhcp; interface IDhcpLeaseCallbacks { interface IDhcpEventCallbacks { oneway void onLeasesChanged(in List<android.net.dhcp.DhcpLeaseParcelable> newLeases); oneway void onNewPrefixRequest(in android.net.IpPrefix currentPrefix); }
common/networkstackclient/aidl_api/networkstack-aidl-interfaces/current/android/net/dhcp/IDhcpServer.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ package android.net.dhcp; /* @hide */ interface IDhcpServer { oneway void start(in android.net.INetworkStackStatusCallback cb) = 0; oneway void startWithCallbacks(in android.net.INetworkStackStatusCallback statusCb, in android.net.dhcp.IDhcpLeaseCallbacks leaseCb) = 3; oneway void startWithCallbacks(in android.net.INetworkStackStatusCallback statusCb, in android.net.dhcp.IDhcpEventCallbacks eventCb) = 3; oneway void updateParams(in android.net.dhcp.DhcpServingParamsParcel params, in android.net.INetworkStackStatusCallback cb) = 1; oneway void stop(in android.net.INetworkStackStatusCallback cb) = 2; const int STATUS_UNKNOWN = 0; Loading