Merge "[CS01]Remove hidden API usage of NetworkCapabilities" am: 5f2492095f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1563495 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I92df8ef58e30ddefb84001a0b45363e82fdd3621
This commit is contained in:
@@ -6300,6 +6300,7 @@ package android.net {
|
||||
method @NonNull public int[] getAdministratorUids();
|
||||
method @Nullable public String getSsid();
|
||||
method @NonNull public int[] getTransportTypes();
|
||||
method public boolean isPrivateDnsBroken();
|
||||
method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
|
||||
field public static final int NET_CAPABILITY_NOT_VCN_MANAGED = 28; // 0x1c
|
||||
field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16
|
||||
@@ -6314,6 +6315,7 @@ package android.net {
|
||||
method @NonNull public android.net.NetworkCapabilities.Builder addCapability(int);
|
||||
method @NonNull public android.net.NetworkCapabilities.Builder addTransportType(int);
|
||||
method @NonNull public android.net.NetworkCapabilities build();
|
||||
method @NonNull public android.net.NetworkCapabilities.Builder clearAll();
|
||||
method @NonNull public android.net.NetworkCapabilities.Builder removeCapability(int);
|
||||
method @NonNull public android.net.NetworkCapabilities.Builder removeTransportType(int);
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAdministratorUids(@NonNull int[]);
|
||||
|
||||
@@ -2085,9 +2085,10 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
/**
|
||||
* Check if private dns is broken.
|
||||
*
|
||||
* @return {@code true} if {@code mPrivateDnsBroken} is set when private DNS is broken.
|
||||
* @return {@code true} if private DNS is broken on this network.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public boolean isPrivateDnsBroken() {
|
||||
return mPrivateDnsBroken;
|
||||
}
|
||||
@@ -2329,6 +2330,17 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Completely clears the contents of this object, removing even the capabilities that are
|
||||
* set by default when the object is constructed.
|
||||
* @return this builder
|
||||
*/
|
||||
@NonNull
|
||||
public Builder clearAll() {
|
||||
mCaps.clearAll();
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the owner UID.
|
||||
*
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.server.connectivity;
|
||||
|
||||
import static android.net.NetworkCapabilities.MAX_TRANSPORT;
|
||||
import static android.net.NetworkCapabilities.TRANSPORT_BLUETOOTH;
|
||||
import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
|
||||
import static android.net.NetworkCapabilities.TRANSPORT_ETHERNET;
|
||||
@@ -25,15 +24,14 @@ import static android.net.NetworkCapabilities.TRANSPORT_VPN;
|
||||
import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
|
||||
import static android.net.NetworkCapabilities.TRANSPORT_WIFI_AWARE;
|
||||
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.ConnectivityMetricsEvent;
|
||||
import android.net.metrics.ApfProgramEvent;
|
||||
import android.net.metrics.ApfStats;
|
||||
import android.net.metrics.ConnectStats;
|
||||
import android.net.metrics.DefaultNetworkEvent;
|
||||
import android.net.metrics.DhcpClientEvent;
|
||||
import android.net.metrics.DhcpErrorEvent;
|
||||
import android.net.metrics.DnsEvent;
|
||||
import android.net.metrics.ConnectStats;
|
||||
import android.net.metrics.IpManagerEvent;
|
||||
import android.net.metrics.IpReachabilityEvent;
|
||||
import android.net.metrics.NetworkEvent;
|
||||
@@ -41,12 +39,13 @@ import android.net.metrics.RaEvent;
|
||||
import android.net.metrics.ValidationProbeEvent;
|
||||
import android.net.metrics.WakeupStats;
|
||||
import android.os.Parcelable;
|
||||
import android.util.SparseArray;
|
||||
import android.util.SparseIntArray;
|
||||
|
||||
import com.android.server.connectivity.metrics.nano.IpConnectivityLogClass;
|
||||
import com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.IpConnectivityEvent;
|
||||
import com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.IpConnectivityLog;
|
||||
import com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.Pair;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -361,29 +360,22 @@ final public class IpConnectivityEventBuilder {
|
||||
return IpConnectivityLogClass.UNKNOWN;
|
||||
case 1:
|
||||
int t = Long.numberOfTrailingZeros(transports);
|
||||
return transportToLinkLayer(t);
|
||||
return TRANSPORT_LINKLAYER_MAP.get(t, IpConnectivityLogClass.UNKNOWN);
|
||||
default:
|
||||
return IpConnectivityLogClass.MULTIPLE;
|
||||
}
|
||||
}
|
||||
|
||||
private static int transportToLinkLayer(int transport) {
|
||||
if (0 <= transport && transport < TRANSPORT_LINKLAYER_MAP.length) {
|
||||
return TRANSPORT_LINKLAYER_MAP[transport];
|
||||
}
|
||||
return IpConnectivityLogClass.UNKNOWN;
|
||||
}
|
||||
|
||||
private static final int[] TRANSPORT_LINKLAYER_MAP = new int[MAX_TRANSPORT + 1];
|
||||
private static final SparseIntArray TRANSPORT_LINKLAYER_MAP = new SparseIntArray();
|
||||
static {
|
||||
TRANSPORT_LINKLAYER_MAP[TRANSPORT_CELLULAR] = IpConnectivityLogClass.CELLULAR;
|
||||
TRANSPORT_LINKLAYER_MAP[TRANSPORT_WIFI] = IpConnectivityLogClass.WIFI;
|
||||
TRANSPORT_LINKLAYER_MAP[TRANSPORT_BLUETOOTH] = IpConnectivityLogClass.BLUETOOTH;
|
||||
TRANSPORT_LINKLAYER_MAP[TRANSPORT_ETHERNET] = IpConnectivityLogClass.ETHERNET;
|
||||
TRANSPORT_LINKLAYER_MAP[TRANSPORT_VPN] = IpConnectivityLogClass.UNKNOWN;
|
||||
TRANSPORT_LINKLAYER_MAP[TRANSPORT_WIFI_AWARE] = IpConnectivityLogClass.WIFI_NAN;
|
||||
TRANSPORT_LINKLAYER_MAP[TRANSPORT_LOWPAN] = IpConnectivityLogClass.LOWPAN;
|
||||
};
|
||||
TRANSPORT_LINKLAYER_MAP.append(TRANSPORT_CELLULAR, IpConnectivityLogClass.CELLULAR);
|
||||
TRANSPORT_LINKLAYER_MAP.append(TRANSPORT_WIFI, IpConnectivityLogClass.WIFI);
|
||||
TRANSPORT_LINKLAYER_MAP.append(TRANSPORT_BLUETOOTH, IpConnectivityLogClass.BLUETOOTH);
|
||||
TRANSPORT_LINKLAYER_MAP.append(TRANSPORT_ETHERNET, IpConnectivityLogClass.ETHERNET);
|
||||
TRANSPORT_LINKLAYER_MAP.append(TRANSPORT_VPN, IpConnectivityLogClass.UNKNOWN);
|
||||
TRANSPORT_LINKLAYER_MAP.append(TRANSPORT_WIFI_AWARE, IpConnectivityLogClass.WIFI_NAN);
|
||||
TRANSPORT_LINKLAYER_MAP.append(TRANSPORT_LOWPAN, IpConnectivityLogClass.LOWPAN);
|
||||
}
|
||||
|
||||
private static int ifnameToLinkLayer(String ifname) {
|
||||
// Do not try to catch all interface names with regexes, instead only catch patterns that
|
||||
|
||||
Reference in New Issue
Block a user