From 755356f449deef172d291515350949437275b67a Mon Sep 17 00:00:00 2001 From: junyulai Date: Thu, 28 Jan 2021 21:19:32 +0800 Subject: [PATCH] [FUI20] Expose UnderlyingNetworkInfo as system Api Test: atest android.net.UnderlyingNetworkInfoTest Bug: 174123988 Change-Id: Id602fbe744669f472d27fb466d00dcc601bd8f17 --- core/api/module-lib-current.txt | 10 ++++++++++ core/java/android/net/UnderlyingNetworkInfo.java | 7 ++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt index 854e8fd8a6f6f..ab9799ff62724 100644 --- a/core/api/module-lib-current.txt +++ b/core/api/module-lib-current.txt @@ -61,6 +61,16 @@ package android.net { method public void teardownTestNetwork(@NonNull android.net.Network); } + public final class UnderlyingNetworkInfo implements android.os.Parcelable { + ctor public UnderlyingNetworkInfo(int, @NonNull String, @NonNull java.util.List); + method public int describeContents(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator CREATOR; + field @NonNull public final String iface; + field public final int ownerUid; + field @NonNull public final java.util.List underlyingIfaces; + } + } package android.os { diff --git a/core/java/android/net/UnderlyingNetworkInfo.java b/core/java/android/net/UnderlyingNetworkInfo.java index 8fb4832e06c8e..7bf9231239105 100644 --- a/core/java/android/net/UnderlyingNetworkInfo.java +++ b/core/java/android/net/UnderlyingNetworkInfo.java @@ -16,11 +16,15 @@ package android.net; +import static android.annotation.SystemApi.Client.MODULE_LIBRARIES; + import android.annotation.NonNull; +import android.annotation.SystemApi; import android.os.Parcel; import android.os.Parcelable; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Objects; @@ -30,6 +34,7 @@ import java.util.Objects; * * @hide */ +@SystemApi(client = MODULE_LIBRARIES) public final class UnderlyingNetworkInfo implements Parcelable { /** The owner of this network. */ public final int ownerUid; @@ -46,7 +51,7 @@ public final class UnderlyingNetworkInfo implements Parcelable { Objects.requireNonNull(underlyingIfaces); this.ownerUid = ownerUid; this.iface = iface; - this.underlyingIfaces = underlyingIfaces; + this.underlyingIfaces = Collections.unmodifiableList(new ArrayList<>(underlyingIfaces)); } private UnderlyingNetworkInfo(@NonNull Parcel in) {