diff options
| author | 2019-03-21 07:49:37 -0700 | |
|---|---|---|
| committer | 2019-03-21 07:49:37 -0700 | |
| commit | 947bc9208f57a00e59571e5c071f9816c20f7929 (patch) | |
| tree | 3dd8147b557045022237116d36b067ec163e327e | |
| parent | 619eaeb21b3b402c7a68001afe966d3ef03890f2 (diff) | |
| parent | a6c364d80568f77da877d84acbfe68e055fdb58c (diff) | |
Merge "Fix Automated API Review issues." am: 814bb8f627 am: 69aa833953
am: a6c364d805
Change-Id: I1968eb36c2f4fafd33846ec0f91710c665d936e6
| -rw-r--r-- | api/current.txt | 6 | ||||
| -rw-r--r-- | api/system-current.txt | 114 | ||||
| -rw-r--r-- | api/test-current.txt | 112 | ||||
| -rw-r--r-- | core/java/android/net/CaptivePortal.java | 5 | ||||
| -rw-r--r-- | core/java/android/net/StaticIpConfiguration.java | 28 | ||||
| -rw-r--r-- | core/java/android/net/captiveportal/CaptivePortalProbeResult.java | 12 | ||||
| -rw-r--r-- | core/java/android/net/captiveportal/CaptivePortalProbeSpec.java | 20 | ||||
| -rw-r--r-- | core/java/android/net/metrics/ApfProgramEvent.java | 10 | ||||
| -rw-r--r-- | core/java/android/net/metrics/ApfStats.java | 14 | ||||
| -rw-r--r-- | core/java/android/net/metrics/DhcpClientEvent.java | 6 | ||||
| -rw-r--r-- | core/java/android/net/metrics/IpConnectivityLog.java | 17 | ||||
| -rw-r--r-- | core/java/android/net/metrics/ValidationProbeEvent.java | 7 | ||||
| -rw-r--r-- | core/java/android/os/ServiceSpecificException.java | 3 | 
13 files changed, 203 insertions, 151 deletions
diff --git a/api/current.txt b/api/current.txt index da8c073882f7..bccd2ffd7370 100644 --- a/api/current.txt +++ b/api/current.txt @@ -42503,12 +42503,12 @@ package android.system {      method public static java.io.FileDescriptor accept(java.io.FileDescriptor, java.net.InetSocketAddress) throws android.system.ErrnoException, java.net.SocketException;      method public static boolean access(String, int) throws android.system.ErrnoException;      method public static void bind(java.io.FileDescriptor, java.net.InetAddress, int) throws android.system.ErrnoException, java.net.SocketException; -    method public static void bind(java.io.FileDescriptor, java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException; +    method public static void bind(@NonNull java.io.FileDescriptor, @NonNull java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException;      method public static void chmod(String, int) throws android.system.ErrnoException;      method public static void chown(String, int, int) throws android.system.ErrnoException;      method public static void close(java.io.FileDescriptor) throws android.system.ErrnoException;      method public static void connect(java.io.FileDescriptor, java.net.InetAddress, int) throws android.system.ErrnoException, java.net.SocketException; -    method public static void connect(java.io.FileDescriptor, java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException; +    method public static void connect(@NonNull java.io.FileDescriptor, @NonNull java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException;      method public static java.io.FileDescriptor dup(java.io.FileDescriptor) throws android.system.ErrnoException;      method public static java.io.FileDescriptor dup2(java.io.FileDescriptor, int) throws android.system.ErrnoException;      method public static String[] environ(); @@ -42573,7 +42573,7 @@ package android.system {      method public static long sendfile(java.io.FileDescriptor, java.io.FileDescriptor, android.system.Int64Ref, long) throws android.system.ErrnoException;      method public static int sendto(java.io.FileDescriptor, java.nio.ByteBuffer, int, java.net.InetAddress, int) throws android.system.ErrnoException, java.net.SocketException;      method public static int sendto(java.io.FileDescriptor, byte[], int, int, int, java.net.InetAddress, int) throws android.system.ErrnoException, java.net.SocketException; -    method public static int sendto(java.io.FileDescriptor, byte[], int, int, int, java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException; +    method public static int sendto(@NonNull java.io.FileDescriptor, @NonNull byte[], int, int, int, @Nullable java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException;      method @Deprecated public static void setegid(int) throws android.system.ErrnoException;      method public static void setenv(String, String, boolean) throws android.system.ErrnoException;      method @Deprecated public static void seteuid(int) throws android.system.ErrnoException; diff --git a/api/system-current.txt b/api/system-current.txt index 75bb4f16cf68..3e4ccb537235 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -4027,8 +4027,8 @@ package android.metrics {  package android.net {    public class CaptivePortal implements android.os.Parcelable { -    ctor public CaptivePortal(android.os.IBinder); -    method public void logEvent(int, String); +    ctor public CaptivePortal(@NonNull android.os.IBinder); +    method public void logEvent(int, @NonNull String);      method public void useNetwork();      field public static final int APP_RETURN_DISMISSED = 0; // 0x0      field public static final int APP_RETURN_UNWANTED = 1; // 0x1 @@ -4235,18 +4235,18 @@ package android.net {    public final class StaticIpConfiguration implements android.os.Parcelable {      ctor public StaticIpConfiguration(); -    ctor public StaticIpConfiguration(android.net.StaticIpConfiguration); -    method public void addDnsServer(java.net.InetAddress); +    ctor public StaticIpConfiguration(@Nullable android.net.StaticIpConfiguration); +    method public void addDnsServer(@NonNull java.net.InetAddress);      method public void clear();      method public int describeContents(); -    method public java.util.List<java.net.InetAddress> getDnsServers(); -    method public String getDomains(); -    method public java.net.InetAddress getGateway(); -    method public android.net.LinkAddress getIpAddress(); -    method public java.util.List<android.net.RouteInfo> getRoutes(String); -    method public void setDomains(String); -    method public void setGateway(java.net.InetAddress); -    method public void setIpAddress(android.net.LinkAddress); +    method @NonNull public java.util.List<java.net.InetAddress> getDnsServers(); +    method @Nullable public String getDomains(); +    method @Nullable public java.net.InetAddress getGateway(); +    method @Nullable public android.net.LinkAddress getIpAddress(); +    method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(String); +    method public void setDomains(@Nullable String); +    method public void setGateway(@Nullable java.net.InetAddress); +    method public void setIpAddress(@Nullable android.net.LinkAddress);      method public void writeToParcel(android.os.Parcel, int);      field @NonNull public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR;    } @@ -4300,28 +4300,28 @@ package android.net.captiveportal {    public final class CaptivePortalProbeResult {      ctor public CaptivePortalProbeResult(int); -    ctor public CaptivePortalProbeResult(int, String, String); -    ctor public CaptivePortalProbeResult(int, String, String, android.net.captiveportal.CaptivePortalProbeSpec); +    ctor public CaptivePortalProbeResult(int, @Nullable String, @Nullable String); +    ctor public CaptivePortalProbeResult(int, @Nullable String, @Nullable String, @Nullable android.net.captiveportal.CaptivePortalProbeSpec);      method public boolean isFailed();      method public boolean isPartialConnectivity();      method public boolean isPortal();      method public boolean isSuccessful(); -    field public static final android.net.captiveportal.CaptivePortalProbeResult FAILED; +    field @NonNull public static final android.net.captiveportal.CaptivePortalProbeResult FAILED;      field public static final int FAILED_CODE = 599; // 0x257      field public static final android.net.captiveportal.CaptivePortalProbeResult PARTIAL;      field public static final int PORTAL_CODE = 302; // 0x12e -    field public static final android.net.captiveportal.CaptivePortalProbeResult SUCCESS; +    field @NonNull public static final android.net.captiveportal.CaptivePortalProbeResult SUCCESS;      field public static final int SUCCESS_CODE = 204; // 0xcc -    field public final String detectUrl; +    field @Nullable public final String detectUrl;      field @Nullable public final android.net.captiveportal.CaptivePortalProbeSpec probeSpec; -    field public final String redirectUrl; +    field @Nullable public final String redirectUrl;    }    public abstract class CaptivePortalProbeSpec { -    method public String getEncodedSpec(); -    method public abstract android.net.captiveportal.CaptivePortalProbeResult getResult(int, @Nullable String); -    method public java.net.URL getUrl(); -    method public static java.util.Collection<android.net.captiveportal.CaptivePortalProbeSpec> parseCaptivePortalProbeSpecs(String); +    method @NonNull public String getEncodedSpec(); +    method @NonNull public abstract android.net.captiveportal.CaptivePortalProbeResult getResult(int, @Nullable String); +    method @NonNull public java.net.URL getUrl(); +    method @NonNull public static java.util.Collection<android.net.captiveportal.CaptivePortalProbeSpec> parseCaptivePortalProbeSpecs(@NonNull String);      method @Nullable public static android.net.captiveportal.CaptivePortalProbeSpec parseSpecOrNull(@Nullable String);    } @@ -4332,43 +4332,43 @@ package android.net.metrics {    public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event {    } -  public static class ApfProgramEvent.Builder { +  public static final class ApfProgramEvent.Builder {      ctor public ApfProgramEvent.Builder(); -    method public android.net.metrics.ApfProgramEvent build(); -    method public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long); -    method public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int); -    method public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int); -    method public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean); -    method public android.net.metrics.ApfProgramEvent.Builder setLifetime(long); -    method public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int); +    method @NonNull public android.net.metrics.ApfProgramEvent build(); +    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long); +    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int); +    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int); +    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean); +    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setLifetime(long); +    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int);    }    public final class ApfStats implements android.net.metrics.IpConnectivityLog.Event {    } -  public static class ApfStats.Builder { +  public static final class ApfStats.Builder {      ctor public ApfStats.Builder(); -    method public android.net.metrics.ApfStats build(); -    method public android.net.metrics.ApfStats.Builder setDroppedRas(int); -    method public android.net.metrics.ApfStats.Builder setDurationMs(long); -    method public android.net.metrics.ApfStats.Builder setMatchingRas(int); -    method public android.net.metrics.ApfStats.Builder setMaxProgramSize(int); -    method public android.net.metrics.ApfStats.Builder setParseErrors(int); -    method public android.net.metrics.ApfStats.Builder setProgramUpdates(int); -    method public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int); -    method public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int); -    method public android.net.metrics.ApfStats.Builder setReceivedRas(int); -    method public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int); +    method @NonNull public android.net.metrics.ApfStats build(); +    method @NonNull public android.net.metrics.ApfStats.Builder setDroppedRas(int); +    method @NonNull public android.net.metrics.ApfStats.Builder setDurationMs(long); +    method @NonNull public android.net.metrics.ApfStats.Builder setMatchingRas(int); +    method @NonNull public android.net.metrics.ApfStats.Builder setMaxProgramSize(int); +    method @NonNull public android.net.metrics.ApfStats.Builder setParseErrors(int); +    method @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdates(int); +    method @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int); +    method @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int); +    method @NonNull public android.net.metrics.ApfStats.Builder setReceivedRas(int); +    method @NonNull public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int);    }    public final class DhcpClientEvent implements android.net.metrics.IpConnectivityLog.Event {    } -  public static class DhcpClientEvent.Builder { +  public static final class DhcpClientEvent.Builder {      ctor public DhcpClientEvent.Builder(); -    method public android.net.metrics.DhcpClientEvent build(); -    method public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int); -    method public android.net.metrics.DhcpClientEvent.Builder setMsg(String); +    method @NonNull public android.net.metrics.DhcpClientEvent build(); +    method @NonNull public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int); +    method @NonNull public android.net.metrics.DhcpClientEvent.Builder setMsg(String);    }    public final class DhcpErrorEvent implements android.net.metrics.IpConnectivityLog.Event { @@ -4399,11 +4399,11 @@ package android.net.metrics {    public class IpConnectivityLog {      ctor public IpConnectivityLog(); -    method public boolean log(long, android.net.metrics.IpConnectivityLog.Event); -    method public boolean log(String, android.net.metrics.IpConnectivityLog.Event); -    method public boolean log(android.net.Network, int[], android.net.metrics.IpConnectivityLog.Event); -    method public boolean log(int, int[], android.net.metrics.IpConnectivityLog.Event); -    method public boolean log(android.net.metrics.IpConnectivityLog.Event); +    method public boolean log(long, @NonNull android.net.metrics.IpConnectivityLog.Event); +    method public boolean log(@NonNull String, @NonNull android.net.metrics.IpConnectivityLog.Event); +    method public boolean log(@NonNull android.net.Network, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event); +    method public boolean log(int, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event); +    method public boolean log(@NonNull android.net.metrics.IpConnectivityLog.Event);    }    public static interface IpConnectivityLog.Event extends android.os.Parcelable { @@ -4474,12 +4474,12 @@ package android.net.metrics {      field public static final int PROBE_PRIVDNS = 5; // 0x5    } -  public static class ValidationProbeEvent.Builder { +  public static final class ValidationProbeEvent.Builder {      ctor public ValidationProbeEvent.Builder(); -    method public android.net.metrics.ValidationProbeEvent build(); -    method public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long); -    method public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean); -    method public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int); +    method @NonNull public android.net.metrics.ValidationProbeEvent build(); +    method @NonNull public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long); +    method @NonNull public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean); +    method @NonNull public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int);    }  } @@ -5492,7 +5492,7 @@ package android.os {    }    public class ServiceSpecificException extends java.lang.RuntimeException { -    ctor public ServiceSpecificException(int, String); +    ctor public ServiceSpecificException(int, @Nullable String);      ctor public ServiceSpecificException(int);      field public final int errorCode;    } diff --git a/api/test-current.txt b/api/test-current.txt index 3842ff298a29..5e9b405a75a9 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -1190,8 +1190,8 @@ package android.metrics {  package android.net {    public class CaptivePortal implements android.os.Parcelable { -    ctor public CaptivePortal(android.os.IBinder); -    method public void logEvent(int, String); +    ctor public CaptivePortal(@NonNull android.os.IBinder); +    method public void logEvent(int, @NonNull String);      method public void useNetwork();      field public static final int APP_RETURN_DISMISSED = 0; // 0x0      field public static final int APP_RETURN_UNWANTED = 1; // 0x1 @@ -1276,18 +1276,18 @@ package android.net {    public final class StaticIpConfiguration implements android.os.Parcelable {      ctor public StaticIpConfiguration(); -    ctor public StaticIpConfiguration(android.net.StaticIpConfiguration); -    method public void addDnsServer(java.net.InetAddress); +    ctor public StaticIpConfiguration(@Nullable android.net.StaticIpConfiguration); +    method public void addDnsServer(@NonNull java.net.InetAddress);      method public void clear();      method public int describeContents(); -    method public java.util.List<java.net.InetAddress> getDnsServers(); -    method public String getDomains(); -    method public java.net.InetAddress getGateway(); -    method public android.net.LinkAddress getIpAddress(); -    method public java.util.List<android.net.RouteInfo> getRoutes(String); -    method public void setDomains(String); -    method public void setGateway(java.net.InetAddress); -    method public void setIpAddress(android.net.LinkAddress); +    method @NonNull public java.util.List<java.net.InetAddress> getDnsServers(); +    method @Nullable public String getDomains(); +    method @Nullable public java.net.InetAddress getGateway(); +    method @Nullable public android.net.LinkAddress getIpAddress(); +    method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(String); +    method public void setDomains(@Nullable String); +    method public void setGateway(@Nullable java.net.InetAddress); +    method public void setIpAddress(@Nullable android.net.LinkAddress);      method public void writeToParcel(android.os.Parcel, int);      field @NonNull public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR;    } @@ -1340,28 +1340,28 @@ package android.net.captiveportal {    public final class CaptivePortalProbeResult {      ctor public CaptivePortalProbeResult(int); -    ctor public CaptivePortalProbeResult(int, String, String); -    ctor public CaptivePortalProbeResult(int, String, String, android.net.captiveportal.CaptivePortalProbeSpec); +    ctor public CaptivePortalProbeResult(int, @Nullable String, @Nullable String); +    ctor public CaptivePortalProbeResult(int, @Nullable String, @Nullable String, @Nullable android.net.captiveportal.CaptivePortalProbeSpec);      method public boolean isFailed();      method public boolean isPartialConnectivity();      method public boolean isPortal();      method public boolean isSuccessful(); -    field public static final android.net.captiveportal.CaptivePortalProbeResult FAILED; +    field @NonNull public static final android.net.captiveportal.CaptivePortalProbeResult FAILED;      field public static final int FAILED_CODE = 599; // 0x257      field public static final android.net.captiveportal.CaptivePortalProbeResult PARTIAL;      field public static final int PORTAL_CODE = 302; // 0x12e -    field public static final android.net.captiveportal.CaptivePortalProbeResult SUCCESS; +    field @NonNull public static final android.net.captiveportal.CaptivePortalProbeResult SUCCESS;      field public static final int SUCCESS_CODE = 204; // 0xcc -    field public final String detectUrl; +    field @Nullable public final String detectUrl;      field @Nullable public final android.net.captiveportal.CaptivePortalProbeSpec probeSpec; -    field public final String redirectUrl; +    field @Nullable public final String redirectUrl;    }    public abstract class CaptivePortalProbeSpec { -    method public String getEncodedSpec(); -    method public abstract android.net.captiveportal.CaptivePortalProbeResult getResult(int, @Nullable String); -    method public java.net.URL getUrl(); -    method public static java.util.Collection<android.net.captiveportal.CaptivePortalProbeSpec> parseCaptivePortalProbeSpecs(String); +    method @NonNull public String getEncodedSpec(); +    method @NonNull public abstract android.net.captiveportal.CaptivePortalProbeResult getResult(int, @Nullable String); +    method @NonNull public java.net.URL getUrl(); +    method @NonNull public static java.util.Collection<android.net.captiveportal.CaptivePortalProbeSpec> parseCaptivePortalProbeSpecs(@NonNull String);      method @Nullable public static android.net.captiveportal.CaptivePortalProbeSpec parseSpecOrNull(@Nullable String);    } @@ -1372,43 +1372,43 @@ package android.net.metrics {    public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event {    } -  public static class ApfProgramEvent.Builder { +  public static final class ApfProgramEvent.Builder {      ctor public ApfProgramEvent.Builder(); -    method public android.net.metrics.ApfProgramEvent build(); -    method public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long); -    method public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int); -    method public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int); -    method public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean); -    method public android.net.metrics.ApfProgramEvent.Builder setLifetime(long); -    method public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int); +    method @NonNull public android.net.metrics.ApfProgramEvent build(); +    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long); +    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int); +    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int); +    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean); +    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setLifetime(long); +    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int);    }    public final class ApfStats implements android.net.metrics.IpConnectivityLog.Event {    } -  public static class ApfStats.Builder { +  public static final class ApfStats.Builder {      ctor public ApfStats.Builder(); -    method public android.net.metrics.ApfStats build(); -    method public android.net.metrics.ApfStats.Builder setDroppedRas(int); -    method public android.net.metrics.ApfStats.Builder setDurationMs(long); -    method public android.net.metrics.ApfStats.Builder setMatchingRas(int); -    method public android.net.metrics.ApfStats.Builder setMaxProgramSize(int); -    method public android.net.metrics.ApfStats.Builder setParseErrors(int); -    method public android.net.metrics.ApfStats.Builder setProgramUpdates(int); -    method public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int); -    method public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int); -    method public android.net.metrics.ApfStats.Builder setReceivedRas(int); -    method public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int); +    method @NonNull public android.net.metrics.ApfStats build(); +    method @NonNull public android.net.metrics.ApfStats.Builder setDroppedRas(int); +    method @NonNull public android.net.metrics.ApfStats.Builder setDurationMs(long); +    method @NonNull public android.net.metrics.ApfStats.Builder setMatchingRas(int); +    method @NonNull public android.net.metrics.ApfStats.Builder setMaxProgramSize(int); +    method @NonNull public android.net.metrics.ApfStats.Builder setParseErrors(int); +    method @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdates(int); +    method @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int); +    method @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int); +    method @NonNull public android.net.metrics.ApfStats.Builder setReceivedRas(int); +    method @NonNull public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int);    }    public final class DhcpClientEvent implements android.net.metrics.IpConnectivityLog.Event {    } -  public static class DhcpClientEvent.Builder { +  public static final class DhcpClientEvent.Builder {      ctor public DhcpClientEvent.Builder(); -    method public android.net.metrics.DhcpClientEvent build(); -    method public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int); -    method public android.net.metrics.DhcpClientEvent.Builder setMsg(String); +    method @NonNull public android.net.metrics.DhcpClientEvent build(); +    method @NonNull public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int); +    method @NonNull public android.net.metrics.DhcpClientEvent.Builder setMsg(String);    }    public final class DhcpErrorEvent implements android.net.metrics.IpConnectivityLog.Event { @@ -1439,11 +1439,11 @@ package android.net.metrics {    public class IpConnectivityLog {      ctor public IpConnectivityLog(); -    method public boolean log(long, android.net.metrics.IpConnectivityLog.Event); -    method public boolean log(String, android.net.metrics.IpConnectivityLog.Event); -    method public boolean log(android.net.Network, int[], android.net.metrics.IpConnectivityLog.Event); -    method public boolean log(int, int[], android.net.metrics.IpConnectivityLog.Event); -    method public boolean log(android.net.metrics.IpConnectivityLog.Event); +    method public boolean log(long, @NonNull android.net.metrics.IpConnectivityLog.Event); +    method public boolean log(@NonNull String, @NonNull android.net.metrics.IpConnectivityLog.Event); +    method public boolean log(@NonNull android.net.Network, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event); +    method public boolean log(int, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event); +    method public boolean log(@NonNull android.net.metrics.IpConnectivityLog.Event);    }    public static interface IpConnectivityLog.Event extends android.os.Parcelable { @@ -1514,12 +1514,12 @@ package android.net.metrics {      field public static final int PROBE_PRIVDNS = 5; // 0x5    } -  public static class ValidationProbeEvent.Builder { +  public static final class ValidationProbeEvent.Builder {      ctor public ValidationProbeEvent.Builder(); -    method public android.net.metrics.ValidationProbeEvent build(); -    method public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long); -    method public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean); -    method public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int); +    method @NonNull public android.net.metrics.ValidationProbeEvent build(); +    method @NonNull public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long); +    method @NonNull public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean); +    method @NonNull public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int);    }  } diff --git a/core/java/android/net/CaptivePortal.java b/core/java/android/net/CaptivePortal.java index 7873fc021b92..3e4e35a8f16d 100644 --- a/core/java/android/net/CaptivePortal.java +++ b/core/java/android/net/CaptivePortal.java @@ -15,6 +15,7 @@   */  package android.net; +import android.annotation.NonNull;  import android.annotation.SystemApi;  import android.annotation.TestApi;  import android.os.IBinder; @@ -65,7 +66,7 @@ public class CaptivePortal implements Parcelable {      /** @hide */      @SystemApi      @TestApi -    public CaptivePortal(IBinder binder) { +    public CaptivePortal(@NonNull IBinder binder) {          mBinder = binder;      } @@ -142,7 +143,7 @@ public class CaptivePortal implements Parcelable {       */      @SystemApi      @TestApi -    public void logEvent(int eventId, String packageName) { +    public void logEvent(int eventId, @NonNull String packageName) {          try {              ICaptivePortal.Stub.asInterface(mBinder).logEvent(eventId, packageName);          } catch (RemoteException e) { diff --git a/core/java/android/net/StaticIpConfiguration.java b/core/java/android/net/StaticIpConfiguration.java index 8b264eeee3c9..e2531059ac61 100644 --- a/core/java/android/net/StaticIpConfiguration.java +++ b/core/java/android/net/StaticIpConfiguration.java @@ -16,6 +16,8 @@  package android.net; +import android.annotation.NonNull; +import android.annotation.Nullable;  import android.annotation.SystemApi;  import android.annotation.TestApi;  import android.annotation.UnsupportedAppUsage; @@ -53,22 +55,26 @@ import java.util.Objects;  public final class StaticIpConfiguration implements Parcelable {      /** @hide */      @UnsupportedAppUsage +    @Nullable      public LinkAddress ipAddress;      /** @hide */      @UnsupportedAppUsage +    @Nullable      public InetAddress gateway;      /** @hide */      @UnsupportedAppUsage +    @NonNull      public final ArrayList<InetAddress> dnsServers;      /** @hide */      @UnsupportedAppUsage +    @Nullable      public String domains;      public StaticIpConfiguration() {          dnsServers = new ArrayList<InetAddress>();      } -    public StaticIpConfiguration(StaticIpConfiguration source) { +    public StaticIpConfiguration(@Nullable StaticIpConfiguration source) {          this();          if (source != null) {              // All of these except dnsServers are immutable, so no need to make copies. @@ -86,38 +92,38 @@ public final class StaticIpConfiguration implements Parcelable {          domains = null;      } -    public LinkAddress getIpAddress() { +    public @Nullable LinkAddress getIpAddress() {          return ipAddress;      } -    public void setIpAddress(LinkAddress ipAddress) { +    public void setIpAddress(@Nullable LinkAddress ipAddress) {          this.ipAddress = ipAddress;      } -    public InetAddress getGateway() { +    public @Nullable InetAddress getGateway() {          return gateway;      } -    public void setGateway(InetAddress gateway) { +    public void setGateway(@Nullable InetAddress gateway) {          this.gateway = gateway;      } -    public List<InetAddress> getDnsServers() { +    public @NonNull List<InetAddress> getDnsServers() {          return dnsServers;      } -    public String getDomains() { +    public @Nullable String getDomains() {          return domains;      } -    public void setDomains(String newDomains) { +    public void setDomains(@Nullable String newDomains) {          domains = newDomains;      }      /**       * Add a DNS server to this configuration.       */ -    public void addDnsServer(InetAddress server) { +    public void addDnsServer(@NonNull InetAddress server) {          dnsServers.add(server);      } @@ -128,7 +134,7 @@ public final class StaticIpConfiguration implements Parcelable {       * route to the gateway as well. This configuration is arguably invalid, but it used to work       * in K and earlier, and other OSes appear to accept it.       */ -    public List<RouteInfo> getRoutes(String iface) { +    public @NonNull List<RouteInfo> getRoutes(String iface) {          List<RouteInfo> routes = new ArrayList<RouteInfo>(3);          if (ipAddress != null) {              RouteInfo connectedRoute = new RouteInfo(ipAddress, null, iface); @@ -150,7 +156,7 @@ public final class StaticIpConfiguration implements Parcelable {       * IPv6 configuration) will not be included.       * @hide       */ -    public LinkProperties toLinkProperties(String iface) { +    public @NonNull LinkProperties toLinkProperties(String iface) {          LinkProperties lp = new LinkProperties();          lp.setInterfaceName(iface);          if (ipAddress != null) { diff --git a/core/java/android/net/captiveportal/CaptivePortalProbeResult.java b/core/java/android/net/captiveportal/CaptivePortalProbeResult.java index 3930344e5d27..a1d3de248a96 100644 --- a/core/java/android/net/captiveportal/CaptivePortalProbeResult.java +++ b/core/java/android/net/captiveportal/CaptivePortalProbeResult.java @@ -16,6 +16,7 @@  package android.net.captiveportal; +import android.annotation.NonNull;  import android.annotation.Nullable;  import android.annotation.SystemApi;  import android.annotation.TestApi; @@ -39,14 +40,18 @@ public final class CaptivePortalProbeResult {       */      public static final int PARTIAL_CODE = -1; +    @NonNull      public static final CaptivePortalProbeResult FAILED = new CaptivePortalProbeResult(FAILED_CODE); +    @NonNull      public static final CaptivePortalProbeResult SUCCESS =              new CaptivePortalProbeResult(SUCCESS_CODE);      public static final CaptivePortalProbeResult PARTIAL =              new CaptivePortalProbeResult(PARTIAL_CODE);      private final int mHttpResponseCode;  // HTTP response code returned from Internet probe. +    @Nullable      public final String redirectUrl;      // Redirect destination returned from Internet probe. +    @Nullable      public final String detectUrl;        // URL where a 204 response code indicates                                            // captive portal has been appeased.      @Nullable @@ -56,12 +61,13 @@ public final class CaptivePortalProbeResult {          this(httpResponseCode, null, null);      } -    public CaptivePortalProbeResult(int httpResponseCode, String redirectUrl, String detectUrl) { +    public CaptivePortalProbeResult(int httpResponseCode, @Nullable String redirectUrl, +            @Nullable String detectUrl) {          this(httpResponseCode, redirectUrl, detectUrl, null);      } -    public CaptivePortalProbeResult(int httpResponseCode, String redirectUrl, String detectUrl, -            CaptivePortalProbeSpec probeSpec) { +    public CaptivePortalProbeResult(int httpResponseCode, @Nullable String redirectUrl, +            @Nullable String detectUrl, @Nullable CaptivePortalProbeSpec probeSpec) {          mHttpResponseCode = httpResponseCode;          this.redirectUrl = redirectUrl;          this.detectUrl = detectUrl; diff --git a/core/java/android/net/captiveportal/CaptivePortalProbeSpec.java b/core/java/android/net/captiveportal/CaptivePortalProbeSpec.java index 7ad4ecf2264c..6c6a16c4534e 100644 --- a/core/java/android/net/captiveportal/CaptivePortalProbeSpec.java +++ b/core/java/android/net/captiveportal/CaptivePortalProbeSpec.java @@ -19,6 +19,8 @@ package android.net.captiveportal;  import static android.net.captiveportal.CaptivePortalProbeResult.PORTAL_CODE;  import static android.net.captiveportal.CaptivePortalProbeResult.SUCCESS_CODE; +import static com.android.internal.util.Preconditions.checkNotNull; +  import android.annotation.NonNull;  import android.annotation.Nullable;  import android.annotation.SystemApi; @@ -48,9 +50,10 @@ public abstract class CaptivePortalProbeSpec {      private final String mEncodedSpec;      private final URL mUrl; -    CaptivePortalProbeSpec(String encodedSpec, URL url) { -        mEncodedSpec = encodedSpec; -        mUrl = url; +    CaptivePortalProbeSpec(@NonNull String encodedSpec, @NonNull URL url) +            throws NullPointerException { +        mEncodedSpec = checkNotNull(encodedSpec); +        mUrl = checkNotNull(url);      }      /** @@ -64,7 +67,7 @@ public abstract class CaptivePortalProbeSpec {       */      @VisibleForTesting      @NonNull -    public static CaptivePortalProbeSpec parseSpec(String spec) throws ParseException, +    public static CaptivePortalProbeSpec parseSpec(@NonNull String spec) throws ParseException,              MalformedURLException {          if (TextUtils.isEmpty(spec)) {              throw new ParseException("Empty probe spec", 0 /* errorOffset */); @@ -84,7 +87,8 @@ public abstract class CaptivePortalProbeSpec {      }      @Nullable -    private static Pattern parsePatternIfNonEmpty(String pattern, int pos) throws ParseException { +    private static Pattern parsePatternIfNonEmpty(@Nullable String pattern, int pos) +            throws ParseException {          if (TextUtils.isEmpty(pattern)) {              return null;          } @@ -120,8 +124,9 @@ public abstract class CaptivePortalProbeSpec {       * <p>Each spec is separated by @@,@@ and follows the format for {@link #parseSpec(String)}.       * <p>This method does not throw but ignores any entry that could not be parsed.       */ +    @NonNull      public static Collection<CaptivePortalProbeSpec> parseCaptivePortalProbeSpecs( -            String settingsVal) { +            @NonNull String settingsVal) {          List<CaptivePortalProbeSpec> specs = new ArrayList<>();          if (settingsVal != null) {              for (String spec : TextUtils.split(settingsVal, SPEC_SEPARATOR)) { @@ -142,12 +147,15 @@ public abstract class CaptivePortalProbeSpec {      /**       * Get the probe result from HTTP status and location header.       */ +    @NonNull      public abstract CaptivePortalProbeResult getResult(int status, @Nullable String locationHeader); +    @NonNull      public String getEncodedSpec() {          return mEncodedSpec;      } +    @NonNull      public URL getUrl() {          return mUrl;      } diff --git a/core/java/android/net/metrics/ApfProgramEvent.java b/core/java/android/net/metrics/ApfProgramEvent.java index b30d8cb04f4c..2bd43782d523 100644 --- a/core/java/android/net/metrics/ApfProgramEvent.java +++ b/core/java/android/net/metrics/ApfProgramEvent.java @@ -17,6 +17,7 @@  package android.net.metrics;  import android.annotation.IntDef; +import android.annotation.NonNull;  import android.annotation.SystemApi;  import android.annotation.TestApi;  import android.annotation.UnsupportedAppUsage; @@ -95,7 +96,7 @@ public final class ApfProgramEvent implements IpConnectivityLog.Event {      /**       * Utility to create an instance of {@link ApfProgramEvent}.       */ -    public static class Builder { +    public static final class Builder {          private long mLifetime;          private long mActualLifetime;          private int mFilteredRas; @@ -106,6 +107,7 @@ public final class ApfProgramEvent implements IpConnectivityLog.Event {          /**           * Set the maximum computed lifetime of the program in seconds.           */ +        @NonNull          public Builder setLifetime(long lifetime) {              mLifetime = lifetime;              return this; @@ -114,6 +116,7 @@ public final class ApfProgramEvent implements IpConnectivityLog.Event {          /**           * Set the effective program lifetime in seconds.           */ +        @NonNull          public Builder setActualLifetime(long lifetime) {              mActualLifetime = lifetime;              return this; @@ -122,6 +125,7 @@ public final class ApfProgramEvent implements IpConnectivityLog.Event {          /**           * Set the number of RAs filtered by the APF program.           */ +        @NonNull          public Builder setFilteredRas(int filteredRas) {              mFilteredRas = filteredRas;              return this; @@ -130,6 +134,7 @@ public final class ApfProgramEvent implements IpConnectivityLog.Event {          /**           * Set the total number of current RAs at generation time.           */ +        @NonNull          public Builder setCurrentRas(int currentRas) {              mCurrentRas = currentRas;              return this; @@ -138,6 +143,7 @@ public final class ApfProgramEvent implements IpConnectivityLog.Event {          /**           * Set the length of the APF program in bytes.           */ +        @NonNull          public Builder setProgramLength(int programLength) {              mProgramLength = programLength;              return this; @@ -146,6 +152,7 @@ public final class ApfProgramEvent implements IpConnectivityLog.Event {          /**           * Set the flags describing what an Apf program filters.           */ +        @NonNull          public Builder setFlags(boolean hasIPv4, boolean multicastFilterOn) {              mFlags = flagsFor(hasIPv4, multicastFilterOn);              return this; @@ -154,6 +161,7 @@ public final class ApfProgramEvent implements IpConnectivityLog.Event {          /**           * Build a new {@link ApfProgramEvent}.           */ +        @NonNull          public ApfProgramEvent build() {              return new ApfProgramEvent(mLifetime, mActualLifetime, mFilteredRas, mCurrentRas,                      mProgramLength, mFlags); diff --git a/core/java/android/net/metrics/ApfStats.java b/core/java/android/net/metrics/ApfStats.java index e1c8888deff7..6c3b7af6b888 100644 --- a/core/java/android/net/metrics/ApfStats.java +++ b/core/java/android/net/metrics/ApfStats.java @@ -16,6 +16,7 @@  package android.net.metrics; +import android.annotation.NonNull;  import android.annotation.SystemApi;  import android.annotation.TestApi;  import android.annotation.UnsupportedAppUsage; @@ -125,7 +126,7 @@ public final class ApfStats implements IpConnectivityLog.Event {       */      @SystemApi      @TestApi -    public static class Builder { +    public static final class Builder {          private long mDurationMs;          private int mReceivedRas;          private int mMatchingRas; @@ -140,6 +141,7 @@ public final class ApfStats implements IpConnectivityLog.Event {          /**           * Set the time interval in milliseconds these statistics covers.           */ +        @NonNull          public Builder setDurationMs(long durationMs) {              mDurationMs = durationMs;              return this; @@ -148,6 +150,7 @@ public final class ApfStats implements IpConnectivityLog.Event {          /**           * Set the number of received RAs.           */ +        @NonNull          public Builder setReceivedRas(int receivedRas) {              mReceivedRas = receivedRas;              return this; @@ -156,6 +159,7 @@ public final class ApfStats implements IpConnectivityLog.Event {          /**           * Set the number of received RAs matching a known RA.           */ +        @NonNull          public Builder setMatchingRas(int matchingRas) {              mMatchingRas = matchingRas;              return this; @@ -164,6 +168,7 @@ public final class ApfStats implements IpConnectivityLog.Event {          /**           * Set the number of received RAs ignored due to the MAX_RAS limit.           */ +        @NonNull          public Builder setDroppedRas(int droppedRas) {              mDroppedRas = droppedRas;              return this; @@ -172,6 +177,7 @@ public final class ApfStats implements IpConnectivityLog.Event {          /**           * Set the number of received RAs with a minimum lifetime of 0.           */ +        @NonNull          public Builder setZeroLifetimeRas(int zeroLifetimeRas) {              mZeroLifetimeRas = zeroLifetimeRas;              return this; @@ -180,6 +186,7 @@ public final class ApfStats implements IpConnectivityLog.Event {          /**           * Set the number of received RAs that could not be parsed.           */ +        @NonNull          public Builder setParseErrors(int parseErrors) {              mParseErrors = parseErrors;              return this; @@ -188,6 +195,7 @@ public final class ApfStats implements IpConnectivityLog.Event {          /**           * Set the number of APF program updates from receiving RAs.           */ +        @NonNull          public Builder setProgramUpdates(int programUpdates) {              mProgramUpdates = programUpdates;              return this; @@ -196,6 +204,7 @@ public final class ApfStats implements IpConnectivityLog.Event {          /**           * Set the total number of APF program updates.           */ +        @NonNull          public Builder setProgramUpdatesAll(int programUpdatesAll) {              mProgramUpdatesAll = programUpdatesAll;              return this; @@ -204,6 +213,7 @@ public final class ApfStats implements IpConnectivityLog.Event {          /**           * Set the number of APF program updates from allowing multicast traffic.           */ +        @NonNull          public Builder setProgramUpdatesAllowingMulticast(int programUpdatesAllowingMulticast) {              mProgramUpdatesAllowingMulticast = programUpdatesAllowingMulticast;              return this; @@ -212,6 +222,7 @@ public final class ApfStats implements IpConnectivityLog.Event {          /**           * Set the maximum APF program size advertised by hardware.           */ +        @NonNull          public Builder setMaxProgramSize(int maxProgramSize) {              mMaxProgramSize = maxProgramSize;              return this; @@ -220,6 +231,7 @@ public final class ApfStats implements IpConnectivityLog.Event {          /**           * Create a new {@link ApfStats}.           */ +        @NonNull          public ApfStats build() {              return new ApfStats(mDurationMs, mReceivedRas, mMatchingRas, mDroppedRas,                      mZeroLifetimeRas, mParseErrors, mProgramUpdates, mProgramUpdatesAll, diff --git a/core/java/android/net/metrics/DhcpClientEvent.java b/core/java/android/net/metrics/DhcpClientEvent.java index e4faea9247d7..a3d0a20194f2 100644 --- a/core/java/android/net/metrics/DhcpClientEvent.java +++ b/core/java/android/net/metrics/DhcpClientEvent.java @@ -16,6 +16,7 @@  package android.net.metrics; +import android.annotation.NonNull;  import android.annotation.SystemApi;  import android.annotation.TestApi;  import android.annotation.UnsupportedAppUsage; @@ -51,13 +52,14 @@ public final class DhcpClientEvent implements IpConnectivityLog.Event {      /**       * Utility to create an instance of {@link ApfProgramEvent}.       */ -    public static class Builder { +    public static final class Builder {          private String mMsg;          private int mDurationMs;          /**           * Set the message of the event.           */ +        @NonNull          public Builder setMsg(String msg) {              mMsg = msg;              return this; @@ -66,6 +68,7 @@ public final class DhcpClientEvent implements IpConnectivityLog.Event {          /**           * Set the duration of the event in milliseconds.           */ +        @NonNull          public Builder setDurationMs(int durationMs) {              mDurationMs = durationMs;              return this; @@ -74,6 +77,7 @@ public final class DhcpClientEvent implements IpConnectivityLog.Event {          /**           * Create a new {@link DhcpClientEvent}.           */ +        @NonNull          public DhcpClientEvent build() {              return new DhcpClientEvent(mMsg, mDurationMs);          } diff --git a/core/java/android/net/metrics/IpConnectivityLog.java b/core/java/android/net/metrics/IpConnectivityLog.java index 5b5a23578954..680c01573f98 100644 --- a/core/java/android/net/metrics/IpConnectivityLog.java +++ b/core/java/android/net/metrics/IpConnectivityLog.java @@ -16,6 +16,7 @@  package android.net.metrics; +import android.annotation.NonNull;  import android.annotation.SystemApi;  import android.annotation.TestApi;  import android.net.ConnectivityMetricsEvent; @@ -41,7 +42,7 @@ public class IpConnectivityLog {      /** @hide */      public static final String SERVICE_NAME = "connmetrics"; - +    @NonNull      private IIpConnectivityMetrics mService;      /** @@ -57,7 +58,7 @@ public class IpConnectivityLog {      /** @hide */      @VisibleForTesting -    public IpConnectivityLog(IIpConnectivityMetrics service) { +    public IpConnectivityLog(@NonNull IIpConnectivityMetrics service) {          mService = service;      } @@ -83,7 +84,7 @@ public class IpConnectivityLog {       * @return true if the event was successfully logged.       * @hide       */ -    public boolean log(ConnectivityMetricsEvent ev) { +    public boolean log(@NonNull ConnectivityMetricsEvent ev) {          if (!checkLoggerService()) {              if (DBG) {                  Log.d(TAG, SERVICE_NAME + " service was not ready"); @@ -109,7 +110,7 @@ public class IpConnectivityLog {       * @param data is a Parcelable instance representing the event.       * @return true if the event was successfully logged.       */ -    public boolean log(long timestamp, Event data) { +    public boolean log(long timestamp, @NonNull Event data) {          ConnectivityMetricsEvent ev = makeEv(data);          ev.timestamp = timestamp;          return log(ev); @@ -121,7 +122,7 @@ public class IpConnectivityLog {       * @param data is a Parcelable instance representing the event.       * @return true if the event was successfully logged.       */ -    public boolean log(String ifname, Event data) { +    public boolean log(@NonNull String ifname, @NonNull Event data) {          ConnectivityMetricsEvent ev = makeEv(data);          ev.ifname = ifname;          return log(ev); @@ -135,7 +136,7 @@ public class IpConnectivityLog {       * @param data is a Parcelable instance representing the event.       * @return true if the event was successfully logged.       */ -    public boolean log(Network network, int[] transports, Event data) { +    public boolean log(@NonNull Network network, @NonNull int[] transports, @NonNull Event data) {          return log(network.netId, transports, data);      } @@ -147,7 +148,7 @@ public class IpConnectivityLog {       * @param data is a Parcelable instance representing the event.       * @return true if the event was successfully logged.       */ -    public boolean log(int netid, int[] transports, Event data) { +    public boolean log(int netid, @NonNull int[] transports, @NonNull Event data) {          ConnectivityMetricsEvent ev = makeEv(data);          ev.netId = netid;          ev.transports = BitUtils.packBits(transports); @@ -159,7 +160,7 @@ public class IpConnectivityLog {       * @param data is a Parcelable instance representing the event.       * @return true if the event was successfully logged.       */ -    public boolean log(Event data) { +    public boolean log(@NonNull Event data) {          return log(makeEv(data));      } diff --git a/core/java/android/net/metrics/ValidationProbeEvent.java b/core/java/android/net/metrics/ValidationProbeEvent.java index 052758da7aba..45b665d45cc5 100644 --- a/core/java/android/net/metrics/ValidationProbeEvent.java +++ b/core/java/android/net/metrics/ValidationProbeEvent.java @@ -17,6 +17,7 @@  package android.net.metrics;  import android.annotation.IntDef; +import android.annotation.NonNull;  import android.annotation.SystemApi;  import android.annotation.TestApi;  import android.os.Parcel; @@ -81,7 +82,7 @@ public final class ValidationProbeEvent implements IpConnectivityLog.Event {      /**       * Utility to create an instance of {@link ValidationProbeEvent}.       */ -    public static class Builder { +    public static final class Builder {          private long mDurationMs;          private int mProbeType;          private int mReturnCode; @@ -89,6 +90,7 @@ public final class ValidationProbeEvent implements IpConnectivityLog.Event {          /**           * Set the duration of the probe in milliseconds.           */ +        @NonNull          public Builder setDurationMs(long durationMs) {              mDurationMs = durationMs;              return this; @@ -97,6 +99,7 @@ public final class ValidationProbeEvent implements IpConnectivityLog.Event {          /**           * Set the probe type based on whether it was the first validation.           */ +        @NonNull          public Builder setProbeType(int probeType, boolean firstValidation) {              mProbeType = makeProbeType(probeType, firstValidation);              return this; @@ -105,6 +108,7 @@ public final class ValidationProbeEvent implements IpConnectivityLog.Event {          /**           * Set the return code of the probe.           */ +        @NonNull          public Builder setReturnCode(int returnCode) {              mReturnCode = returnCode;              return this; @@ -113,6 +117,7 @@ public final class ValidationProbeEvent implements IpConnectivityLog.Event {          /**           * Create a new {@link ValidationProbeEvent}.           */ +        @NonNull          public ValidationProbeEvent build() {              return new ValidationProbeEvent(mDurationMs, mProbeType, mReturnCode);          } diff --git a/core/java/android/os/ServiceSpecificException.java b/core/java/android/os/ServiceSpecificException.java index 3b0f26ae8867..03d5d3e195e0 100644 --- a/core/java/android/os/ServiceSpecificException.java +++ b/core/java/android/os/ServiceSpecificException.java @@ -15,6 +15,7 @@   */  package android.os; +import android.annotation.Nullable;  import android.annotation.SystemApi;  /** @@ -34,7 +35,7 @@ import android.annotation.SystemApi;  public class ServiceSpecificException extends RuntimeException {      public final int errorCode; -    public ServiceSpecificException(int errorCode, String message) { +    public ServiceSpecificException(int errorCode, @Nullable String message) {          super(message);          this.errorCode = errorCode;      }  |